Skip to content

Commit e2ad438

Browse files
authored
Merge branch 'main' into feat/add-resource-builder
2 parents d96d83d + 957659f commit e2ad438

File tree

39 files changed

+226
-176
lines changed

39 files changed

+226
-176
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- rust: stable
2626
os: macos-latest
2727
- rust: stable
28-
os: actuated-arm64-4cpu-16gb
28+
os: otel-linux-arm64
2929
runs-on: ${{ matrix.os }}
3030
continue-on-error: ${{ matrix.rust == 'beta' }}
3131
steps:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ fn main() {
8383
});
8484

8585
// Shutdown trace pipeline
86-
global::shutdown_tracer_provider();
86+
provider.shutdown().expect("TracerProvider should shutdown successfully")
8787
}
8888
```
8989

examples/tracing-grpc/src/client.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
11
use hello_world::greeter_client::GreeterClient;
22
use hello_world::HelloRequest;
33
use opentelemetry::{global, propagation::Injector};
4-
use opentelemetry_sdk::{
5-
propagation::TraceContextPropagator, runtime::Tokio, trace::TracerProvider,
6-
};
4+
use opentelemetry_sdk::{propagation::TraceContextPropagator, runtime::Tokio, trace as sdktrace};
75
use opentelemetry_stdout::SpanExporter;
86

97
use opentelemetry::{
108
trace::{SpanKind, TraceContextExt, Tracer},
119
Context, KeyValue,
1210
};
1311

14-
fn init_tracer() {
12+
fn init_tracer() -> sdktrace::TracerProvider {
1513
global::set_text_map_propagator(TraceContextPropagator::new());
1614
// Install stdout exporter pipeline to be able to retrieve the collected spans.
17-
let provider = TracerProvider::builder()
15+
let provider = sdktrace::TracerProvider::builder()
1816
.with_batch_exporter(SpanExporter::default(), Tokio)
1917
.build();
2018

21-
global::set_tracer_provider(provider);
19+
global::set_tracer_provider(provider.clone());
20+
provider
2221
}
2322

2423
struct MetadataMap<'a>(&'a mut tonic::metadata::MetadataMap);
@@ -75,9 +74,10 @@ async fn greet() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static
7574

7675
#[tokio::main]
7776
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
78-
init_tracer();
77+
let provider = init_tracer();
7978
greet().await?;
80-
opentelemetry::global::shutdown_tracer_provider();
79+
80+
provider.shutdown()?;
8181

8282
Ok(())
8383
}

examples/tracing-grpc/src/server.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ use opentelemetry_sdk::{
1111
use opentelemetry_stdout::SpanExporter;
1212
use tonic::{transport::Server, Request, Response, Status};
1313

14-
fn init_tracer() {
14+
fn init_tracer() -> TracerProvider {
1515
global::set_text_map_propagator(TraceContextPropagator::new());
1616
// Install stdout exporter pipeline to be able to retrieve the collected spans.
1717
let provider = TracerProvider::builder()
1818
.with_batch_exporter(SpanExporter::default(), Tokio)
1919
.build();
2020

21-
global::set_tracer_provider(provider);
21+
global::set_tracer_provider(provider.clone());
22+
provider
2223
}
2324

2425
#[allow(clippy::derive_partial_eq_without_eq)] // tonic don't derive Eq for generated types. We shouldn't manually change it.
@@ -82,7 +83,7 @@ impl Greeter for MyGreeter {
8283

8384
#[tokio::main]
8485
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
85-
init_tracer();
86+
let provider = init_tracer();
8687

8788
let addr = "[::1]:50051".parse()?;
8889
let greeter = MyGreeter::default();
@@ -92,7 +93,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>
9293
.serve(addr)
9394
.await?;
9495

95-
opentelemetry::global::shutdown_tracer_provider();
96+
provider.shutdown()?;
9697

9798
Ok(())
9899
}

examples/tracing-jaeger/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use opentelemetry::global::shutdown_tracer_provider;
21
use opentelemetry::{
32
global,
43
trace::{TraceContextExt, TraceError, Tracer},
@@ -43,6 +42,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
4342
});
4443
});
4544

46-
shutdown_tracer_provider();
45+
tracer_provider.shutdown()?;
46+
4747
Ok(())
4848
}

opentelemetry-jaeger-propagator/Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ rustdoc-args = ["--cfg", "docsrs"]
2323
opentelemetry = { version = "0.27", default-features = false, features = [
2424
"trace",
2525
], path = "../opentelemetry" }
26+
tracing = {workspace = true, optional = true} # optional for opentelemetry internal logging
2627

2728
[dev-dependencies]
2829
opentelemetry = { features = ["testing"], path = "../opentelemetry" }
2930

3031
[features]
31-
default = []
32+
default = ["internal-logs"]
33+
internal-logs = ["tracing"]

opentelemetry-otlp/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,4 @@ reqwest-rustls-webpki-roots = ["reqwest", "opentelemetry-http/reqwest-rustls-web
8383
hyper-client = ["opentelemetry-http/hyper"]
8484

8585
# test
86-
integration-testing = ["tonic", "prost", "tokio/full", "trace"]
86+
integration-testing = ["tonic", "prost", "tokio/full", "trace", "logs"]

opentelemetry-otlp/examples/basic-otlp-http/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
156156

157157
info!(target: "my-target", "hello from {}. My price is {}", "apple", 1.99);
158158

159-
global::shutdown_tracer_provider();
159+
tracer_provider.shutdown()?;
160160
logger_provider.shutdown()?;
161161
meter_provider.shutdown()?;
162162

opentelemetry-otlp/examples/basic-otlp/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
139139
});
140140

141141
info!(name: "my-event", target: "my-target", "hello from {}. My price is {}", "apple", 1.99);
142-
143-
global::shutdown_tracer_provider();
142+
tracer_provider.shutdown()?;
144143
meter_provider.shutdown()?;
145144
logger_provider.shutdown()?;
146145

opentelemetry-otlp/tests/integration_test/Cargo.toml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,15 @@ testcontainers = "0.15.0"
1616

1717
[target.'cfg(unix)'.dependencies]
1818
opentelemetry-appender-log = { path = "../../../opentelemetry-appender-log", default-features = false}
19-
opentelemetry-otlp = { path = "../../../opentelemetry-otlp", features = ["tonic", "metrics", "logs"] }
19+
opentelemetry-otlp = { path = "../../../opentelemetry-otlp", default-features = false }
2020
opentelemetry-semantic-conventions = { path = "../../../opentelemetry-semantic-conventions" }
21+
22+
[features]
23+
hyper-client = ["opentelemetry-otlp/hyper-client", "opentelemetry-otlp/http-proto", "opentelemetry-otlp/trace", "opentelemetry-otlp/logs", "opentelemetry-otlp/metrics"]
24+
reqwest-client = ["opentelemetry-otlp/reqwest-client", "opentelemetry-otlp/http-proto", "opentelemetry-otlp/trace","opentelemetry-otlp/logs", "opentelemetry-otlp/metrics"]
25+
reqwest-blocking-client = ["opentelemetry-otlp/reqwest-blocking-client", "opentelemetry-otlp/http-proto", "opentelemetry-otlp/trace","opentelemetry-otlp/logs", "opentelemetry-otlp/metrics"]
26+
tonic-client = ["opentelemetry-otlp/grpc-tonic", "opentelemetry-otlp/trace", "opentelemetry-otlp/logs", "opentelemetry-otlp/metrics"]
27+
28+
# Keep tonic as the default client
29+
default = ["tonic-client"]
30+

0 commit comments

Comments
 (0)