Skip to content

Commit cabfde9

Browse files
committed
something
Signed-off-by: Cuong Nguyen <can@anyscale.com>
1 parent aa6da60 commit cabfde9

30 files changed

+302
-134
lines changed

BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ ray_cc_library(
119119
],
120120
),
121121
deps = [
122+
"//src/ray/observability:fake_metric",
122123
"//src/ray/observability:fake_ray_event_recorder",
123124
],
124125
)

src/mock/ray/gcs/gcs_actor_manager.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <gmock/gmock.h>
1818

1919
#include "ray/gcs/gcs_actor_manager.h"
20+
#include "ray/observability/fake_metric.h"
2021
#include "ray/observability/fake_ray_event_recorder.h"
2122

2223
namespace ray {
@@ -38,7 +39,9 @@ class MockGcsActorManager : public GcsActorManager {
3839
[](const ActorID &) {},
3940
worker_client_pool,
4041
/*ray_event_recorder=*/fake_ray_event_recorder_,
41-
/*session_name=*/"") {}
42+
/*session_name=*/"",
43+
/*actor_by_state_gauge=*/fake_actor_by_state_gauge_,
44+
/*gcs_actor_by_state_gauge=*/fake_gcs_actor_by_state_gauge_) {}
4245

4346
MOCK_METHOD(void,
4447
HandleRegisterActor,
@@ -85,6 +88,8 @@ class MockGcsActorManager : public GcsActorManager {
8588

8689
instrumented_io_context mock_io_context_do_not_use_;
8790
observability::FakeRayEventRecorder fake_ray_event_recorder_;
91+
observability::FakeGauge fake_actor_by_state_gauge_;
92+
observability::FakeGauge fake_gcs_actor_by_state_gauge_;
8893
};
8994

9095
} // namespace gcs

src/mock/ray/gcs/gcs_placement_group_manager.h

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,27 @@
1717
#include <gmock/gmock.h>
1818

1919
#include "ray/gcs/gcs_placement_group_manager.h"
20+
#include "ray/observability/fake_metric.h"
2021

