influxdata/influxdb · error · Error

Tracing config error

Error message

Tracing config error: {0}

What it means

A serve-command `Error` variant (`TracingConfig`) wrapping `trace_exporters::Error` via `#[from]`. It is returned when the tracing/exporters subsystem fails to initialize from the provided tracing configuration (e.g. invalid exporter endpoint or trace span settings). Startup halts with this error before the server begins serving.

Solutions

  1. Verify the tracing exporter name and endpoint URL are valid and reachable.
  2. Fix or remove the tracing-related flags/env vars to use defaults.
  3. Check the wrapped trace_exporters::Error source for the exact cause.

Example fix

// before
influxdb3 serve --tracing-exporter otlp --tracing-endpoint "localhost:bad port"
// after
influxdb3 serve --tracing-exporter otlp --tracing-endpoint http://127.0.0.1:4317
Defensive patterns

Strategy: validation

Validate before calling

url::Url::parse(&tracing_endpoint).expect("tracing endpoint must be a valid URL");
assert!(matches!(exporter.as_str(), "" | "otlp"), "unsupported tracing exporter");

Try / catch

match serve(config) {
    Err(serve::Error::TracingConfig(e)) => eprintln!("tracing config invalid: {}", e),
    Err(e) => eprintln!("serve failed: {}", e),
    Ok(_) => {}
}

Prevention

When it happens

Trigger: Starting `influxdb3 serve` with tracing flags/env (`--tracing-exporter`, tracing endpoint, etc.) that cause trace_exporters initialization to fail.

Common situations: Pointing the tracing exporter at an invalid or unreachable URL, specifying an unsupported exporter format, malformed tracing config values from env vars.

Understand the failure class

Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/eb1a130be413eca3. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3/src/commands/serve.rs:120

pub const DEFAULT_HTTP_BIND_ADDR: &str = "0.0.0.0:8181";

/// The default bind address for admin token recovery HTTP API.
pub const DEFAULT_ADMIN_TOKEN_RECOVERY_BIND_ADDR: &str = "127.0.0.1:8182";

pub const DEFAULT_TELEMETRY_ENDPOINT: &str = "https://telemetry.v3.influxdata.com";

const MIN_SNAPSHOTS_TO_LOAD_ON_START: u64 = 100;

mod cli_params;
#[cfg(test)]
mod tests;

#[derive(Debug, Error)]
pub enum Error {
    #[error("Cannot parse object store config: {0}")]
    ObjectStoreParsing(#[from] influxdb3_clap_blocks::object_store::ParseError),

    #[error("Tracing config error: {0}")]
    TracingConfig(#[from] trace_exporters::Error),

    #[error("Error initializing tokio runtime: {0}")]
    TokioRuntime(#[source] std::io::Error),

    #[error("Failed to bind address")]
    BindAddress(#[source] std::io::Error),

    #[error("Server error: {0}")]
    Server(#[source] influxdb3_server::Error),

    #[error("Token error: {0}")]
    TokenError(CatalogError),

    #[error("Write buffer error: {0}")]
    WriteBuffer(#[from] influxdb3_write::write_buffer::Error),

    #[error("invalid token: {0}")]

View on GitHub (pinned to 06200ef96b)