/** * Pluggable telemetry adapter interface. * * Implement this to route HotMesh's OpenTelemetry spans to your * observability backend (Honeycomb, Datadog, Grafana Tempo, etc.). * * The adapter's `connect()` method must register a global OTEL * TracerProvider BEFORE HotMesh workers start, so that HotMesh's * internal span creation is captured by the exporter. * * Usage: * ```typescript * import { LTTelemetryAdapter } from '@hotmeshio/long-tail'; * * class MyDatadogAdapter implements LTTelemetryAdapter { * async connect() { /* init OTEL SDK with Datadog exporter *​/ } * async disconnect() { /* shutdown SDK *​/ } * } * ``` */ export interface LTTelemetryAdapter { /** Initialize the OTEL SDK and register the global TracerProvider */ connect(): Promise; /** Graceful shutdown — flush pending spans and close the exporter */ disconnect(): Promise; /** * Optional URL template for deep-linking to a trace in your observability UI. * Use `{traceId}` as a placeholder, e.g.: * `https://ui.honeycomb.io/my-team/environments/prod/trace?trace_id={traceId}` */ traceUrl?: string; }