Skip to content

Commit 889d68d

Browse files
committed
Upgrade to opentelemetry 0.22
1 parent 101dc89 commit 889d68d

6 files changed

+36
-36
lines changed

Cargo.toml

+8-8
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ default = ["tracing-log", "metrics"]
2525
metrics = ["opentelemetry/metrics","opentelemetry_sdk/metrics", "smallvec"]
2626

2727
[dependencies]
28-
opentelemetry = { version = "0.21.0", default-features = false, features = ["trace"] }
29-
opentelemetry_sdk = { version = "0.21.0", default-features = false, features = ["trace"] }
28+
opentelemetry = { version = "0.22.0", default-features = false, features = ["trace"] }
29+
opentelemetry_sdk = { version = "0.22.0", default-features = false, features = ["trace"] }
3030
tracing = { version = "0.1.35", default-features = false, features = ["std"] }
3131
tracing-core = "0.1.28"
3232
tracing-subscriber = { version = "0.3.0", default-features = false, features = ["registry", "std"] }
@@ -41,12 +41,12 @@ smallvec = { version = "1.0", optional = true }
4141
[dev-dependencies]
4242
async-trait = "0.1.56"
4343
criterion = { version = "0.5.1", default-features = false, features = ["html_reports"] }
44-
opentelemetry = { version = "0.21.0", features = ["trace", "metrics"] }
45-
opentelemetry_sdk = { version = "0.21.0", default-features = false, features = ["trace", "rt-tokio"] }
46-
opentelemetry-jaeger = "0.20.0"
47-
opentelemetry-stdout = { version = "0.2.0", features = ["trace", "metrics"] }
48-
opentelemetry-otlp = { version = "0.14.0", features = ["metrics"] }
49-
opentelemetry-semantic-conventions = "0.13.0"
44+
opentelemetry = { version = "0.22.0", features = ["trace", "metrics"] }
45+
opentelemetry_sdk = { version = "0.22.0", default-features = false, features = ["trace", "rt-tokio"] }
46+
opentelemetry-jaeger = "0.21.0"
47+
opentelemetry-stdout = { version = "0.3.0", features = ["trace", "metrics"] }
48+
opentelemetry-otlp = { version = "0.15.0", features = ["metrics"] }
49+
opentelemetry-semantic-conventions = "0.14.0"
5050
futures-util = { version = "0.3", default-features = false }
5151
tokio = { version = "1", features = ["full"] }
5252
tokio-stream = "0.1"

