Skip to content

Commit 7dd3ba1

Browse files
committed
refactor(sampling): remove resource from datadog_sampler
1 parent 5b5f091 commit 7dd3ba1

3 files changed

Lines changed: 52 additions & 71 deletions

File tree

datadog-opentelemetry/benches/datadog_sampling_benchmark.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,14 +397,15 @@ fn bench_datadog_sampling<M: criterion::measurement::Measurement + MeasurementNa
397397
let configs = create_benchmark_configs();
398398

399399
for config in configs {
400-
let sampler = DatadogSampler::new(config.rules, -1, Arc::new(RwLock::new(config.resource)));
400+
let sampler = DatadogSampler::new(config.rules, -1);
401+
let resource = Arc::new(RwLock::new(config.resource));
401402
let data = OtelSamplingData::new(
402403
black_box(config.is_parent_sampled),
403404
black_box(&config.trace_id),
404405
black_box(config.span_name),
405406
black_box(config.span_kind.clone()),
406407
black_box(&config.attributes),
407-
black_box(sampler.resource()),
408+
black_box(resource.as_ref()),
408409
);
409410

410411
c.bench_function(

datadog-opentelemetry/src/sampler.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ use crate::{
2525
#[derive(Debug, Clone)]
2626
pub struct Sampler {
2727
sampler: DatadogSampler,
28+
resource: Arc<RwLock<Resource>>,
2829
trace_registry: Option<TraceRegistry>,
2930
cfg: Arc<Config>,
3031
}
@@ -45,10 +46,11 @@ impl Sampler {
4546
trace_registry: Option<TraceRegistry>,
4647
) -> Self {
4748
let rules = SamplingRule::from_configs(cfg.trace_sampling_rules().to_vec());
48-
let sampler = DatadogSampler::new(rules, cfg.trace_rate_limit(), resource);
49+
let sampler = DatadogSampler::new(rules, cfg.trace_rate_limit());
4950
Self {
5051
cfg,
5152
sampler,
53+
resource,
5254
trace_registry,
5355
}
5456
}
@@ -105,7 +107,7 @@ impl ShouldSample for Sampler {
105107
name,
106108
span_kind.clone(),
107109
attributes,
108-
self.sampler.resource(),
110+
self.resource.as_ref(),
109111
);
110112
let result = self.sampler.sample(&data);
111113
let trace_propagation_data = if let Some(trace_root_info) =

0 commit comments

Comments
 (0)