From b4ec53a3f58c8187940eaa724474a0ca897be6d6 Mon Sep 17 00:00:00 2001 From: Yury Yarashevich Date: Thu, 2 Jan 2025 10:27:07 +0100 Subject: [PATCH] Use unstable sort to group traces in DD exporter. Stable sort is not required for routing, while unstable gives slightly better performance according to opentelemetry-datadog/benches/datadog_exporter.rs --- opentelemetry-datadog/src/exporter/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opentelemetry-datadog/src/exporter/mod.rs b/opentelemetry-datadog/src/exporter/mod.rs index f6efb4bf..41feb6f9 100644 --- a/opentelemetry-datadog/src/exporter/mod.rs +++ b/opentelemetry-datadog/src/exporter/mod.rs @@ -397,7 +397,7 @@ fn group_into_traces(spans: &mut [SpanData]) -> Vec<&[SpanData]> { return vec![]; } - spans.sort_by_key(|x| x.span_context.trace_id().to_bytes()); + spans.sort_unstable_by_key(|x| x.span_context.trace_id().to_bytes()); let mut traces: Vec<&[SpanData]> = Vec::with_capacity(spans.len());