Skip to content

Commit f55f36d

Browse files
ayymarttikue
andauthored
Update opentelemetry to 0.30.0 (#527)
* Update opentelemetry to 0.30.0 * Cargo fmt --------- Co-authored-by: Tim <[email protected]>
1 parent 5d83866 commit f55f36d

File tree

6 files changed

+68
-56
lines changed

6 files changed

+68
-56
lines changed

example-service/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,16 @@ anyhow = "1.0"
1818
clap = { version = "4.4.18", features = ["derive"] }
1919
log = "0.4"
2020
futures = "0.3"
21-
opentelemetry = { version = "0.26.0" }
22-
opentelemetry-otlp = "0.26.0"
21+
opentelemetry = { version = "0.30.0" }
22+
opentelemetry-otlp = { version = "0.30.0", features = ["grpc-tonic"] }
2323
rand = "0.8"
2424
tarpc = { version = "0.36", path = "../tarpc", features = ["full"] }
2525
tokio = { version = "1", features = ["macros", "net", "rt-multi-thread"] }
2626
tracing = { version = "0.1" }
27-
tracing-opentelemetry = "0.27.0"
27+
tracing-opentelemetry = "0.31.0"
2828
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
29-
opentelemetry_sdk = { version = "0.26.0", features = ["rt-tokio"] }
30-
opentelemetry-semantic-conventions = "0.16.0"
29+
opentelemetry_sdk = { version = "0.30.0", features = ["rt-tokio"] }
30+
opentelemetry-semantic-conventions = "0.30.0"
3131

3232
[lib]
3333
name = "service"

example-service/src/client.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ struct Flags {
2424
#[tokio::main]
2525
async fn main() -> anyhow::Result<()> {
2626
let flags = Flags::parse();
27-
init_tracing("Tarpc Example Client")?;
27+
let tracer_provider = init_tracing("Tarpc Example Client")?;
2828

2929
let mut transport = tarpc::serde_transport::tcp::connect(flags.server_addr, Json::default);
3030
transport.config_mut().max_frame_length(usize::MAX);
@@ -50,7 +50,7 @@ async fn main() -> anyhow::Result<()> {
5050

5151
// Let the background span processor finish.
5252
sleep(Duration::from_micros(1)).await;
53-
opentelemetry::global::shutdown_tracer_provider();
53+
tracer_provider.shutdown()?;
5454

5555
Ok(())
5656
}

example-service/src/lib.rs

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,22 @@ pub trait World {
1616
}
1717

1818
/// Initializes an OpenTelemetry tracing subscriber with a OTLP backend.
19-
pub fn init_tracing(service_name: &'static str) -> anyhow::Result<()> {
20-
let tracer_provider = opentelemetry_otlp::new_pipeline()
21-
.tracing()
22-
.with_trace_config(opentelemetry_sdk::trace::Config::default().with_resource(
23-
opentelemetry_sdk::Resource::new([opentelemetry::KeyValue::new(
24-
opentelemetry_semantic_conventions::resource::SERVICE_NAME,
25-
service_name,
26-
)]),
27-
))
28-
.with_batch_config(opentelemetry_sdk::trace::BatchConfig::default())
29-
.with_exporter(opentelemetry_otlp::new_exporter().tonic())
30-
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
19+
pub fn init_tracing(
20+
service_name: &'static str,
21+
) -> anyhow::Result<opentelemetry_sdk::trace::SdkTracerProvider> {
22+
let tracer_provider = opentelemetry_sdk::trace::SdkTracerProvider::builder()
23+
.with_resource(
24+
opentelemetry_sdk::Resource::builder()
25+
.with_service_name(service_name)
26+
.build(),
27+
)
28+
.with_batch_exporter(
29+
opentelemetry_otlp::SpanExporter::builder()
30+
.with_tonic()
31+
.build()
32+
.unwrap(),
33+
)
34+
.build();
3135
opentelemetry::global::set_tracer_provider(tracer_provider.clone());
3236
let tracer = tracer_provider.tracer(service_name);
3337

@@ -37,5 +41,5 @@ pub fn init_tracing(service_name: &'static str) -> anyhow::Result<()> {
3741
.with(tracing_opentelemetry::layer().with_tracer(tracer))
3842
.try_init()?;
3943

40-
Ok(())
44+
Ok(tracer_provider)
4145
}

tarpc/Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,19 @@ tracing = { version = "0.1", default-features = false, features = [
5858
"attributes",
5959
"log",
6060
] }
61-
tracing-opentelemetry = { version = "0.27.0", default-features = false }
62-
opentelemetry = { version = "0.26.0", default-features = false }
63-
opentelemetry-semantic-conventions = "0.16.0"
61+
tracing-opentelemetry = { version = "0.31.0", default-features = false }
62+
opentelemetry = { version = "0.30.0", default-features = false }
63+
opentelemetry-semantic-conventions = "0.30.0"
6464

6565
[dev-dependencies]
6666
assert_matches = "1.4"
6767
bincode = "1.3"
6868
bytes = { version = "1", features = ["serde"] }
6969
flate2 = "1.0"
7070
futures-test = "0.3"
71-
opentelemetry = { version = "0.26.0", default-features = false }
72-
opentelemetry-otlp = "0.26.0"
73-
opentelemetry_sdk = { version = "0.26.0", features = ["rt-tokio"] }
71+
opentelemetry = { version = "0.30.0", default-features = false }
72+
opentelemetry-otlp = "0.30.0"
73+
opentelemetry_sdk = { version = "0.30.0", features = ["rt-tokio"] }
7474
pin-utils = "0.1.0"
7575
serde_bytes = "0.11"
7676
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

tarpc/examples/pubsub.rs

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -284,18 +284,22 @@ impl publisher::Publisher for Publisher {
284284
}
285285

286286
/// Initializes an OpenTelemetry tracing subscriber with a OTLP backend.
287-
pub fn init_tracing(service_name: &'static str) -> anyhow::Result<()> {
288-
let tracer_provider = opentelemetry_otlp::new_pipeline()
289-
.tracing()
290-
.with_batch_config(opentelemetry_sdk::trace::BatchConfig::default())
291-
.with_exporter(opentelemetry_otlp::new_exporter().tonic())
292-
.with_trace_config(opentelemetry_sdk::trace::Config::default().with_resource(
293-
opentelemetry_sdk::Resource::new([opentelemetry::KeyValue::new(
294-
opentelemetry_semantic_conventions::resource::SERVICE_NAME,
295-
service_name,
296-
)]),
297-
))
298-
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
287+
pub fn init_tracing(
288+
service_name: &'static str,
289+
) -> anyhow::Result<opentelemetry_sdk::trace::SdkTracerProvider> {
290+
let tracer_provider = opentelemetry_sdk::trace::SdkTracerProvider::builder()
291+
.with_resource(
292+
opentelemetry_sdk::Resource::builder()
293+
.with_service_name(service_name)
294+
.build(),
295+
)
296+
.with_batch_exporter(
297+
opentelemetry_otlp::SpanExporter::builder()
298+
.with_tonic()
299+
.build()
300+
.unwrap(),
301+
)
302+
.build();
299303
opentelemetry::global::set_tracer_provider(tracer_provider.clone());
300304
let tracer = tracer_provider.tracer(service_name);
301305

@@ -305,12 +309,12 @@ pub fn init_tracing(service_name: &'static str) -> anyhow::Result<()> {
305309
.with(tracing_opentelemetry::layer().with_tracer(tracer))
306310
.try_init()?;
307311

308-
Ok(())
312+
Ok(tracer_provider)
309313
}
310314

311315
#[tokio::main]
312316
async fn main() -> anyhow::Result<()> {
313-
init_tracing("Pub/Sub")?;
317+
let tracer_provider = init_tracing("Pub/Sub")?;
314318

315319
let addrs = Publisher {
316320
clients: Arc::new(Mutex::new(HashMap::new())),
@@ -363,7 +367,7 @@ async fn main() -> anyhow::Result<()> {
363367
)
364368
.await?;
365369

366-
opentelemetry::global::shutdown_tracer_provider();
370+
tracer_provider.shutdown()?;
367371
info!("done.");
368372

369373
Ok(())

tarpc/examples/tracing.rs

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,22 @@ where
8080
}
8181

8282
/// Initializes an OpenTelemetry tracing subscriber with a OTLP backend.
83-
pub fn init_tracing(service_name: &'static str) -> anyhow::Result<()> {
84-
let tracer_provider = opentelemetry_otlp::new_pipeline()
85-
.tracing()
86-
.with_batch_config(opentelemetry_sdk::trace::BatchConfig::default())
87-
.with_exporter(opentelemetry_otlp::new_exporter().tonic())
88-
.with_trace_config(opentelemetry_sdk::trace::Config::default().with_resource(
89-
opentelemetry_sdk::Resource::new([opentelemetry::KeyValue::new(
90-
opentelemetry_semantic_conventions::resource::SERVICE_NAME,
91-
service_name,
92-
)]),
93-
))
94-
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
83+
pub fn init_tracing(
84+
service_name: &'static str,
85+
) -> anyhow::Result<opentelemetry_sdk::trace::SdkTracerProvider> {
86+
let tracer_provider = opentelemetry_sdk::trace::SdkTracerProvider::builder()
87+
.with_resource(
88+
opentelemetry_sdk::Resource::builder()
89+
.with_service_name(service_name)
90+
.build(),
91+
)
92+
.with_batch_exporter(
93+
opentelemetry_otlp::SpanExporter::builder()
94+
.with_tonic()
95+
.build()
96+
.unwrap(),
97+
)
98+
.build();
9599
opentelemetry::global::set_tracer_provider(tracer_provider.clone());
96100
let tracer = tracer_provider.tracer(service_name);
97101

@@ -101,7 +105,7 @@ pub fn init_tracing(service_name: &'static str) -> anyhow::Result<()> {
101105
.with(tracing_opentelemetry::layer().with_tracer(tracer))
102106
.try_init()?;
103107

104-
Ok(())
108+
Ok(tracer_provider)
105109
}
106110

107111
async fn listen_on_random_port<Item, SinkItem>() -> anyhow::Result<(
@@ -148,7 +152,7 @@ where
148152

149153
#[tokio::main]
150154
async fn main() -> anyhow::Result<()> {
151-
init_tracing("tarpc_tracing_example")?;
155+
let tracer_provider = init_tracing("tarpc_tracing_example")?;
152156

153157
let (add_listener1, addr1) = listen_on_random_port().await?;
154158
let (add_listener2, addr2) = listen_on_random_port().await?;
@@ -195,7 +199,7 @@ async fn main() -> anyhow::Result<()> {
195199
tracing::info!("{:?}", double_client.double(ctx, 1).await?);
196200
}
197201

198-
opentelemetry::global::shutdown_tracer_provider();
202+
tracer_provider.shutdown()?;
199203

200204
Ok(())
201205
}

0 commit comments

Comments
 (0)