Skip to content

Commit 53113ad

Browse files
authored
[b3_propagator] Follow the b3 spec (#148)
1 parent fd3c5bf commit 53113ad

File tree

5 files changed

+405
-109
lines changed

5 files changed

+405
-109
lines changed

src/api/context/propagation/composite_propagator.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ use std::fmt::Debug;
1919
/// use opentelemetry::api::*;
2020
/// use opentelemetry::sdk;
2121
/// use std::collections::HashMap;
22+
/// use opentelemetry::api::trace::b3_propagator::B3Encoding;
2223
///
2324
/// // First create 1 or more propagators
24-
/// let b3_propagator = B3Propagator::new(true);
25+
/// let b3_propagator = B3Propagator::with_encoding(B3Encoding::SingleHeader);
2526
/// let trace_context_propagator = TraceContextPropagator::new();
2627
///
2728
/// // Then create a composite propagator
@@ -40,7 +41,7 @@ use std::fmt::Debug;
4041
/// composite_propagator.inject_context(&Context::current_with_span(example_span), &mut carrier);
4142
///
4243
/// // The carrier now has both `X-B3` and `traceparent` headers
43-
/// assert!(carrier.get("X-B3").is_some());
44+
/// assert!(carrier.get("b3").is_some());
4445
/// assert!(carrier.get("traceparent").is_some());
4546
/// ```
4647
#[derive(Debug)]
@@ -80,14 +81,15 @@ impl HttpTextFormat for HttpTextCompositePropagator {
8081
#[cfg(test)]
8182
mod tests {
8283
use super::*;
84+
use crate::api::trace::b3_propagator::B3Encoding;
8385
use crate::api::TraceContextExt;
8486
use crate::api::{B3Propagator, Context, SpanContext, SpanId, TraceContextPropagator, TraceId};
8587
use std::collections::HashMap;
8688

8789
fn test_data() -> Vec<(&'static str, &'static str)> {
8890
vec![
8991
(
90-
"X-B3",
92+
"b3",
9193
"00000000000000000000000000000001-0000000000000001-0",
9294
),
9395
(
@@ -121,7 +123,7 @@ mod tests {
121123

122124
#[test]
123125
fn inject_multiple_propagators() {
124-
let b3 = B3Propagator::new(true);
126+
let b3 = B3Propagator::with_encoding(B3Encoding::SingleHeader);
125127
let trace_context = TraceContextPropagator::new();
126128
let composite_propagator = HttpTextCompositePropagator {
127129
propagators: vec![Box::new(b3), Box::new(trace_context)],
@@ -143,7 +145,7 @@ mod tests {
143145

144146
#[test]
145147
fn extract_multiple_propagators() {
146-
let b3 = B3Propagator::new(true);
148+
let b3 = B3Propagator::with_encoding(B3Encoding::SingleHeader);
147149
let trace_context = TraceContextPropagator::new();
148150
let composite_propagator = HttpTextCompositePropagator {
149151
propagators: vec![Box::new(b3), Box::new(trace_context)],

src/api/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ pub use trace::{
4747
provider::Provider,
4848
sampler::{Sampler, SamplingDecision, SamplingResult},
4949
span::{Span, SpanKind, StatusCode},
50-
span_context::{SpanContext, SpanId, TraceId, TRACE_FLAGS_UNUSED, TRACE_FLAG_SAMPLED},
50+
span_context::{
51+
SpanContext, SpanId, TraceId, TRACE_FLAG_DEBUG, TRACE_FLAG_DEFERRED, TRACE_FLAG_SAMPLED, TRACE_FLAG_NOT_SAMPLED
52+
},
5153
span_processor::SpanProcessor,
5254
trace_context_propagator::TraceContextPropagator,
5355
tracer::{SpanBuilder, Tracer},

0 commit comments

Comments
 (0)