{"record":{"id":"4d51c84fe4de1a9b","repo":"rustfs/rustfs","slug":"tracing-subscriber-init-failed-0","errorCode":null,"errorMessage":"Tracing subscriber init failed: {0}","messagePattern":"Tracing subscriber init failed: (.+?)","errorType":"exception","errorClass":"TelemetryError","httpStatus":null,"severity":"error","filePath":"crates/obs/src/error.rs","lineNumber":65,"sourceCode":"    #[error(\"Failed to send log: {0}\")]\n    SendFailed(&'static str),\n    #[error(\"Operation timed out: {0}\")]\n    Timeout(&'static str),\n    #[error(\"Telemetry initialization failed: {0}\")]\n    TelemetryError(#[from] TelemetryError),\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum TelemetryError {\n    #[error(\"Span exporter build failed: {0}\")]\n    BuildSpanExporter(String),\n    #[error(\"Metric exporter build failed: {0}\")]\n    BuildMetricExporter(String),\n    #[error(\"Log exporter build failed: {0}\")]\n    BuildLogExporter(String),\n    #[error(\"Install metrics recorder failed: {0}\")]\n    InstallMetricsRecorder(String),\n    #[error(\"Tracing subscriber init failed: {0}\")]\n    SubscriberInit(String),\n    #[error(\"I/O error: {0}\")]\n    Io(String),\n    #[error(\"Set permissions failed: {0}\")]\n    SetPermissions(String),\n    #[error(\"Log sink conflict: {0}\")]\n    LogSinkConflict(String),\n}\n\nimpl From<std::io::Error> for TelemetryError {\n    fn from(e: std::io::Error) -> Self {\n        TelemetryError::Io(e.to_string())\n    }\n}\n","sourceCodeStart":47,"sourceCodeEnd":80,"githubUrl":"https://github.com/rustfs/rustfs/blob/35af688cd9d41b4346fbe27dcf7250ba72046c1f/crates/obs/src/error.rs#L47-L80","documentation":"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.","triggerScenarios":"Thrown at crates/obs/src/error.rs:65 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35af688cd9d41b4346fbe27dcf7250ba72046c1f","analyzedAt":"2026-08-20T21:57:04.799Z","contentChangedAt":"2026-08-20T21:57:04.799Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}