Skip to content

Commit 5bde5c6

Browse files
committed
format and style
1 parent 9b42ce5 commit 5bde5c6

File tree

6 files changed

+41
-39
lines changed

6 files changed

+41
-39
lines changed

bottlecap/src/lifecycle/invocation/processor.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ use serde_json::{json, Value};
1212
use tokio::sync::{mpsc::Sender, watch};
1313
use tracing::debug;
1414

15+
use crate::traces::propagation::datadog_extraction::{
16+
extract_tags_datadog_context, DATADOG_PARENT_ID_KEY, DATADOG_SAMPLING_PRIORITY_KEY,
17+
DATADOG_SPAN_ID_KEY, DATADOG_TRACE_ID_KEY,
18+
};
1519
use crate::traces::propagation::extract_composite;
1620
use crate::{
1721
config::{self, AwsConfig},
@@ -27,12 +31,8 @@ use crate::{
2731
},
2832
tags::{lambda::tags::resolve_runtime_from_proc, provider},
2933
telemetry::events::{ReportMetrics, RuntimeDoneMetrics, Status},
30-
traces::{
31-
context::SpanContext,
32-
trace_processor,
33-
},
34+
traces::{context::SpanContext, trace_processor},
3435
};
35-
use crate::traces::propagation::datadog_propagation::{extract_tags_datadog_context, DATADOG_PARENT_ID_KEY, DATADOG_SAMPLING_PRIORITY_KEY, DATADOG_SPAN_ID_KEY, DATADOG_TRACE_ID_KEY};
3636

