Skip to content

Commit

Permalink
Add jetstream_request_success_count metric (#124)
Browse files Browse the repository at this point in the history
* first commit

* Count -> Counter

* typo
  • Loading branch information
Bslabe123 authored Aug 5, 2024
1 parent af1b918 commit 64ff9ea
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
10 changes: 9 additions & 1 deletion jetstream/core/metrics/prometheus.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import os
import shortuuid
from prometheus_client import Gauge
from prometheus_client import Counter, Gauge


class JetstreamMetricsCollector:
Expand Down Expand Up @@ -55,6 +55,11 @@ def __new__(cls):
documentation="Total time taken to start the Jetstream server",
labelnames=["id"],
)
_request_success_count = Counter(
name="jetstream_request_success_count",
documentation="Number of requests successfully completed",
labelnames=["id"],
)

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

def get_server_startup_latency_metric(self):
return self._server_startup_latency.labels(id=self._id)

def get_request_success_count_metric(self):
return self._request_success_count.labels(id=self._id)
2 changes: 2 additions & 0 deletions jetstream/core/orchestrator.py
Original file line number Diff line number Diff line change
Expand Up @@ -780,6 +780,8 @@ def _detokenize_thread(self, idx: int):
# Return some output samples.
request.enqueue_samples(results)
if request.complete.all():
if self._metrics_collector:
self._metrics_collector.get_request_success_count_metric().inc()
request.return_channel.close()
# Place the slot back on the free queue.
my_live_requests[slot] = None
Expand Down

0 comments on commit 64ff9ea

Please sign in to comment.