Skip to content

Commit 0cdef0c

Browse files
guptaakacopybara-github
authored andcommitted
Add cluster and job name labels to Shared Pathways Service metrics
PiperOrigin-RevId: 934608656
1 parent b38992d commit 0cdef0c

2 files changed

Lines changed: 38 additions & 14 deletions

File tree

pathwaysutils/experimental/shared_pathways_service/isc_pathways.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -278,14 +278,16 @@ def __init__(
278278
self.proxy_server_image = proxy_server_image
279279
self.proxy_options = proxy_options or ProxyOptions()
280280
self._old_jax_platforms = None
281-
raw_collector = (
282-
metrics_collector.MetricsCollector(self.project)
283-
if collect_service_metrics
284-
else None
285-
)
286-
self.metrics_collector = metrics_collector.SafeMetricsCollector(
287-
raw_collector
288-
)
281+
if collect_service_metrics:
282+
raw_collector = metrics_collector.MetricsCollector(
283+
self.project, self.cluster, self._proxy_job_name
284+
)
285+
self.metrics_collector = metrics_collector.SafeMetricsCollector(
286+
raw_collector
287+
)
288+
else:
289+
self.metrics_collector = metrics_collector.SafeMetricsCollector(None)
290+
289291
self.start_time = None
290292
self._old_jax_backend_target = None
291293
self._old_jax_platforms_config = None

pathwaysutils/experimental/shared_pathways_service/metrics_collector.py

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,15 @@
7575
class MetricsCollector:
7676
"""Collects usage metrics for Shared Pathways Service and reports to Cloud Monitoring."""
7777

78-
def __init__(self, project_id: str):
78+
def __init__(
79+
self,
80+
project_id: str,
81+
cluster_name: str,
82+
job_name: str | None = None,
83+
):
7984
self.project_id = project_id
85+
self.cluster_name = cluster_name
86+
self.job_name = job_name
8087
self.client = monitoring_v3.MetricServiceClient()
8188
self.project_name = f"projects/{self.project_id}"
8289
self._lock = threading.Lock()
@@ -185,6 +192,9 @@ def _send_metric(
185192
):
186193
"""Queues a single metric in the buffer."""
187194
default_labels = {"client_instance_id": self._instance_id}
195+
default_labels["cluster_name"] = self.cluster_name
196+
if self.job_name:
197+
default_labels["job_name"] = self.job_name
188198
if metric_labels:
189199
default_labels.update(metric_labels)
190200
_logger.info(
@@ -244,11 +254,23 @@ def _create_metric_descriptor(
244254
"description": description,
245255
"display_name": display_name,
246256
"unit": unit,
247-
"labels": [{
248-
"key": "client_instance_id",
249-
"value_type": "STRING",
250-
"description": "Unique execution identifier",
251-
}],
257+
"labels": [
258+
{
259+
"key": "client_instance_id",
260+
"value_type": "STRING",
261+
"description": "Unique execution identifier",
262+
},
263+
{
264+
"key": "cluster_name",
265+
"value_type": "STRING",
266+
"description": "GKE cluster name",
267+
},
268+
{
269+
"key": "job_name",
270+
"value_type": "STRING",
271+
"description": "Pathways proxy job name",
272+
},
273+
],
252274
},
253275
)
254276
_logger.info("Created metric descriptor: %s", metric_type)

0 commit comments

Comments
 (0)