3737
pub const MS_TO_NS: f64 = 1_000_000.0;
3838
pub const S_TO_NS: f64 = 1_000_000_000.0;
@@ -635,11 +635,11 @@ impl Processor {
635635
#[cfg(test)]
636636
mod tests {
637637
use super::*;
638+
use crate::traces::propagation::datadog_extraction::DATADOG_TRACE_ID_KEY;
638639
use crate::LAMBDA_RUNTIME_SLUG;
639640
use base64::{engine::general_purpose::STANDARD, Engine};
640641
use dogstatsd::aggregator::Aggregator;
641642
use dogstatsd::metric::EMPTY_TAGS;
642-
use crate::traces::propagation::datadog_propagation::DATADOG_TRACE_ID_KEY;
643643

644644
fn setup() -> Processor {
645645
let aws_config = AwsConfig {

bottlecap/src/lifecycle/invocation/triggers/step_function_event.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ use serde_json::Value;
55
use sha2::{Digest, Sha256};
66

77
use super::DATADOG_CARRIER_KEY;
8+
use crate::traces::propagation::datadog_extraction::{
9+
extract_tags_datadog_context, DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY, DATADOG_TAGS_KEY,
10+
};
811
use crate::{
912
lifecycle::invocation::triggers::{
1013
ServiceNameResolver, Trigger, FUNCTION_TRIGGER_EVENT_SOURCE_TAG,
1114
},
12-
traces::{
13-
context::{Sampling, SpanContext},
14-
},
15+
traces::context::{Sampling, SpanContext},
1516
};
16-
use crate::traces::propagation::datadog_propagation::{extract_tags_datadog_context, DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY, DATADOG_TAGS_KEY};
1717

1818
pub const DATADOG_LEGACY_LAMBDA_PAYLOAD: &str = "Payload";
1919

@@ -258,7 +258,7 @@ impl ServiceNameResolver for StepFunctionEvent {
258258
mod tests {
259259
use super::*;
260260
use crate::lifecycle::invocation::triggers::test_utils::read_json_file;
261-
use crate::traces::propagation::datadog_propagation::DATADOG_SAMPLING_DECISION_KEY;
261+
use crate::traces::propagation::datadog_extraction::DATADOG_SAMPLING_DECISION_KEY;
262262

263263
#[test]
264264
fn test_new_event() {

bottlecap/src/lifecycle/listener.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ use tokio::sync::Mutex;
1414
use tracing::{debug, error, warn};
1515

1616
use crate::lifecycle::invocation::processor::Processor as InvocationProcessor;
17-
use crate::traces::propagation::datadog_propagation::{DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY, DATADOG_SAMPLING_PRIORITY_KEY, DATADOG_TAGS_KEY, DATADOG_TRACE_ID_KEY};
17+
use crate::traces::propagation::datadog_extraction::{
18+
DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY, DATADOG_SAMPLING_PRIORITY_KEY, DATADOG_TAGS_KEY,
19+
DATADOG_TRACE_ID_KEY,
20+
};
1821

1922
const HELLO_PATH: &str = "/lambda/hello";
2023
const START_INVOCATION_PATH: &str = "/lambda/start-invocation";

bottlecap/src/traces/propagation/datadog_propagation.rs renamed to bottlecap/src/traces/propagation/datadog_extraction.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,8 @@ fn higher_order_bits_valid(trace_id_higher_order_bits: &str) -> bool {
183183
#[cfg(test)]
184184
#[allow(clippy::unwrap_used)]
185185
mod test {
186-
use crate::traces::propagation::text_map_propagation::extract_context_standard_header;
187186
use super::*;
187+
use crate::traces::propagation::text_map_extraction::extract_context_standard_header;
188188

189189
#[test]
190190
fn test_extract_traceparent_propagator() {

bottlecap/src/traces/propagation/mod.rs

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
use crate::traces::propagation::datadog_extraction::{
2+
DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY, DATADOG_LAST_PARENT_ID_KEY,
3+
};
14
use crate::{
25
config::{self, trace_propagation_style::TracePropagationStyle},
36
traces::context::SpanContext,
@@ -6,15 +9,12 @@ use carrier::Extractor;
69
use datadog_trace_protobuf::pb::SpanLink;
710
use std::collections::VecDeque;
811
use std::{collections::HashMap, sync::Arc};
9-
use text_map_propagation::{
10-
BAGGAGE_PREFIX, TRACESTATE_KEY,
11-
};
12-
use crate::traces::propagation::datadog_propagation::{DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY, DATADOG_LAST_PARENT_ID_KEY};
12+
use text_map_extraction::{BAGGAGE_PREFIX, TRACESTATE_KEY};
1313

1414
pub mod carrier;
15+
pub mod datadog_extraction;
1516
pub mod error;
16-
pub mod text_map_propagation;
17-
pub mod datadog_propagation;
17+
pub mod text_map_extraction;
1818

1919
pub fn extract_composite(
2020
config: &Arc<config::Config>,
@@ -33,15 +33,13 @@ pub fn extract_composite(
3333
}
3434

3535
let contexts_found = extract_available_contexts(config, carrier);
36-
if contexts_found.is_empty() {
37-
return None;
38-
}
39-
let mut primary_context = resolve_primary_context_with_links(contexts_found);
40-
if config.trace_propagation_http_baggage_enabled {
41-
attach_baggage(&mut primary_context, carrier);
36+
if let Some(mut primary_context) = resolve_primary_context_with_links(contexts_found) {
37+
if config.trace_propagation_http_baggage_enabled {
38+
attach_baggage(&mut primary_context, carrier);
39+
}
40+
return Some(primary_context);
4241
}
43-
44-
Some(primary_context)
42+
None
4543
}
4644

4745
fn extract_available_contexts(
@@ -50,26 +48,26 @@ fn extract_available_contexts(
5048
) -> VecDeque<(TracePropagationStyle, SpanContext)> {
5149
let mut contexts_found: VecDeque<(TracePropagationStyle, SpanContext)> = VecDeque::new();
5250
for propagation_style in &config.trace_propagation_style_extract {
53-
if let Some(context) = propagation_style.extract(carrier) {
54-
contexts_found.push_back((*propagation_style, context));
55-
}
51+
if let Some(context) = propagation_style.extract(carrier) {
52+
contexts_found.push_back((*propagation_style, context));
53+
}
5654
}
5755
contexts_found
5856
}
5957

6058
fn resolve_primary_context_with_links(
6159
mut all_contexts: VecDeque<(TracePropagationStyle, SpanContext)>,
62-
) -> SpanContext {
60+
) -> Option<SpanContext> {
6361
let dd_context: Option<SpanContext> = all_contexts
6462
.iter()
6563
.find(|(style, _)| *style == TracePropagationStyle::Datadog)
66-
.and_then(|style_and_context| Some(style_and_context.1.clone()))
64+
.map(|style_and_context| style_and_context.1.clone())
6765
.or(None);
6866

69-
let (_primary_style, mut primary_context) = all_contexts.pop_front().unwrap();
67+
let (_primary_style, mut primary_context) = all_contexts.pop_front()?;
7068
let mut links = Vec::<SpanLink>::new();
7169

72-
for style_and_context in all_contexts.iter() {
70+
for style_and_context in &all_contexts {
7371
let style = style_and_context.0;
7472
let context = style_and_context.1.clone();
7573

@@ -129,7 +127,7 @@ fn resolve_primary_context_with_links(
129127

130128
primary_context.links = links;
131129

132-
primary_context
130+
Some(primary_context)
133131
}
134132

135133
fn attach_baggage(context: &mut SpanContext, carrier: &dyn Extractor) {

bottlecap/src/traces/propagation/text_map_propagation.rs renamed to bottlecap/src/traces/propagation/text_map_extraction.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@ use std::collections::HashMap;
22

33
use crate::config::trace_propagation_style::TracePropagationStyle;
44
use crate::traces::context::{Sampling, SpanContext};
5+
use crate::traces::propagation::datadog_extraction::{
6+
extract_context_datadog_header, DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY,
7+
DATADOG_LAST_PARENT_ID_KEY,
8+
};
59
use crate::traces::propagation::{carrier::Extractor, error::Error};
610
use lazy_static::lazy_static;
711
use regex::Regex;
812
use tracing::{debug, error, warn};
9-
use crate::traces::propagation::datadog_propagation::{extract_context_datadog_header, DATADOG_HIGHER_ORDER_TRACE_ID_BITS_KEY, DATADOG_LAST_PARENT_ID_KEY};
1013

1114
// Traceparent Keys
1215
const TRACEPARENT_KEY: &str = "traceparent";
@@ -33,10 +36,8 @@ impl TracePropagationStyle {
3336
pub fn extract(&self, carrier: &dyn Extractor) -> Option<SpanContext> {
3437
match self {
3538
TracePropagationStyle::Datadog => extract_context_datadog_header(carrier),
36-
TracePropagationStyle::B3Multi => None,
37-
TracePropagationStyle::B3 => None,
3839
TracePropagationStyle::TraceContext => extract_context_standard_header(carrier),
39-
TracePropagationStyle::None => None,
40+
_ => None,
4041
}
4142
}
4243
}

0 commit comments

Comments
 (0)