function TelemetryPlugin
Since 0.2.0
TelemetryPlugin(options?: TelemetryPluginOptions): IPlugin

Creates a telemetry plugin.

Registers an ITelemetryService under CAPABILITIES.TELEMETRY and, by default, adds request-span middleware at priority 30.

When no exporter is configured, a NoopTelemetryService is registered (zero dependencies). When exporter is 'otlp' or 'console', the plugin lazy-loads the OTel SDK and registers a real TelemetryService.

Examples

Example 1

// Noop mode (zero deps)
app.register(TelemetryPlugin({ serviceName: 'my-app' }));

// Real OTel mode with console exporter
app.register(TelemetryPlugin({
  serviceName: 'my-app',
  exporter: 'console',
}));

// Real OTel mode with OTLP exporter
app.register(TelemetryPlugin({
  serviceName: 'my-app',
  exporter: 'otlp',
  endpoint: 'http://otel:4318/v1/traces',
}));

Parameters

optional
options: TelemetryPluginOptions

Plugin configuration

Return Type

IPlugin

A plugin that registers ITelemetryService under 'telemetry'

Usage

import { TelemetryPlugin } from "telemetry-plugin/src/index.ts";