juspay/hyperswitch · error

Failed to build metrics exporter

Error message

Failed to build metrics exporter

What it means

Error "Failed to build metrics exporter" thrown in juspay/hyperswitch.

Source

Thrown at crates/router_env/src/logger/setup.rs:373

fn setup_metrics_pipeline(config: &config::LogTelemetry) {
    use opentelemetry_otlp::WithExportConfig;

    let exporter_result = opentelemetry_otlp::MetricExporter::builder()
        .with_tonic()
        .with_temporality(opentelemetry_sdk::metrics::Temporality::Cumulative)
        .with_export_config(get_opentelemetry_exporter_config(config))
        .build();

    let exporter = if config.ignore_errors {
        #[allow(clippy::print_stderr)] // The logger hasn't been initialized yet
        exporter_result
            .inspect_err(|error| eprintln!("Failed to build metrics exporter: {error:?}"))
            .ok();
        return;
    } else {
        // Safety: This is conditional, there is an option to avoid this behavior at runtime.
        #[allow(clippy::expect_used)]
        exporter_result.expect("Failed to build metrics exporter")
    };

    let reader = opentelemetry_sdk::metrics::PeriodicReader::builder(
        exporter,
        // The runtime would have to be updated if a different web framework is used
        opentelemetry_sdk::runtime::TokioCurrentThread,
    )
    .with_interval(Duration::from_secs(3))
    .with_timeout(Duration::from_secs(10))
    .build();

    let provider = opentelemetry_sdk::metrics::SdkMeterProvider::builder()
        .with_reader(reader)
        .with_resource(opentelemetry_sdk::Resource::new([
            opentelemetry::KeyValue::new(
                "pod",
                std::env::var("POD_NAME").unwrap_or(String::from("hyperswitch-server-default")),
            ),

View on GitHub (pinned to 705a321950)

Solutions

  1. Check the OTLP metrics endpoint/configuration and that the collector is reachable

When it happens

Trigger: Thrown at crates/router_env/src/logger/setup.rs:373 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of juspay/hyperswitch@705a321950 (2026-08-19). Data as JSON: /api/errors/67b9421e174d9a93. Report an issue: GitHub.