@galaxy-stack/orbit-observability
v0.1.9
Published
Observability for Orbit - OpenTelemetry tracing, Prometheus metrics, structured logging
Readme
@galaxy-stack/orbit-observability
Metrics, tracing and structured logging primitives for Orbit services — Prometheus exposition format, OpenTelemetry-style spans.
Installation
bun add @galaxy-stack/orbit-observabilityUsage
import { MetricsRegistry } from './metrics';
import { Tracer } from './tracing';
const registry = new MetricsRegistry();
const hits = registry.createCounter({ name: 'app_hits_total', help: 'Hits' });
const duration = registry.createHistogram({
name: 'app_duration_seconds',
help: 'Request duration',
buckets: [0.1, 0.5, 1, 2.5],
});
hits.inc({ route: '/users' });
duration.observe({ route: '/users' }, 0.12);
// Prometheus exposition
console.log(registry.toPrometheusFormat());API
MetricsRegistry— counter / gauge / histogram with labels, default labels, Prometheus text formatHistogram.startTimer()— high-resolution duration observationLogger— leveled structured logging with child contexts and correlation ids
Notes
- Metric names must be unique per registry; registering the same name with a different type throws.
- Histogram buckets are cumulative;
+Infis added automatically.
