Telemetry helpers and default logging for Codex events.
Summary
Functions
Attaches the default logger to thread telemetry events.
Configures OpenTelemetry exporting if the required environment variables are present.
Emits a telemetry event with the given measurements and metadata.
Emits telemetry for realtime audio receive events.
Emits telemetry for realtime audio send events.
Emits telemetry for realtime session start.
Emits telemetry for realtime session stop.
Emits telemetry for voice pipeline start.
Emits telemetry for voice pipeline stop.
Emits telemetry for voice synthesis start.
Emits telemetry for voice synthesis stop.
Emits telemetry for voice transcription start.
Emits telemetry for voice transcription stop.
Types
@type telemetry_event() :: [atom()]
Functions
@spec attach_default_logger(keyword()) :: :ok | {:error, :already_exists}
Attaches the default logger to thread telemetry events.
@spec configure(keyword()) :: :ok
Configures OpenTelemetry exporting if the required environment variables are present.
Reads CODEX_OTLP_ENDPOINT and optional CODEX_OTLP_HEADERS from the provided :env map
(defaults to System.get_env/0) and wires the exporter when set.
@spec emit(telemetry_event(), map(), map()) :: :ok
Emits a telemetry event with the given measurements and metadata.
@spec realtime_audio_receive(map()) :: :ok
Emits telemetry for realtime audio receive events.
@spec realtime_audio_send(map()) :: :ok
Emits telemetry for realtime audio send events.
@spec realtime_session_start(map()) :: :ok
Emits telemetry for realtime session start.
Emits telemetry for realtime session stop.
@spec voice_pipeline_start(map()) :: :ok
Emits telemetry for voice pipeline start.
Emits telemetry for voice pipeline stop.
@spec voice_synthesis_start(map()) :: :ok
Emits telemetry for voice synthesis start.
Emits telemetry for voice synthesis stop.
@spec voice_transcription_start(map()) :: :ok
Emits telemetry for voice transcription start.
Emits telemetry for voice transcription stop.