diff --git a/src/ray/raylet/scheduling_queue.cc b/src/ray/raylet/scheduling_queue.cc index d5dfe87ed..df4e15e85 100644 --- a/src/ray/raylet/scheduling_queue.cc +++ b/src/ray/raylet/scheduling_queue.cc @@ -504,13 +504,13 @@ std::string SchedulingQueue::DebugString() const { } void SchedulingQueue::RecordMetrics() const { - for (size_t i = 0; i < static_cast(ray::raylet::TaskState::kNumTaskQueues); i++) { - TaskState task_state = static_cast(i); - stats::SchedulingQueueStats().Record( - static_cast(GetTaskQueue(task_state)->GetTasks().size()), - {{stats::ValueTypeKey, - std::string("num_") + GetTaskStateString(task_state) + "_tasks"}}); - } + stats::NumPlaceableTasks().Record( + GetTaskQueue(TaskState::PLACEABLE)->GetTasks().size()); + stats::NumPlaceableTasks().Record(GetTaskQueue(TaskState::WAITING)->GetTasks().size()); + stats::NumPlaceableTasks().Record(GetTaskQueue(TaskState::READY)->GetTasks().size()); + stats::NumPlaceableTasks().Record(GetTaskQueue(TaskState::RUNNING)->GetTasks().size()); + stats::NumPlaceableTasks().Record( + GetTaskQueue(TaskState::INFEASIBLE)->GetTasks().size()); } } // namespace raylet diff --git a/src/ray/raylet/task_dependency_manager.cc b/src/ray/raylet/task_dependency_manager.cc index 173e7bba4..6698c4071 100644 --- a/src/ray/raylet/task_dependency_manager.cc +++ b/src/ray/raylet/task_dependency_manager.cc @@ -506,16 +506,10 @@ std::string TaskDependencyManager::DebugString() const { } void TaskDependencyManager::RecordMetrics() const { - stats::TaskDependencyManagerStats().Record( - task_dependencies_.size(), {{stats::ValueTypeKey, "num_task_dependencies"}}); - stats::TaskDependencyManagerStats().Record( - required_tasks_.size(), {{stats::ValueTypeKey, "num_required_tasks"}}); - stats::TaskDependencyManagerStats().Record( - required_objects_.size(), {{stats::ValueTypeKey, "num_required_objects"}}); - stats::TaskDependencyManagerStats().Record( - local_objects_.size(), {{stats::ValueTypeKey, "num_local_objects"}}); - stats::TaskDependencyManagerStats().Record( - pending_tasks_.size(), {{stats::ValueTypeKey, "num_pending_tasks"}}); + stats::NumSubscribedTasks().Record(task_dependencies_.size()); + stats::NumRequiredTasks().Record(required_tasks_.size()); + stats::NumRequiredObjects().Record(required_objects_.size()); + stats::NumPendingTasks().Record(pending_tasks_.size()); } bool TaskDependencyManager::GetOwnerAddress(const ObjectID &object_id, diff --git a/src/ray/stats/metric_defs.h b/src/ray/stats/metric_defs.h index c4227a8f0..1bfce58b4 100644 --- a/src/ray/stats/metric_defs.h +++ b/src/ray/stats/metric_defs.h @@ -89,14 +89,38 @@ static Gauge ObjectManagerProfileEvents("object_manager_num_buffered_profile_eve "Number of locally-buffered profile events.", "events"); -static Gauge TaskDependencyManagerStats("task_dependency_manager_stats", - "Stat the metric values of task dependency.", - "pcs", {ValueTypeKey}); +static Gauge NumSubscribedTasks( + "num_subscribed_tasks", + "The number of tasks that are subscribed to object dependencies.", "tasks"); -static Gauge SchedulingQueueStats("scheduling_queue_stats", - "Stats the metric values of scheduling queue.", "pcs", - {ValueTypeKey}); +static Gauge NumRequiredTasks("num_required_tasks", + "The number of tasks whose output object(s) are " + "required by another subscribed task.", + "tasks"); -static Gauge ConnectionPoolStats("connection_pool_stats", - "Stats the connection pool metrics.", "pcs", - {ValueTypeKey}); +static Gauge NumRequiredObjects( + "num_required_objects", + "The number of objects that are required by a subscribed task.", "objects"); + +static Gauge NumPendingTasks("num_pending_tasks", + "The number of tasks that are pending execution.", "tasks"); + +static Gauge NumPlaceableTasks( + "num_placeable_tasks", + "The number of tasks in the scheduler that are in the 'placeable' state.", "tasks"); + +static Gauge NumWaitingTasks( + "num_waiting_tasks", + "The number of tasks in the scheduler that are in the 'waiting' state.", "tasks"); + +static Gauge NumReadyTasks( + "num_ready_tasks", + "The number of tasks in the scheduler that are in the 'ready' state.", "tasks"); + +static Gauge NumRunningTasks( + "num_running_tasks", + "The number of tasks in the scheduler that are in the 'running' state.", "tasks"); + +static Gauge NumInfeasibleTasks( + "num_infeasible_tasks", + "The number of tasks in the scheduler that are in the 'infeasible' state.", "tasks"); diff --git a/src/ray/stats/tag_defs.h b/src/ray/stats/tag_defs.h index 19e35ac68..cbd5ac39b 100644 --- a/src/ray/stats/tag_defs.h +++ b/src/ray/stats/tag_defs.h @@ -38,6 +38,4 @@ static const TagKeyType DriverPidKey = TagKeyType::Register("DriverPid"); static const TagKeyType ResourceNameKey = TagKeyType::Register("ResourceName"); -static const TagKeyType ValueTypeKey = TagKeyType::Register("ValueType"); - static const TagKeyType ActorIdKey = TagKeyType::Register("ActorId");