Skip to content

Commit bf4a23f

Browse files
committed
temporary multi-value support
1 parent 7805aa7 commit bf4a23f

File tree

13 files changed

+501
-353
lines changed

13 files changed

+501
-353
lines changed

Cargo.lock

Lines changed: 298 additions & 315 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ datadog-trace-utils = { git = "https://github.com/Datadog/libdatadog", rev = "54
3030
tinybytes = { git = "https://github.com/Datadog/libdatadog", rev = "540ea1e63ab403774325ffadb76f870747f11f6c" }
3131

3232
futures = "0.3.31"
33-
opentelemetry_sdk = { version = "0.28.0", features = [
33+
opentelemetry_sdk = { git = "https://github.com/open-telemetry/opentelemetry-rust", features = [
3434
"trace",
3535
], default-features = false }
36-
opentelemetry = { version = "0.28.0", features = [
36+
opentelemetry = { git = "https://github.com/open-telemetry/opentelemetry-rust", features = [
3737
"trace",
3838
], default-features = false }
39-
opentelemetry-semantic-conventions = { version = "0.29.0", features = ["semconv_experimental"] }
39+
opentelemetry-semantic-conventions = { git = "https://github.com/open-telemetry/opentelemetry-rust", features = ["semconv_experimental"] }
4040
tokio = { version = "1.44.1" }
41-
rand = { version = "0.8" }
41+
rand = { version = "0.8", features = ["small_rng"] }
4242

4343
[profile.dev]
4444
debug = 2 # full debug info

datadog-opentelemetry/examples/propagator/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ hyper = { version = "1.3", default-features = false, features = ["full"] }
2020
hyper-util = { version = "0.1", features = ["full"] }
2121
tokio = { version = "1", default-features = false, features = ["full"] }
2222
tokio-stream = "0.1"
23-
opentelemetry = "0.28.0"
24-
opentelemetry_sdk = "0.28.0"
25-
opentelemetry-http = "0.28.0"
26-
opentelemetry-stdout = { version = "0.28.0", features = ["trace", "logs"] }
27-
opentelemetry-semantic-conventions = "0.28.0"
28-
opentelemetry-appender-tracing = "0.28.0"
23+
opentelemetry = { workspace = true }
24+
opentelemetry_sdk = { workspace = true }
25+
opentelemetry-semantic-conventions = { workspace = true }
26+
opentelemetry-http = { git = "https://github.com/open-telemetry/opentelemetry-rust" }
27+
opentelemetry-stdout = { git = "https://github.com/open-telemetry/opentelemetry-rust", features = ["trace", "logs"] }
28+
opentelemetry-appender-tracing = { git = "https://github.com/open-telemetry/opentelemetry-rust" }
2929

3030
tracing = { version = ">=0.1.40", default-features = false, features = ["std"] }
3131
# `tracing-core >=0.1.33` is required for compatibility with `tracing >=0.1.40`.

datadog-opentelemetry/examples/propagator/src/server.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,10 @@ impl SpanProcessor for EnrichWithBaggageSpanProcessor {
200200
Ok(())
201201
}
202202

203+
fn shutdown_with_timeout(&self, _timeout: std::time::Duration) -> OTelSdkResult {
204+
Ok(())
205+
}
206+
203207
fn on_start(&self, span: &mut opentelemetry_sdk::trace::Span, cx: &Context) {
204208
for (kk, vv) in cx.baggage().iter() {
205209
span.set_attribute(KeyValue::new(kk.clone(), vv.0.clone()));

datadog-opentelemetry/src/span_exporter.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,14 @@ impl DatadogExporter {
207207
}
208208

209209
pub fn shutdown(&self) -> OTelSdkResult {
210+
self.shutdown_with_timeout(SPAN_EXPORTER_SHUTDOWN_TIMEOUT)
211+
}
212+
213+
pub fn shutdown_with_timeout(&self, timeout: Duration) -> OTelSdkResult {
210214
match self
211215
.tx
212216
.trigger_shutdown()
213-
.and_then(|()| self.tx.wait_shutdown_done(SPAN_EXPORTER_SHUTDOWN_TIMEOUT))
217+
.and_then(|()| self.tx.wait_shutdown_done(timeout))
214218
{
215219
Ok(()) | Err(SenderError::BatchFull(_)) => {}
216220
Err(SenderError::AlreadyShutdown) => {

datadog-opentelemetry/src/span_processor.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,4 +461,11 @@ impl opentelemetry_sdk::trace::SpanProcessor for DatadogSpanProcessor {
461461
// set the shared resource in the DatadogSpanProcessor
462462
*self.resource.write().unwrap() = resource.clone();
463463
}
464+
465+
fn shutdown_with_timeout(
466+
&self,
467+
timeout: std::time::Duration,
468+
) -> opentelemetry_sdk::error::OTelSdkResult {
469+
self.span_exporter.shutdown_with_timeout(timeout)
470+
}
464471
}

datadog-opentelemetry/tests/snapshots/test_injection_extraction.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"span.kind": "server",
1818
"telemetry.sdk.language": "rust",
1919
"telemetry.sdk.name": "opentelemetry",
20-
"telemetry.sdk.version": "0.28.0"
20+
"telemetry.sdk.version": "0.30.0"
2121
},
2222
"metrics": {
2323
"_sampling_priority_v1": 2.0,
@@ -43,7 +43,7 @@
4343
"span.kind": "client",
4444
"telemetry.sdk.language": "rust",
4545
"telemetry.sdk.name": "opentelemetry",
46-
"telemetry.sdk.version": "0.28.0"
46+
"telemetry.sdk.version": "0.30.0"
4747
},
4848
"metrics": {
4949
"_dd.measured": 1.0,

datadog-opentelemetry/tests/snapshots/test_received_traces.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"span.kind": "client",
1515
"telemetry.sdk.language": "rust",
1616
"telemetry.sdk.name": "opentelemetry",
17-
"telemetry.sdk.version": "0.28.0"
17+
"telemetry.sdk.version": "0.30.0"
1818
},
1919
"metrics": {
2020
"_dd.measured": 1.0,

datadog-opentelemetry/tests/snapshots/test_sampling_extraction.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"span.kind": "server",
1616
"telemetry.sdk.language": "rust",
1717
"telemetry.sdk.name": "opentelemetry",
18-
"telemetry.sdk.version": "0.28.0"
18+
"telemetry.sdk.version": "0.30.0"
1919
},
2020
"metrics": {
2121
"_dd.rule.psr": 1.0,
@@ -41,7 +41,7 @@
4141
"span.kind": "client",
4242
"telemetry.sdk.language": "rust",
4343
"telemetry.sdk.name": "opentelemetry",
44-
"telemetry.sdk.version": "0.28.0"
44+
"telemetry.sdk.version": "0.30.0"
4545
},
4646
"metrics": {
4747
"_dd.measured": 1.0,

dd-trace-propagation/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ thiserror = { version = "1.0", default-features = false}
2222
opentelemetry = { workspace = true, optional = true }
2323

2424
[dev-dependencies]
25-
pretty_assertions = "1.4.1"
2625
assert_unordered = "0.3"
26+
multimap = "0.10.1"
27+
pretty_assertions = "1.4.1"
2728

2829
[features]
2930
default = ["opentelemetry"]

0 commit comments

Comments
 (0)