rustfs/rustfs · error · TelemetryError
Tracing subscriber init failed: {0}
Error message
Tracing subscriber init failed: {0} What it means
TelemetryError variant meaning the global tracing subscriber failed to install — usually because another subscriber is already set, or the subscriber build/registration returned an error. The reason is embedded; observability initialization aborts and the process runs without the intended tracing pipeline rather than crashing, with the failure logged at startup.
Source
Thrown at crates/obs/src/error.rs:65
#[error("Failed to send log: {0}")]
SendFailed(&'static str),
#[error("Operation timed out: {0}")]
Timeout(&'static str),
#[error("Telemetry initialization failed: {0}")]
TelemetryError(#[from] TelemetryError),
}
#[derive(Debug, thiserror::Error)]
pub enum TelemetryError {
#[error("Span exporter build failed: {0}")]
BuildSpanExporter(String),
#[error("Metric exporter build failed: {0}")]
BuildMetricExporter(String),
#[error("Log exporter build failed: {0}")]
BuildLogExporter(String),
#[error("Install metrics recorder failed: {0}")]
InstallMetricsRecorder(String),
#[error("Tracing subscriber init failed: {0}")]
SubscriberInit(String),
#[error("I/O error: {0}")]
Io(String),
#[error("Set permissions failed: {0}")]
SetPermissions(String),
#[error("Log sink conflict: {0}")]
LogSinkConflict(String),
}
impl From<std::io::Error> for TelemetryError {
fn from(e: std::io::Error) -> Self {
TelemetryError::Io(e.to_string())
}
}
View on GitHub (pinned to 35af688cd9)
Solutions
- Ensure telemetry init runs only once per process
- Fix the subscriber configuration reported in the message
- Check for another component installing a global subscriber first
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at crates/obs/src/error.rs:65 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rustfs/rustfs@35af688cd9 (2026-08-20).
Data as JSON: /api/errors/4d51c84fe4de1a9b.
Report an issue: GitHub.