mirror of
https://github.com/aljazceru/ditto.git
synced 2026-01-31 11:04:20 +01:00
Update Prometheus metrics to conform to best practices
This commit is contained in:
@@ -2,12 +2,11 @@ import { register } from 'prom-client';
|
||||
|
||||
import { AppController } from '@/app.ts';
|
||||
import { DittoDB } from '@/db/DittoDB.ts';
|
||||
import { dbAvailableConnectionsGauge, dbPoolSizeGauge } from '@/metrics.ts';
|
||||
import { dbAvailableConnectionsGauge } from '@/metrics.ts';
|
||||
|
||||
/** Prometheus/OpenMetrics controller. */
|
||||
export const metricsController: AppController = async (c) => {
|
||||
// Update some metrics at request time.
|
||||
dbPoolSizeGauge.set(DittoDB.poolSize);
|
||||
dbAvailableConnectionsGauge.set(DittoDB.availableConnections);
|
||||
|
||||
const metrics = await register.metrics();
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
import { AppController } from '@/app.ts';
|
||||
import { Conf } from '@/config.ts';
|
||||
import { relayInfoController } from '@/controllers/nostr/relay-info.ts';
|
||||
import { relayConnectionsGauge, relayEventCounter, relayMessageCounter } from '@/metrics.ts';
|
||||
import { relayConnectionsGauge, relayEventsCounter, relayMessagesCounter } from '@/metrics.ts';
|
||||
import * as pipeline from '@/pipeline.ts';
|
||||
import { RelayError } from '@/RelayError.ts';
|
||||
import { Storages } from '@/storages.ts';
|
||||
@@ -54,10 +54,10 @@ function connectStream(socket: WebSocket, ip: string | undefined) {
|
||||
|
||||
const result = n.json().pipe(n.clientMsg()).safeParse(e.data);
|
||||
if (result.success) {
|
||||
relayMessageCounter.inc({ verb: result.data[0] });
|
||||
relayMessagesCounter.inc({ verb: result.data[0] });
|
||||
handleMsg(result.data);
|
||||
} else {
|
||||
relayMessageCounter.inc();
|
||||
relayMessagesCounter.inc();
|
||||
send(['NOTICE', 'Invalid message.']);
|
||||
}
|
||||
};
|
||||
@@ -130,7 +130,7 @@ function connectStream(socket: WebSocket, ip: string | undefined) {
|
||||
|
||||
/** Handle EVENT. Store the event. */
|
||||
async function handleEvent([_, event]: NostrClientEVENT): Promise<void> {
|
||||
relayEventCounter.inc({ kind: event.kind.toString() });
|
||||
relayEventsCounter.inc({ kind: event.kind.toString() });
|
||||
try {
|
||||
// This will store it (if eligible) and run other side-effects.
|
||||
await pipeline.handleEvent(event, AbortSignal.timeout(1000));
|
||||
|
||||
Reference in New Issue
Block a user