record last received ws message

This commit is contained in:
wphan
2023-12-07 10:55:03 -08:00
parent 281cffd54f
commit 0e7a056825
2 changed files with 37 additions and 1 deletions

View File

@@ -38,6 +38,7 @@ enum METRIC_TYPES {
endpoint_response_times_histogram = 'endpoint_response_times_histogram',
endpoint_response_status = 'endpoint_response_status',
gpa_fetch_duration = 'gpa_fetch_duration',
last_ws_message_received_ts = 'last_ws_message_received_ts',
health_status = 'health_status',
}
@@ -109,6 +110,20 @@ healthStatusGauge.addCallback((obs: ObservableResult) => {
obs.observe(healthStatus, {});
});
let lastWsMsgReceivedTs = 0;
const setLastReceivedWsMsgTs = (ts: number) => {
lastWsMsgReceivedTs = ts;
};
const lastWsReceivedTsGauge = meter.createObservableGauge(
METRIC_TYPES.last_ws_message_received_ts,
{
description: 'Timestamp of last received websocket message',
}
);
lastWsReceivedTsGauge.addCallback((obs: ObservableResult) => {
obs.observe(lastWsMsgReceivedTs, {});
});
const endpointResponseTimeHistogram = meter.createHistogram(
METRIC_TYPES.endpoint_response_times_histogram,
{
@@ -202,4 +217,5 @@ export {
gpaFetchDurationHistogram,
responseStatusCounter,
handleHealthCheck,
setLastReceivedWsMsgTs,
};