diff --git a/opentelemetry-sdk/src/trace/sampler/jaeger_remote/rate_limit.rs b/opentelemetry-sdk/src/trace/sampler/jaeger_remote/rate_limit.rs index 436df8f096..0f32ca8e38 100644 --- a/opentelemetry-sdk/src/trace/sampler/jaeger_remote/rate_limit.rs +++ b/opentelemetry-sdk/src/trace/sampler/jaeger_remote/rate_limit.rs @@ -1,4 +1,3 @@ -use opentelemetry::trace::TraceError; use std::time::SystemTime; // leaky bucket based rate limit @@ -53,10 +52,12 @@ impl LeakyBucket { false } } - Err(_) => { - opentelemetry::global::handle_error(TraceError::Other( - "jaeger remote sampler gets rewinded timestamp".into(), - )); + Err(err) => { + opentelemetry::otel_debug!( + name: "JaegerRemoteSampler.LeakyBucket.ClockAdjustment", + message = "jaeger remote sampler detected a rewind in system clock", + reason = format!("{:?}", err), + ); true } } diff --git a/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampler.rs b/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampler.rs index 6f942cbd7f..01cd6c21ba 100644 --- a/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampler.rs +++ b/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampler.rs @@ -5,7 +5,7 @@ use crate::trace::{Sampler, ShouldSample}; use futures_util::{stream, StreamExt as _}; use http::Uri; use opentelemetry::trace::{Link, SamplingResult, SpanKind, TraceError, TraceId}; -use opentelemetry::{global, Context, KeyValue}; +use opentelemetry::{otel_debug, Context, KeyValue}; use opentelemetry_http::HttpClient; use std::str::FromStr; use std::sync::Arc; @@ -203,7 +203,13 @@ impl JaegerRemoteSampler { // send request match Self::request_new_strategy(&client, endpoint.clone()).await { Ok(remote_strategy_resp) => strategy.update(remote_strategy_resp), - Err(err_msg) => global::handle_error(TraceError::Other(err_msg.into())), + Err(err_msg) => { + otel_debug!( + name: "JaegerRemoteSampler.UpdateStrategy.RequestFailed", + reason = "Failed to fetch new sampling strategy", + error = format!("{}", err_msg), + ); + } }; } else { // shutdown diff --git a/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampling_strategy.rs b/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampling_strategy.rs index b48642d478..898d53033f 100644 --- a/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampling_strategy.rs +++ b/opentelemetry-sdk/src/trace/sampler/jaeger_remote/sampling_strategy.rs @@ -4,9 +4,9 @@ use crate::trace::sampler::jaeger_remote::remote::{ }; use crate::trace::sampler::sample_based_on_probability; use opentelemetry::trace::{ - SamplingDecision, SamplingResult, TraceContextExt, TraceError, TraceId, TraceState, + SamplingDecision, SamplingResult, TraceContextExt, TraceId, TraceState, }; -use opentelemetry::{global, Context}; +use opentelemetry::{otel_debug, Context}; use std::collections::HashMap; use std::fmt::{Debug, Formatter}; use std::sync::Mutex; @@ -107,9 +107,10 @@ impl Inner { } }) .unwrap_or_else(|_err| { - global::handle_error(TraceError::Other( - "jaeger remote sampler mutex poisoned".into(), - )) + otel_debug!( + name: "JaegerRemoteSampler.MutexPoisoned", + reason = "Failed to update strategy due to poisoned mutex" + ); }); }