Skip to content

Commit f12f96a

Browse files
authored
Merge branch 'main' into chore/cleanup-shutdown
2 parents 154b765 + d0ef365 commit f12f96a

File tree

47 files changed

+1585
-1582
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1585
-1582
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ reqwest = { version = "0.12", default-features = false }
3939
serde = { version = "1.0", default-features = false }
4040
serde_json = "1.0"
4141
temp-env = "0.3.6"
42-
thiserror = { version = "1", default-features = false }
42+
thiserror = { version = "2", default-features = false }
4343
tonic = { version = "0.12.3", default-features = false }
4444
tonic-build = "0.12"
4545
tokio = { version = "1", default-features = false }

examples/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This directory contains some examples that should help you get start crates from
77
This example uses following crates from this repo:
88

99
- opentelemetry(log)
10-
- opentelemetry-appender-log
10+
- opentelemetry-appender-tracing
1111
- opentelemetry-stdout
1212

1313
Check this example if you want to understand *how to instrument logs using opentelemetry*.

examples/metrics-advanced/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use opentelemetry::KeyValue;
44
use opentelemetry_sdk::metrics::{
55
Aggregation, Instrument, PeriodicReader, SdkMeterProvider, Stream, Temporality,
66
};
7-
use opentelemetry_sdk::{runtime, Resource};
7+
use opentelemetry_sdk::Resource;
88
use std::error::Error;
99

