Skip to content

Commit 3e1948e

Browse files
authored
Move binary propagator and base64 format to contrib. (#343)
1 parent ccf4599 commit 3e1948e

File tree

18 files changed

+55
-28
lines changed

18 files changed

+55
-28
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
override: true
5353
- name: Run tests
5454
run: cargo --version &&
55-
cargo test --verbose --manifest-path=opentelemetry/Cargo.toml --features base64_format,trace,metrics,serialize,binary_propagator,tokio,async-std,serde,http,tonic,reqwest &&
55+
cargo test --verbose --manifest-path=opentelemetry/Cargo.toml --features trace,metrics,serialize,tokio,async-std,serde,http,tonic,reqwest &&
5656
cargo test --manifest-path=opentelemetry-jaeger/Cargo.toml &&
5757
cargo test --manifest-path=opentelemetry-zipkin/Cargo.toml
5858
meta:

examples/datadog/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use opentelemetry::{
33
trace::{Span, TraceContextExt, Tracer},
44
Key,
55
};
6-
use opentelemetry_contrib::datadog::ApiVersion;
6+
use opentelemetry_contrib::trace::exporter::datadog::{new_pipeline, ApiVersion};
77
use std::thread;
88
use std::time::Duration;
99

@@ -17,7 +17,7 @@ fn bar() {
1717
}
1818

1919
fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
20-
let (tracer, _uninstall) = opentelemetry_contrib::datadog::new_pipeline()
20+
let (tracer, _uninstall) = new_pipeline()
2121
.with_service_name("trace-demo")
2222
.with_version(ApiVersion::Version05)
2323
.install()?;

opentelemetry-contrib/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ rustdoc-args = ["--cfg", "docsrs"]
2020

2121
[features]
2222
default = []
23+
base64_format = ["base64", "binary_propagator"]
24+
binary_propagator = []
2325
datadog = ["indexmap", "rmp", "async-trait"]
2426
reqwest-blocking-client = ["reqwest/blocking", "opentelemetry/reqwest"]
2527
reqwest-client = ["reqwest", "opentelemetry/reqwest"]
@@ -34,6 +36,7 @@ lazy_static = "1.4"
3436
reqwest = { version = "0.10", optional = true }
3537
surf = { version = "2.0", optional = true }
3638
http = "0.2"
39+
base64 = { version = "0.13", optional = true }
3740

3841
[dev-dependencies]
3942
base64 = "0.13"

opentelemetry-contrib/src/lib.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
//!
1010
//! The following crate feature flags are available:
1111
//!
12+
//! * `binary-propagator`: Adds Experimental binary propagator to propagate trace context using binary format.
13+
//! * `base64-format`: Enables base64 format support for binary propagators.
1214
//! * `datadog`: Adds a Datadog trace exporter.
1315
//! * `reqwest-blocking-client`: Export spans using the reqwest blocking http
1416
//! client.
@@ -29,6 +31,4 @@
2931
)]
3032
#![cfg_attr(test, deny(warnings))]
3133

32-
#[cfg(feature = "datadog")]
33-
#[cfg_attr(docsrs, doc(cfg(feature = "datadog")))]
34-
pub mod datadog;
34+
pub mod trace;

opentelemetry-contrib/src/datadog/mod.rs renamed to opentelemetry-contrib/src/trace/exporter/datadog/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
//! use opentelemetry::sdk::{trace::{self, IdGenerator, Sampler}, Resource};
7575
//! use opentelemetry::exporter::trace::ExportResult;
7676
//! use opentelemetry::exporter::trace::HttpClient;
77+
//! use opentelemetry_contrib::trace::exporter::datadog::{new_pipeline, ApiVersion};
7778
//! use async_trait::async_trait;
7879
//! use std::error::Error;
7980
//!
@@ -97,9 +98,9 @@
9798
//! }
9899
//!
99100
//! fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
100-
//! let (tracer, _uninstall) = opentelemetry_contrib::datadog::new_pipeline()
101+
//! let (tracer, _uninstall) = new_pipeline()
101102
//! .with_service_name("my_app")
102-
//! .with_version(opentelemetry_contrib::datadog::ApiVersion::Version05)
103+
//! .with_version(ApiVersion::Version05)
103104
//! .with_agent_endpoint("http://localhost:8126")
104105
//! .with_trace_config(
105106
//! trace::config()

opentelemetry-contrib/src/datadog/model/v03.rs renamed to opentelemetry-contrib/src/trace/exporter/datadog/model/v03.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::datadog::model::Error;
1+
use crate::trace::exporter::datadog::model::Error;
22
use opentelemetry::exporter::trace;
33
use opentelemetry::{Key, Value};
44
use std::time::SystemTime;

opentelemetry-contrib/src/datadog/model/v05.rs renamed to opentelemetry-contrib/src/trace/exporter/datadog/model/v05.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::datadog::intern::StringInterner;
2-
use crate::datadog::model::Error;
1+
use crate::trace::exporter::datadog::intern::StringInterner;
2+
use crate::trace::exporter::datadog::model::Error;
33
use opentelemetry::exporter::trace;
44
use opentelemetry::{Key, Value};
55
use std::time::SystemTime;
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//! # Opentelemetry exporter contrib
2+
//!
3+
//! This module provides exporter implementations from third party vendors(like datadog). Note that
4+
//! there are some exporters live in their own repo. See [`Opentelemetry`] for a list of those
5+
//! implementations and where to find them.
6+
//!
7+
//! Currently, the following exporters are supported:
8+
//! * `datadog`, enable `datadog` feature to use it.
9+
//!
10+
//! [`Opentelemetry`](https://github.com/open-telemetry/opentelemetry-rust#related-crates)
11+
#[cfg(feature = "datadog")]
12+
#[cfg_attr(docsrs, doc(cfg(feature = "datadog")))]
13+
pub mod datadog;

0 commit comments

Comments
 (0)