[Dashboard] display actor status and infeasible tasks (#6652)

* expose actor status and protobuf message of infeasible tasks

* move infeasible tasks into actor tree

* add pytest for displaying infeasible tasks info

* fix base64 decoding

* fix race condition after #6629 merged
This commit is contained in:
Yunzhi Zhang
2020-01-02 14:27:59 -08:00
committed by Philipp Moritz
parent 895f2727fb
commit 8a0a30b5f0
5 changed files with 95 additions and 36 deletions
+1
View File
@@ -87,6 +87,7 @@ message GetNodeStatsReply {
map<string, double> available_resources = 3;
map<string, double> total_resources = 4;
uint32 num_workers = 5;
repeated TaskSpec infeasible_tasks = 6;
}
// Service for inter-node-manager communication.
+4
View File
@@ -3018,6 +3018,10 @@ void NodeManager::HandleNodeStatsRequest(const rpc::GetNodeStatsRequest &request
(*available_resources_map)[pair.first] = 0.0;
}
}
for (const auto task : local_queues_.GetTasks(TaskState::INFEASIBLE)) {
auto infeasible_task = reply->add_infeasible_tasks();
infeasible_task->ParseFromString(task.GetTaskSpecification().Serialize());
}
// Ensure we never report an empty set of metrics.
if (!recorded_metrics_) {
RecordMetrics();