1010
fn init_meter_provider() -> opentelemetry_sdk::metrics::SdkMeterProvider {
@@ -49,7 +49,7 @@ fn init_meter_provider() -> opentelemetry_sdk::metrics::SdkMeterProvider {
4949
.with_temporality(Temporality::Delta)
5050
.build();
5151

52-
let reader = PeriodicReader::builder(exporter, runtime::Tokio).build();
52+
let reader = PeriodicReader::builder(exporter).build();
5353
let provider = SdkMeterProvider::builder()
5454
.with_reader(reader)
5555
.with_resource(Resource::new([KeyValue::new(

examples/metrics-basic/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use opentelemetry::{global, KeyValue};
22
use opentelemetry_sdk::metrics::{PeriodicReader, SdkMeterProvider};
3-
use opentelemetry_sdk::{runtime, Resource};
3+
use opentelemetry_sdk::Resource;
44
use std::error::Error;
55
use std::vec;
66

@@ -9,7 +9,7 @@ fn init_meter_provider() -> opentelemetry_sdk::metrics::SdkMeterProvider {
99
// Build exporter using Delta Temporality (Defaults to Temporality::Cumulative)
1010
// .with_temporality(opentelemetry_sdk::metrics::Temporality::Delta)
1111
.build();
12-
let reader = PeriodicReader::builder(exporter, runtime::Tokio).build();
12+
let reader = PeriodicReader::builder(exporter).build();
1313
let provider = SdkMeterProvider::builder()
1414
.with_reader(reader)
1515
.with_resource(Resource::new([KeyValue::new(

examples/self-diagnostics/Cargo.toml

Lines changed: 0 additions & 15 deletions
This file was deleted.

examples/self-diagnostics/README.md

Lines changed: 0 additions & 28 deletions
This file was deleted.

examples/self-diagnostics/src/main.rs

Lines changed: 0 additions & 73 deletions
This file was deleted.

opentelemetry-otlp/examples/basic-otlp-http/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ license = "Apache-2.0"
66
publish = false
77

88
[features]
9-
default = ["reqwest"]
9+
default = ["reqwest", "experimental_metrics_periodicreader_with_async_runtime"]
1010
reqwest = ["opentelemetry-otlp/reqwest-client"]
1111
hyper = ["opentelemetry-otlp/hyper-client"]
12+
experimental_metrics_periodicreader_with_async_runtime = ["opentelemetry_sdk/experimental_metrics_periodicreader_with_async_runtime"]
1213

1314

1415
[dependencies]
1516
once_cell = { workspace = true }
1617
opentelemetry = { path = "../../../opentelemetry" }
17-
opentelemetry_sdk = { path = "../../../opentelemetry-sdk", features = ["rt-tokio", "metrics", "logs"]}
18+
opentelemetry_sdk = { path = "../../../opentelemetry-sdk", features = ["rt-tokio", "experimental_metrics_periodicreader_with_async_runtime"]}
1819
opentelemetry-http = { path = "../../../opentelemetry-http", optional = true, default-features = false}
1920
opentelemetry-otlp = { path = "../..", features = ["http-proto", "http-json", "logs"] , default-features = false}
2021
opentelemetry-appender-tracing = { path = "../../../opentelemetry-appender-tracing", default-features = false}

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

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use opentelemetry_otlp::WithExportConfig;
1010
use opentelemetry_otlp::{LogExporter, MetricExporter, Protocol, SpanExporter};
1111
use opentelemetry_sdk::{
1212
logs::LoggerProvider,
13-
metrics::{MetricError, PeriodicReader, SdkMeterProvider},
13+
metrics::{MetricError, SdkMeterProvider},
1414
runtime,
1515
trace::{self as sdktrace, TracerProvider},
1616
};
@@ -63,20 +63,25 @@ fn init_metrics() -> Result<opentelemetry_sdk::metrics::SdkMeterProvider, Metric
6363
.with_endpoint("http://localhost:4318/v1/metrics")
6464
.build()?;
6565

66+
#[cfg(feature = "experimental_metrics_periodicreader_with_async_runtime")]
67+
let reader =
68+
opentelemetry_sdk::metrics::periodic_reader_with_async_runtime::PeriodicReader::builder(
69+
exporter,
70+
runtime::Tokio,
71+
)
72+
.build();
73+
// TODO: This does not work today. See https://github.com/open-telemetry/opentelemetry-rust/issues/2400
74+
#[cfg(not(feature = "experimental_metrics_periodicreader_with_async_runtime"))]
75+
let reader = opentelemetry_sdk::metrics::PeriodicReader::builder(exporter).build();
76+
6677
Ok(SdkMeterProvider::builder()
67-
.with_reader(PeriodicReader::builder(exporter, runtime::Tokio).build())
78+
.with_reader(reader)
6879
.with_resource(RESOURCE.clone())
6980
.build())
7081
}
7182

7283
#[tokio::main]
7384
async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
74-
let tracer_provider = init_traces()?;
75-
global::set_tracer_provider(tracer_provider.clone());
76-
77-
let meter_provider = init_metrics()?;
78-
global::set_meter_provider(meter_provider.clone());
79-
8085
let logger_provider = init_logs()?;
8186

8287
// Create a new OpenTelemetryTracingBridge using the above LoggerProvider.
@@ -115,6 +120,12 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
115120
.with(fmt_layer)
116121
.init();
117122

123+
let tracer_provider = init_traces()?;
124+
global::set_tracer_provider(tracer_provider.clone());
125+
126+
let meter_provider = init_metrics()?;
127+
global::set_meter_provider(meter_provider.clone());
128+
118129
let common_scope_attributes = vec![KeyValue::new("scope-key", "scope-value")];
119130
let scope = InstrumentationScope::builder("basic")
120131
.with_version("1.0")

opentelemetry-otlp/examples/basic-otlp/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ publish = false
77

88
[dependencies]
99
once_cell = { workspace = true }
10-
opentelemetry = { path = "../../../opentelemetry", features = ["metrics", "logs"] }
11-
opentelemetry_sdk = { path = "../../../opentelemetry-sdk", features = ["rt-tokio", "logs"] }
12-
opentelemetry-otlp = { path = "../../../opentelemetry-otlp", features = ["tonic", "metrics", "logs"] }
10+
opentelemetry = { path = "../../../opentelemetry" }
11+
opentelemetry_sdk = { path = "../../../opentelemetry-sdk", features = ["rt-tokio"] }
12+
opentelemetry-otlp = { path = "../../../opentelemetry-otlp" }
1313
opentelemetry-semantic-conventions = { path = "../../../opentelemetry-semantic-conventions" }
1414
tokio = { version = "1.0", features = ["full"] }
1515
opentelemetry-appender-tracing = { path = "../../../opentelemetry-appender-tracing", default-features = false}

0 commit comments

Comments
 (0)