Observability
@connectum/otel connects RPC telemetry and application instrumentation to OpenTelemetry. Instrumentation decides what signals to create; provider/exporter configuration decides where those signals go.
Minimal RPC instrumentation
typescript
import { createOtelInterceptor } from '@connectum/otel';
const server = createServer({
services: [routes],
interceptors: [
createOtelInterceptor({
filter: ({ service }) => !service.includes('grpc.health'),
}),
],
});Choose the signal
| Need | Canonical guide |
|---|---|
Server/client RPC spans, propagation, traced() or traceAll() | Tracing |
| Automatic RPC instruments and application meters | Metrics |
| Structured records and trace correlation | Logging |
| OTLP endpoints, exporters, resource metadata, provider lifecycle | Backends and configuration |
Focused guides explain task behavior. Exact option fields belong to generated interfaces such as OtelInterceptorOptions and ProviderOptions.
Use the @connectum/otel module hub for installation, key entry points, source, and API routes. Avoid copying exporter tables into tracing or metrics pages; backend configuration is their canonical owner.