Observability
VoiceGateway includes three built-in observability features that run as middleware around every provider call. All three are enabled by default and can be toggled independently.
Observability
VoiceGateway includes three built-in observability features that run as middleware around every provider call. All three are enabled by default and can be toggled independently.
Configuration
observability:
latency_tracking: true
cost_tracking: true
request_logging: trueThe three flags
latency_tracking
Default: true
When enabled, VoiceGateway measures time-to-first-byte (TTFB) and total latency for every provider call. Latency data is stored in SQLite and available through the dashboard, CLI (voicegw status), and HTTP API (/v1/metrics).
When disabled, provider instances are returned without the latency monitoring wrapper. This reduces overhead slightly but removes all latency visibility.
Related config:
latency:
ttfb_warning_ms: 500.0
percentiles: [50.0, 95.0, 99.0]ttfb_warning_ms-- a warning is logged when TTFB exceeds this thresholdpercentiles-- which percentiles to compute and report
cost_tracking
Default: true
When enabled, VoiceGateway estimates the cost of each provider call based on usage (tokens, characters, audio seconds) and records it in the SQLite database. Cost data powers the dashboard cost views, the voicegw costs CLI command, and per-project budget enforcement.
When disabled, no cost records are written. Budget enforcement (budget_action) will not trigger because there is no spend data to compare against.
::: warning
Disabling cost_tracking also effectively disables budget enforcement for all projects, regardless of their budget_action setting.
:::
Related config:
cost_tracking:
enabled: true
db_path: ~/.config/voicegateway/voicegw.db
daily_budget_alert: 100.00request_logging
Default: true
When enabled, VoiceGateway logs metadata about each provider call: timestamp, provider, model, modality, project, latency, and cost. Logs are stored in SQLite and visible in the dashboard request log view and through the voicegw logs CLI command.
When disabled, no request log entries are written. The dashboard log view will be empty.
Disabling all observability
To run VoiceGateway with zero overhead from observability middleware:
observability:
latency_tracking: false
cost_tracking: false
request_logging: falseThis is useful for benchmarking raw provider performance or in environments where you handle monitoring externally.
Checking current settings
voicegw statusThe status output includes which observability features are enabled.
See: voicegw.yaml Reference, Projects, Environment Variables