Skip to content

Commit 85d7d56

Browse files
committed
Added push interval metric
1 parent 4d480d1 commit 85d7d56

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

apps/hip-3-pusher/src/pusher/metrics.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,8 @@ def _init_metrics(self):
3333
name="hip_3_pusher_failed_push_count",
3434
description="Number of failed push attempts",
3535
)
36+
self.push_interval_histogram = self.meter.create_histogram(
37+
name="hip_3_pusher_push_interval",
38+
description="Interval between push requests (seconds)",
39+
unit="s",
40+
)

apps/hip-3-pusher/src/pusher/publisher.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import asyncio
2+
import time
3+
24
from loguru import logger
35
from pathlib import Path
46

@@ -46,6 +48,7 @@ def __init__(self, config: Config, price_state: PriceState, metrics: Metrics):
4648
self.price_state = price_state
4749
self.metrics = metrics
4850
self.metrics_labels = {"dex": self.market_name}
51+
self.last_push_time = time.time()
4952

5053
async def run(self):
5154
while True:
@@ -98,6 +101,8 @@ def publish(self):
98101
else:
99102
logger.debug("push disabled")
100103

104+
self._record_push_interval_metric()
105+
101106
def _send_update(self, oracle_pxs, all_mark_pxs, external_perp_pxs):
102107
for exchange in self.publisher_exchanges:
103108
try:
@@ -120,3 +125,10 @@ def _handle_response(self, response):
120125
elif status == "err":
121126
self.metrics.failed_push_counter.add(1, self.metrics_labels)
122127
logger.error("publish: publish error: {}", response)
128+
129+
def _record_push_interval_metric(self):
130+
now = time.time()
131+
push_interval = now - self.last_push_time
132+
self.metrics.push_interval_histogram.record(push_interval, self.metrics_labels)
133+
self.last_push_time = now
134+
logger.debug("Push interval: {}", push_interval)

0 commit comments

Comments
 (0)