Skip to content

Commit 64ff9ea

Browse files
authored
Add jetstream_request_success_count metric (#124)
* first commit * Count -> Counter * typo
1 parent af1b918 commit 64ff9ea

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

jetstream/core/metrics/prometheus.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import os
1818
import shortuuid
19-
from prometheus_client import Gauge
19+
from prometheus_client import Counter, Gauge
2020

2121

2222
class JetstreamMetricsCollector:
@@ -55,6 +55,11 @@ def __new__(cls):
5555
documentation="Total time taken to start the Jetstream server",
5656
labelnames=["id"],
5757
)
58+
_request_success_count = Counter(
59+
name="jetstream_request_success_count",
60+
documentation="Number of requests successfully completed",
61+
labelnames=["id"],
62+
)
5863

5964
def get_prefill_backlog_metric(self):
6065
return self._prefill_backlog.labels(id=self._id)
@@ -70,3 +75,6 @@ def get_slots_used_percentage_metric(self, idx: int):
7075

7176
def get_server_startup_latency_metric(self):
7277
return self._server_startup_latency.labels(id=self._id)
78+
79+
def get_request_success_count_metric(self):
80+
return self._request_success_count.labels(id=self._id)

jetstream/core/orchestrator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,8 @@ def _detokenize_thread(self, idx: int):
780780
# Return some output samples.
781781
request.enqueue_samples(results)
782782
if request.complete.all():
783+
if self._metrics_collector:
784+
self._metrics_collector.get_request_success_count_metric().inc()
783785
request.return_channel.close()
784786
# Place the slot back on the free queue.
785787
my_live_requests[slot] = None

0 commit comments

Comments
 (0)