Aller au contenu
English

createOpenTelemetryObserver

import { createOpenTelemetryObserver } from "@elie-laloum/outpost/opentelemetry";

Crée une instrumentation OpenTelemetry à partir de votre tracer et de votre meter. Attachez son sink au hub passé dans observation pour obtenir des spans de workflow, de tâche, de dispatch et d’opération reliés entre eux, ou passez l’observateur comme telemetry à workflow.start() ou dispatch(). Les erreurs d’instrumentation vont à onError ; close() termine les spans ouverts sans vider ni arrêter le SDK.

Exemple complet et règles détaillées.

  • optionsRequis
    OpenTelemetryOptions
    Tracer, meter et callback d’erreur isolée injectés pour la télémétrie des workflows et dispatchs.
  • options.tracerRequis
    Tracer
    Tracer OpenTelemetry utilisé pour créer les spans d’exécution.
  • options.meterRequis
    Meter
    Meter OpenTelemetry pour les compteurs d’exécutions, histogrammes de durée et compteurs de tokens d’Outpost (outpost.workflow., outpost.task., outpost.dispatch.*, outpost.agent.tokens).
  • options.onErrorOptionnel
    ((error: unknown) => void) | undefined
    Reçoit les erreurs levées par le tracer ou le meter pendant l’enregistrement des workflows et des dispatchs ; elles ne changent jamais le résultat d’une exécution. Les erreurs levées par onError sont ignorées.

OpenTelemetryObserver

export declare function createOpenTelemetryObserver(
  options: OpenTelemetryOptions,
): OpenTelemetryObserver;