examples/opentelemetry-otlp.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use opentelemetry::{global, Key, KeyValue};
22
use opentelemetry_sdk::{
33
metrics::{
44
reader::{DefaultAggregationSelector, DefaultTemporalitySelector},
5-
Aggregation, Instrument, MeterProvider, PeriodicReader, Stream,
5+
Aggregation, Instrument, MeterProviderBuilder, PeriodicReader, SdkMeterProvider, Stream,
66
},
77
runtime,
88
trace::{BatchConfig, RandomIdGenerator, Sampler, Tracer},
@@ -29,7 +29,7 @@ fn resource() -> Resource {
2929
}
3030

3131
// Construct MeterProvider for MetricsLayer
32-
fn init_meter_provider() -> MeterProvider {
32+
fn init_meter_provider() -> SdkMeterProvider {
3333
let exporter = opentelemetry_otlp::new_exporter()
3434
.tonic()
3535
.build_metrics_exporter(
@@ -78,7 +78,7 @@ fn init_meter_provider() -> MeterProvider {
7878
}
7979
};
8080

81-
let meter_provider = MeterProvider::builder()
81+
let meter_provider = MeterProviderBuilder::default()
8282
.with_resource(resource())
8383
.with_reader(reader)
8484
.with_reader(stdout_reader)
@@ -128,7 +128,7 @@ fn init_tracing_subscriber() -> OtelGuard {
128128
}
129129

130130
struct OtelGuard {
131-
meter_provider: MeterProvider,
131+
meter_provider: SdkMeterProvider,
132132
}
133133

134134
impl Drop for OtelGuard {

src/metrics.rs

+1-14
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ pub(crate) struct Instruments {
3030
i64_up_down_counter: MetricsMap<UpDownCounter<i64>>,
3131
f64_up_down_counter: MetricsMap<UpDownCounter<f64>>,
3232
u64_histogram: MetricsMap<Histogram<u64>>,
33-
i64_histogram: MetricsMap<Histogram<i64>>,
3433
f64_histogram: MetricsMap<Histogram<f64>>,
3534
}
3635

@@ -43,7 +42,6 @@ pub(crate) enum InstrumentType {
4342
UpDownCounterI64(i64),
4443
UpDownCounterF64(f64),
4544
HistogramU64(u64),
46-
HistogramI64(i64),
4745
HistogramF64(f64),
4846
}
4947

@@ -119,14 +117,6 @@ impl Instruments {
119117
|rec| rec.record(value, attributes),
120118
);
121119
}
122-
InstrumentType::HistogramI64(value) => {
123-
update_or_insert(
124-
&self.i64_histogram,
125-
metric_name,
126-
|| meter.i64_histogram(metric_name).init(),
127-
|rec| rec.record(value, attributes),
128-
);
129-
}
130120
InstrumentType::HistogramF64(value) => {
131121
update_or_insert(
132122
&self.f64_histogram,
@@ -198,9 +188,6 @@ impl<'a> Visit for MetricVisitor<'a> {
198188
} else if let Some(metric_name) = field.name().strip_prefix(METRIC_PREFIX_COUNTER) {
199189
self.visited_metrics
200190
.push((metric_name, InstrumentType::UpDownCounterI64(value)));
201-
} else if let Some(metric_name) = field.name().strip_prefix(METRIC_PREFIX_HISTOGRAM) {
202-
self.visited_metrics
203-
.push((metric_name, InstrumentType::HistogramI64(value)));
204191
} else {
205192
self.attributes.push(KeyValue::new(field.name(), value));
206193
}
@@ -318,7 +305,7 @@ impl<'a> Visit for MetricVisitor<'a> {
318305
/// # use tracing::info;
319306
/// // adds attributes bar="baz" and qux=2 to the `foo` counter.
320307
/// info!(monotonic_counter.foo = 1, bar = "baz", qux = 2);
321-
/// ```
308+
/// ```
322309
///
323310
/// # Implementation Details
324311
///

tests/metrics_publishing.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
use opentelemetry::{metrics::MetricsError, KeyValue};
22
use opentelemetry_sdk::{
33
metrics::{
4-
data,
5-
data::{Histogram, Sum},
4+
data::{self, Histogram, Sum},
65
reader::{
76
AggregationSelector, DefaultAggregationSelector, DefaultTemporalitySelector,
87
MetricReader, TemporalitySelector,
98
},
10-
InstrumentKind, ManualReader, MeterProvider,
9+
InstrumentKind, ManualReader, MeterProviderBuilder, SdkMeterProvider,
1110
},
1211
AttributeSet, Resource,
1312
};
@@ -464,7 +463,9 @@ fn init_subscriber<T>(
464463
inner: Arc::new(reader),
465464
};
466465

467-
let provider = MeterProvider::builder().with_reader(reader.clone()).build();
466+
let provider = MeterProviderBuilder::default()
467+
.with_reader(reader.clone())
468+
.build();
468469
let exporter = TestExporter {
469470
expected_metric_name,
470471
expected_instrument_kind,
@@ -521,7 +522,7 @@ struct TestExporter<T> {
521522
expected_value: T,
522523
expected_attributes: Option<AttributeSet>,
523524
reader: TestReader,
524-
_meter_provider: MeterProvider,
525+
_meter_provider: SdkMeterProvider,
525526
}
526527

527528
impl<T> TestExporter<T>

tests/parents.rs

+15-3
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ fn test_tracer() -> (Tracer, TracerProvider, TestExporter, impl Subscriber) {
3333
let tracer = provider.tracer("test");
3434

3535
let subscriber = tracing_subscriber::registry()
36-
.with(layer().with_tracer(tracer.clone()).with_filter(LevelFilter::DEBUG))
36+
.with(
37+
layer()
38+
.with_tracer(tracer.clone())
39+
.with_filter(LevelFilter::DEBUG),
40+
)
3741
.with(tracing_subscriber::fmt::layer().with_filter(LevelFilter::TRACE));
3842

3943
(tracer, provider, exporter, subscriber)
@@ -81,7 +85,11 @@ fn explicit_parents_of_events() {
8185
let expected_root_events = ["1", "2", "5", "8", "9", "13"];
8286

8387
let root_span = spans.iter().find(|s| s.name == "root").unwrap();
84-
let actual_events: Vec<_> = root_span.events.iter().map(|event| event.name.to_string()).collect();
88+
let actual_events: Vec<_> = root_span
89+
.events
90+
.iter()
91+
.map(|event| event.name.to_string())
92+
.collect();
8593

8694
assert_eq!(&expected_root_events, &actual_events[..]);
8795
}
@@ -91,7 +99,11 @@ fn explicit_parents_of_events() {
9199
let expected_child_events = ["4", "6", "10", "14"];
92100

93101
let child_span = spans.iter().find(|s| s.name == "child").unwrap();
94-
let actual_events: Vec<_> = child_span.events.iter().map(|event| event.name.to_string()).collect();
102+
let actual_events: Vec<_> = child_span
103+
.events
104+
.iter()
105+
.map(|event| event.name.to_string())
106+
.collect();
95107

96108
assert_eq!(&expected_child_events, &actual_events[..]);
97109
}

tests/trace_state_propagation.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use futures_util::future::BoxFuture;
22
use opentelemetry::{
3-
propagation::TextMapPropagator,
3+
propagation::{TextMapCompositePropagator, TextMapPropagator},
44
trace::{SpanContext, TraceContextExt, Tracer as _, TracerProvider as _},
55
Context,
66
};
77
use opentelemetry_sdk::{
88
export::trace::{ExportResult, SpanData, SpanExporter},
9-
propagation::{BaggagePropagator, TextMapCompositePropagator, TraceContextPropagator},
9+
propagation::{BaggagePropagator, TraceContextPropagator},
1010
trace::{Tracer, TracerProvider},
1111
};
1212
use std::collections::{HashMap, HashSet};

0 commit comments

Comments
 (0)