2122
namespace ray {
2223
namespace gcs {
2324

2425
class MockGcsPlacementGroupManager : public GcsPlacementGroupManager {
2526
public:
26-
explicit MockGcsPlacementGroupManager(GcsResourceManager &gcs_resource_manager)
27-
: GcsPlacementGroupManager(context_, gcs_resource_manager) {}
27+
explicit MockGcsPlacementGroupManager(
28+
GcsResourceManager &gcs_resource_manager,
29+
ray::observability::MetricInterface &placement_group_gauge,
30+
ray::observability::MetricInterface
31+
&placement_group_creation_latency_in_ms_histogram,
32+
ray::observability::MetricInterface
33+
&placement_group_scheduling_latency_in_ms_histogram,
34+
ray::observability::MetricInterface &placement_group_count_gauge)
35+
: GcsPlacementGroupManager(context_,
36+
gcs_resource_manager,
37+
placement_group_gauge,
38+
placement_group_creation_latency_in_ms_histogram,
39+
placement_group_scheduling_latency_in_ms_histogram,
40+
placement_group_count_gauge) {}
2841
MOCK_METHOD(void,
2942
HandleCreatePlacementGroup,
3043
(rpc::CreatePlacementGroupRequest request,

src/ray/common/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,4 +428,4 @@ ray_cc_library(
428428
deps = [
429429
"//src/ray/stats:stats_lib",
430430
],
431-
)
431+
)

src/ray/common/metrics.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ inline ray::stats::Gauge GetActorMetric() {
2525
/// we use the "Source" required label.
2626
return ray::stats::Gauge{
2727
/*name=*/"actors",
28-
/*description=*/"An actor can be in one of DEPENDENCIES_UNREADY, PENDING_CREATION, ALIVE, "
29-
"ALIVE_IDLE, ALIVE_RUNNING_TASKS, RESTARTING, or DEAD states. ",
28+
/*description=*/
29+
"An actor can be in one of DEPENDENCIES_UNREADY, PENDING_CREATION, ALIVE, "
30+
"ALIVE_IDLE, ALIVE_RUNNING_TASKS, RESTARTING, or DEAD states. "
3031
"An actor is considered ALIVE_IDLE if it is not executing any tasks.",
3132
/*unit=*/"",
3233
// State: the actor state, which is from rpc::ActorTableData::ActorState,

src/ray/core_worker/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ ray_cc_library(
3232
":reference_count",
3333
":shutdown_coordinator",
3434
":task_event_buffer",
35+
"//src/ray/common:metrics",
3536
"//src/ray/common:protobuf_utils",
3637
"//src/ray/common/cgroup:cgroup_context",
3738
"//src/ray/common/cgroup:cgroup_manager",
3839
"//src/ray/common/cgroup:constants",
39-
"//src/ray/common:metrics",
4040
"//src/ray/core_worker/task_execution:task_receiver",
4141
"//src/ray/core_worker/task_submission:normal_task_submitter",
4242
"//src/ray/core_worker_rpc_client:core_worker_client",

src/ray/core_worker/core_worker.cc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -231,16 +231,16 @@ void TaskCounter::RecordMetrics() {
231231
} else {
232232
running_tasks = 1.0;
233233
}
234-
ray::stats::STATS_actors.Record(idle,
235-
{{"State", "ALIVE_IDLE"},
236-
{"Name", actor_name_},
237-
{"Source", "executor"},
238-
{"JobId", job_id_}});
239-
ray::stats::STATS_actors.Record(running_tasks,
240-
{{"State", "ALIVE_RUNNING_TASKS"},
241-
{"Name", actor_name_},
242-
{"Source", "executor"},
243-
{"JobId", job_id_}});
234+
actor_by_state_gauge_.Record(idle,
235+
{{"State"sv, "ALIVE_IDLE"},
236+
{"Name"sv, actor_name_},
237+
{"Source"sv, "executor"},
238+
{"JobId"sv, job_id_}});
239+
actor_by_state_gauge_.Record(running_tasks,
240+
{{"State"sv, "ALIVE_RUNNING_TASKS"},
241+
{"Name"sv, actor_name_},
242+
{"Source"sv, "executor"},
243+
{"JobId"sv, job_id_}});
244244
}
245245
}
246246

src/ray/core_worker/tests/core_worker_test.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,8 @@ class CoreWorkerTest : public ::testing::Test {
291291
pubsub::Publisher *object_info_publisher_;
292292
std::shared_ptr<TaskManager> task_manager_;
293293
std::shared_ptr<CoreWorker> core_worker_;
294-
ray::observability::FakeMetric fake_task_by_state_gauge_;
295-
ray::observability::FakeMetric fake_actor_by_state_gauge_;
294+
ray::observability::FakeGauge fake_task_by_state_gauge_;
295+
ray::observability::FakeGauge fake_actor_by_state_gauge_;
296296
std::unique_ptr<FakePeriodicalRunner> fake_periodical_runner_;
297297

298298
// Controllable time for testing publisher timeouts

src/ray/gcs/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,10 @@ ray_cc_library(
254254
"//src/ray/common:protobuf_utils",
255255
"//src/ray/common:runtime_env",
256256
"//src/ray/core_worker_rpc_client:core_worker_client_pool",
257+
"//src/ray/observability:metric_interface",
257258
"//src/ray/observability:ray_driver_job_definition_event",
258259
"//src/ray/observability:ray_driver_job_execution_event",
259260
"//src/ray/observability:ray_event_recorder_interface",
260-
"//src/ray/observability:metric_interface",
261261
"//src/ray/pubsub:gcs_publisher",
262262
"//src/ray/stats:stats_metric",
263263
"//src/ray/util:event",
@@ -512,9 +512,9 @@ ray_cc_library(
512512
":grpc_service_interfaces",
513513
":grpc_services",
514514
":metrics",
515+
"//src/ray/common:metrics",
515516
"//src/ray/core_worker_rpc_client:core_worker_client",
516517
"//src/ray/core_worker_rpc_client:core_worker_client_pool",
517-
"//src/ray/common:metrics",
518518
"//src/ray/gcs/store_client",
519519
"//src/ray/gcs/store_client:in_memory_store_client",
520520
"//src/ray/gcs/store_client:observable_store_client",

src/ray/gcs/gcs_placement_group_manager.cc

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,16 @@ GcsPlacementGroupManager::GcsPlacementGroupManager(
6161
ray::observability::MetricInterface &placement_group_gauge,
6262
ray::observability::MetricInterface &placement_group_creation_latency_in_ms_histogram,
6363
ray::observability::MetricInterface
64-
&placement_group_scheduling_latency_in_ms_histogram)
64+
&placement_group_scheduling_latency_in_ms_histogram,
65+
ray::observability::MetricInterface &placement_group_count_gauge)
6566
: io_context_(io_context),
6667
gcs_resource_manager_(gcs_resource_manager),
6768
placement_group_gauge_(placement_group_gauge),
6869
placement_group_creation_latency_in_ms_histogram_(
6970
placement_group_creation_latency_in_ms_histogram),
7071
placement_group_scheduling_latency_in_ms_histogram_(
71-
placement_group_scheduling_latency_in_ms_histogram) {}
72+
placement_group_scheduling_latency_in_ms_histogram),
73+
placement_group_count_gauge_(placement_group_count_gauge) {}
7274

7375
GcsPlacementGroupManager::GcsPlacementGroupManager(
7476
instrumented_io_context &io_context,
@@ -79,7 +81,8 @@ GcsPlacementGroupManager::GcsPlacementGroupManager(
7981
ray::observability::MetricInterface &placement_group_gauge,
8082
ray::observability::MetricInterface &placement_group_creation_latency_in_ms_histogram,
8183
ray::observability::MetricInterface
82-
&placement_group_scheduling_latency_in_ms_histogram)
84+
&placement_group_scheduling_latency_in_ms_histogram,
85+
ray::observability::MetricInterface &placement_group_count_gauge)
8386
: io_context_(io_context),
8487
gcs_placement_group_scheduler_(scheduler),
8588
gcs_table_storage_(gcs_table_storage),
@@ -89,7 +92,8 @@ GcsPlacementGroupManager::GcsPlacementGroupManager(
8992
placement_group_creation_latency_in_ms_histogram_(
9093
placement_group_creation_latency_in_ms_histogram),
9194
placement_group_scheduling_latency_in_ms_histogram_(
92-
placement_group_scheduling_latency_in_ms_histogram) {
95+
placement_group_scheduling_latency_in_ms_histogram),
96+
placement_group_count_gauge_(placement_group_count_gauge) {
9397
placement_group_state_counter_.reset(
9498
new CounterMap<rpc::PlacementGroupTableData::PlacementGroupState>());
9599
placement_group_state_counter_->SetOnChangeCallback(
@@ -992,12 +996,12 @@ std::string GcsPlacementGroupManager::DebugString() const {
992996
}
993997

994998
void GcsPlacementGroupManager::RecordMetrics() const {
995-
placement_group_gauge_.Record(pending_placement_groups_.size(),
996-
{{"State"sv, "Pending"}});
997-
placement_group_gauge_.Record(registered_placement_groups_.size(),
998-
{{"State"sv, "Registered"}});
999-
placement_group_gauge_.Record(infeasible_placement_groups_.size(),
1000-
{{"State"sv, "Infeasible"}});
999+
placement_group_count_gauge_.Record(pending_placement_groups_.size(),
1000+
{{"State"sv, "Pending"}});
1001+
placement_group_count_gauge_.Record(registered_placement_groups_.size(),
1002+
{{"State"sv, "Registered"}});
1003+
placement_group_count_gauge_.Record(infeasible_placement_groups_.size(),
1004+
{{"State"sv, "Infeasible"}});
10011005
if (usage_stats_client_) {
10021006
usage_stats_client_->RecordExtraUsageCounter(usage::TagKey::PG_NUM_CREATED,
10031007
lifetime_num_placement_groups_created_);

0 commit comments

Comments
 (0)