modify Telemetry filter order

This commit is contained in:
houseme
2025-04-27 09:50:32 +08:00
parent 87bec2e6a6
commit e8f8a0872d
4 changed files with 13 additions and 11 deletions

View File

@@ -21,6 +21,7 @@ full = ["file", "gpu", "kafka", "webhook"]
async-trait = { workspace = true }
chrono = { workspace = true }
config = { workspace = true }
local-ip-address = { workspace = true }
nvml-wrapper = { workspace = true, optional = true }
opentelemetry = { workspace = true }
opentelemetry-appender-tracing = { workspace = true, features = ["experimental_use_tracing_span_context", "experimental_metadata_attributes"] }
@@ -41,7 +42,7 @@ reqwest = { workspace = true, optional = true, default-features = false }
serde_json = { workspace = true }
sysinfo = { workspace = true }
thiserror = { workspace = true }
local-ip-address = { workspace = true }
[dev-dependencies]

View File

@@ -213,22 +213,22 @@ pub fn init_telemetry(config: &OtelConfig) -> OtelGuard {
.with_line_number(true);
let filter = build_env_filter(logger_level, None);
let tracer = tracer_provider.tracer(Cow::Borrowed(service_name).to_string());
let otel_filter = build_env_filter(logger_level, None);
let otel_layer = OpenTelemetryTracingBridge::new(&logger_provider).with_filter(otel_filter);
let tracer = tracer_provider.tracer(Cow::Borrowed(service_name).to_string());
// Configure registry to avoid repeated calls to filter methods
tracing_subscriber::registry()
let registry = tracing_subscriber::registry()
.with(filter)
.with(fmt_layer)
.with(ErrorLayer::default())
.with(otel_layer)
.with(MetricsLayer::new(meter_provider.clone()))
.with(OpenTelemetryLayer::new(tracer))
.with(ErrorLayer::default())
.init();
.with(ErrorLayer::default());
info!("Telemetry logging enabled: {:?}", config.local_logging_enabled);
if config.local_logging_enabled.unwrap_or(false) {
registry.with(fmt_layer).init();
} else {
registry.init();
}
if !endpoint.is_empty() {
info!(

View File

@@ -7,6 +7,7 @@ service_name = "rustfs"
service_version = "0.1.0"
environment = "develop"
logger_level = "error"
local_logging_enabled = true
[sinks]
[sinks.kafka] # Kafka sink is disabled by default

View File

@@ -47,7 +47,7 @@ export RUSTFS__OBSERVABILITY__SERVICE_NAME=rustfs
export RUSTFS__OBSERVABILITY__SERVICE_VERSION=0.1.0
export RUSTFS__OBSERVABILITY__ENVIRONMENT=develop
export RUSTFS__OBSERVABILITY__LOGGER_LEVEL=debug
export RUSTFS__OBSERVABILITY__LOCAL_LOGGER_ENABLED=true
export RUSTFS__OBSERVABILITY__LOCAL_LOGGING_ENABLED=true
export RUSTFS__SINKS__FILE__ENABLED=true
export RUSTFS__SINKS__FILE__PATH="./deploy/logs/rustfs.log"
export RUSTFS__SINKS__WEBHOOK__ENABLED=false