Something went wrong. Try again.
Monorepo for Tangled tangled.org
Something went wrong. Try again.
1234567891011121314151617import { registry } from "#lib/server/metrics.ts";import type { DataPoint } from "#lib/server/otlp.ts";
export const points = (name: string, labels: Record<string, string> = {}): DataPoint[] => { const [{ metrics }] = registry.payload({}, 0n, 0n).resourceMetrics[0].scopeMetrics; const metric = metrics.find((m) => m.name === name); const dataPoints = (metric?.sum ?? metric?.histogram ?? metric?.gauge)?.dataPoints ?? []; return dataPoints.filter((p) => Object.entries(labels).every(([key, value]) => p.attributes?.some((a) => a.key === key && a.value.stringValue === value) ) );};
export const total = (name: string, labels: Record<string, string> = {}): number => points(name, labels).reduce((sum, p) => sum + Number(p.asInt ?? p.count), 0);