mirror of
https://github.com/wassname/ray.git
synced 2026-09-10 12:38:43 +08:00
[Dashboard] Dashboard basic modules (#10303)
* Improve reporter module * Add test_node_physical_stats to test_reporter.py * Add test_class_method_route_table to test_dashboard.py * Add stats_collector module for dashboard * Subscribe actor table data * Add log module for dashboard * Only enable test module in some test cases * CI run all dashboard tests * Reduce test timeout to 10s * Use fstring * Remove unused code * Remove blank line * Fix dashboard tests * Fix asyncio.create_task not available in py36; Fix lint * Add format_web_url to ray.test_utils * Update dashboard/modules/reporter/reporter_head.py Co-authored-by: Max Fitton <mfitton@berkeley.edu> * Add DictChangeItem type for Dict change * Refine logger.exception * Refine GET /api/launch_profiling * Remove disable_test_module fixture * Fix test_basic may fail Co-authored-by: 刘宝 <po.lb@antfin.com> Co-authored-by: Max Fitton <mfitton@berkeley.edu>
This commit is contained in:
co-authored by
Max Fitton
刘宝
parent
cb438be146
commit
e9b046306a
@@ -2146,6 +2146,7 @@ void CoreWorker::HandleGetCoreWorkerStats(const rpc::GetCoreWorkerStatsRequest &
|
||||
stats->set_current_task_func_desc(current_task_.FunctionDescriptor()->ToString());
|
||||
stats->set_ip_address(rpc_address_.ip_address());
|
||||
stats->set_port(rpc_address_.port());
|
||||
stats->set_job_id(worker_context_.GetCurrentJobID().Binary());
|
||||
stats->set_actor_id(actor_id_.Binary());
|
||||
auto used_resources_map = stats->mutable_used_resources();
|
||||
for (auto const &it : *resource_ids_) {
|
||||
|
||||
@@ -384,6 +384,8 @@ message CoreWorkerStats {
|
||||
string actor_title = 16;
|
||||
// Local reference table.
|
||||
repeated ObjectRefInfo object_refs = 17;
|
||||
// Job ID.
|
||||
bytes job_id = 18;
|
||||
}
|
||||
|
||||
message MetricPoint {
|
||||
|
||||
@@ -114,6 +114,10 @@ message WorkerStats {
|
||||
CoreWorkerStats core_worker_stats = 3;
|
||||
// Error string if fetching core worker stats failed.
|
||||
string fetch_error = 4;
|
||||
// Worker id of core worker.
|
||||
bytes worker_id = 5;
|
||||
// Worker language.
|
||||
Language language = 6;
|
||||
}
|
||||
|
||||
message GetNodeStatsReply {
|
||||
@@ -122,6 +126,7 @@ message GetNodeStatsReply {
|
||||
uint32 num_workers = 3;
|
||||
repeated TaskSpec infeasible_tasks = 4;
|
||||
repeated TaskSpec ready_tasks = 5;
|
||||
int32 pid = 6;
|
||||
}
|
||||
|
||||
message GlobalGCRequest {
|
||||
|
||||
@@ -3147,6 +3147,7 @@ void NodeManager::FlushObjectsToFree() {
|
||||
void NodeManager::HandleGetNodeStats(const rpc::GetNodeStatsRequest &node_stats_request,
|
||||
rpc::GetNodeStatsReply *reply,
|
||||
rpc::SendReplyCallback send_reply_callback) {
|
||||
reply->set_pid(getpid());
|
||||
for (const auto &task : local_queues_.GetTasks(TaskState::INFEASIBLE)) {
|
||||
if (task.GetTaskSpecification().IsActorCreationTask()) {
|
||||
auto infeasible_task = reply->add_infeasible_tasks();
|
||||
@@ -3211,6 +3212,10 @@ void NodeManager::HandleGetNodeStats(const rpc::GetNodeStatsRequest &node_stats_
|
||||
all_workers.push_back(driver);
|
||||
driver_ids.insert(driver->WorkerId());
|
||||
}
|
||||
if (all_workers.empty()) {
|
||||
send_reply_callback(Status::OK(), nullptr, nullptr);
|
||||
return;
|
||||
}
|
||||
for (const auto &worker : all_workers) {
|
||||
rpc::GetCoreWorkerStatsRequest request;
|
||||
request.set_intended_worker_id(worker->WorkerId().Binary());
|
||||
@@ -3220,7 +3225,9 @@ void NodeManager::HandleGetNodeStats(const rpc::GetNodeStatsRequest &node_stats_
|
||||
const ray::Status &status, const rpc::GetCoreWorkerStatsReply &r) {
|
||||
auto worker_stats = reply->add_workers_stats();
|
||||
worker_stats->set_pid(worker->GetProcess().GetId());
|
||||
worker_stats->set_worker_id(worker->WorkerId().Binary());
|
||||
worker_stats->set_is_driver(driver_ids.contains(worker->WorkerId()));
|
||||
worker_stats->set_language(worker->GetLanguage());
|
||||
reply->set_num_workers(reply->num_workers() + 1);
|
||||
if (status.ok()) {
|
||||
worker_stats->mutable_core_worker_stats()->MergeFrom(r.core_worker_stats());
|
||||
|
||||
Reference in New Issue
Block a user