diff --git a/bottlecap/src/traces/trace_processor.rs b/bottlecap/src/traces/trace_processor.rs index f060dad43..d8abdb7aa 100644 --- a/bottlecap/src/traces/trace_processor.rs +++ b/bottlecap/src/traces/trace_processor.rs @@ -40,6 +40,14 @@ impl TraceChunkProcessor for ChunkProcessor { .spans .retain(|span| !filter_span_from_lambda_library_or_runtime(span)); for span in &mut chunk.spans { + // Service name could be incorrectly set to 'aws.lambda' + // in datadog lambda libraries + if span.service == "aws.lambda" { + if let Some(service) = self.tags_provider.get_tags_map().get("service") { + span.service.clone_from(service); + } + } + self.tags_provider.get_tags_map().iter().for_each(|(k, v)| { span.meta.insert(k.clone(), v.clone()); });