Skip to content

Commit 173c54e

Browse files
committed
update more otel stuff
1 parent 7b86a8b commit 173c54e

File tree

10 files changed

+25
-21
lines changed

10 files changed

+25
-21
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
- run: cargo test --features=prometheus-exporter,metrics-0_21
3030
- run: cargo test --features=prometheus-exporter,prometheus-0_13
3131
- run: cargo test --features=prometheus-exporter,prometheus-client-0_22,exemplars-tracing
32-
- run: cargo test --features=prometheus-exporter,prometheus-client-0_22,exemplars-tracing-opentelemetry-0_24
32+
- run: cargo test --features=prometheus-exporter,prometheus-client-0_22,exemplars-tracing-opentelemetry-0_25
3333
- run: cargo test --features=prometheus-exporter,opentelemetry-0_24
3434

3535
# Build the crate using the other optional features

autometrics/Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ metrics = ["metrics-0_21"]
2424
opentelemetry = ["opentelemetry-0_24"]
2525
prometheus = ["prometheus-0_13"]
2626
prometheus-client = ["prometheus-client-0_22"]
27-
exemplars-tracing-opentelemetry = ["exemplars-tracing-opentelemetry-0_24"]
27+
exemplars-tracing-opentelemetry = ["exemplars-tracing-opentelemetry-0_25"]
2828

2929
# Misc
3030
prometheus-exporter = [
@@ -72,11 +72,11 @@ otel-push-exporter-async-std = [
7272

7373
# Exemplars
7474
exemplars-tracing = ["tracing", "tracing-subscriber"]
75-
exemplars-tracing-opentelemetry-0_24 = [
75+
exemplars-tracing-opentelemetry-0_25 = [
7676
"dep:opentelemetry",
7777
"opentelemetry_sdk/trace",
7878
"tracing",
79-
"dep:tracing-opentelemetry-0-24",
79+
"dep:tracing-opentelemetry",
8080
]
8181

8282
# Custom objectives
@@ -99,7 +99,7 @@ metrics = { version = "0.21", default-features = false, optional = true }
9999
# Used for prometheus-exporter feature
100100
http = { version = "1.0.0", optional = true }
101101
metrics-exporter-prometheus = { version = "0.12", default-features = false, optional = true }
102-
opentelemetry-prometheus = { version = "0.16", optional = true }
102+
opentelemetry-prometheus = { version = "0.17", optional = true }
103103
opentelemetry_sdk = { version = "0.24.1", default-features = false, features = [
104104
"metrics",
105105
], optional = true }
@@ -116,7 +116,7 @@ tracing-subscriber = { version = "0.3", default-features = false, features = [
116116
], optional = true }
117117

118118
# Used for exemplars-tracing-opentelemetry feature
119-
tracing-opentelemetry-0-24 = { package = "tracing-opentelemetry", version = "0.24", default-features = false, optional = true }
119+
tracing-opentelemetry = { version = "0.25", default-features = false, optional = true }
120120

121121
[dev-dependencies]
122122
async-trait = "0.1.74"

autometrics/build.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub fn main() {
1212
#[cfg(feature = "prometheus-client")]
1313
println!("cargo:warning=The `prometheus-client` feature is deprecated and will be removed in the next version. Please use `prometheus-client-0_22` instead.");
1414
#[cfg(feature = "exemplars-tracing-opentelemetry")]
15-
println!("cargo:warning=The `exemplars-tracing-opentelemetry` feature is deprecated and will be removed in the next version. Please use `exemplars-tracing-opentelemetry-0_24` instead.");
15+
println!("cargo:warning=The `exemplars-tracing-opentelemetry` feature is deprecated and will be removed in the next version. Please use `exemplars-tracing-opentelemetry-0_25` instead.");
1616

1717
cfg_aliases! {
1818
// Backends
@@ -32,7 +32,7 @@ pub fn main() {
3232
// Exemplars
3333
exemplars: { any(exemplars_tracing, exemplars_tracing_opentelemetry) },
3434
exemplars_tracing: { feature = "exemplars-tracing" },
35-
exemplars_tracing_opentelemetry: { any(feature = "exemplars-tracing-opentelemetry-0_24", feature = "exemplars-tracing-opentelemetry") },
35+
exemplars_tracing_opentelemetry: { any(feature = "exemplars-tracing-opentelemetry-0_25", feature = "exemplars-tracing-opentelemetry") },
3636

3737
// Custom objectives
3838
custom_objective_percentile: { feature = "custom-objective-percentile" },

autometrics/src/exemplars/tracing_opentelemetry.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use super::TraceLabels;
22
use opentelemetry::trace::TraceContextExt as _;
33
use std::iter::FromIterator;
44
use tracing::Span;
5-
use tracing_opentelemetry_0_24::OpenTelemetrySpanExt;
5+
use tracing_opentelemetry::OpenTelemetrySpanExt;
66

77
pub fn get_exemplar() -> Option<TraceLabels> {
88
// Get the OpenTelemetry Context from the tracing span

autometrics/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ mod constants;
99
#[cfg(any(
1010
feature = "exemplars-tracing",
1111
feature = "exemplars-tracing-opentelemetry",
12-
feature = "exemplars-tracing-opentelemetry-0_24",
12+
feature = "exemplars-tracing-opentelemetry-0_25",
1313
))]
1414
pub mod exemplars;
1515
mod labels;

autometrics/src/otel_push_exporter.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
use opentelemetry::metrics::MetricsError;
22
use opentelemetry_otlp::{ExportConfig, Protocol, WithExportConfig};
33
use opentelemetry_otlp::{OtlpMetricPipeline, OTEL_EXPORTER_OTLP_TIMEOUT_DEFAULT};
4-
use opentelemetry_sdk::metrics::MeterProvider;
4+
use opentelemetry_sdk::metrics::SdkMeterProvider;
55
use std::ops::Deref;
66
use std::time::Duration;
77

8-
/// Newtype struct holding a [`MeterProvider`] with a custom `Drop` implementation to automatically clean up itself
8+
/// Newtype struct holding a [`SdkMeterProvider`] with a custom `Drop` implementation to automatically clean up itself
99
#[repr(transparent)]
1010
#[must_use = "Assign this to a unused variable instead: `let _meter = ...` (NOT `let _ = ...`), as else it will be dropped immediately - which will cause it to be shut down"]
11-
pub struct OtelMeterProvider(MeterProvider);
11+
pub struct OtelMeterProvider(SdkMeterProvider);
1212

1313
impl Deref for OtelMeterProvider {
14-
type Target = MeterProvider;
14+
type Target = SdkMeterProvider;
1515

1616
fn deref(&self) -> &Self::Target {
1717
&self.0

autometrics/src/prometheus_exporter.rs

+7-3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ use metrics_exporter_prometheus::{BuildError, PrometheusBuilder, PrometheusHandl
2929
use once_cell::sync::OnceCell;
3030
#[cfg(opentelemetry)]
3131
use opentelemetry::metrics::MetricsError;
32+
#[cfg(opentelemetry)]
33+
use opentelemetry_sdk::metrics::SdkMeterProvider;
3234
#[cfg(any(opentelemetry, prometheus))]
3335
use prometheus::TextEncoder;
3436
use thiserror::Error;
@@ -213,7 +215,7 @@ fn initialize_prometheus_exporter() -> Result<GlobalPrometheus, ExporterInitiali
213215
use opentelemetry::global;
214216
use opentelemetry_prometheus::exporter;
215217
use opentelemetry_sdk::metrics::reader::AggregationSelector;
216-
use opentelemetry_sdk::metrics::{Aggregation, InstrumentKind, MeterProvider};
218+
use opentelemetry_sdk::metrics::{Aggregation, InstrumentKind};
217219

218220
/// A custom aggregation selector that uses the configured histogram buckets,
219221
/// along with the other default aggregation settings.
@@ -228,7 +230,9 @@ fn initialize_prometheus_exporter() -> Result<GlobalPrometheus, ExporterInitiali
228230
| InstrumentKind::UpDownCounter
229231
| InstrumentKind::ObservableCounter
230232
| InstrumentKind::ObservableUpDownCounter => Aggregation::Sum,
231-
InstrumentKind::ObservableGauge => Aggregation::LastValue,
233+
InstrumentKind::ObservableGauge | InstrumentKind::Gauge => {
234+
Aggregation::LastValue
235+
}
232236
InstrumentKind::Histogram => Aggregation::ExplicitBucketHistogram {
233237
boundaries: self.histogram_buckets.clone(),
234238
record_min_max: false,
@@ -246,7 +250,7 @@ fn initialize_prometheus_exporter() -> Result<GlobalPrometheus, ExporterInitiali
246250
.without_target_info()
247251
.build()?;
248252

249-
let meter_provider = MeterProvider::builder().with_reader(exporter).build();
253+
let meter_provider = SdkMeterProvider::builder().with_reader(exporter).build();
250254

251255
global::set_meter_provider(meter_provider);
252256
}

autometrics/src/settings.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ impl AutometricsSettingsBuilder {
195195
let (prometheus_client_registry, prometheus_client_metrics) =
196196
crate::tracker::prometheus_client::initialize_registry(
197197
self.prometheus_client_registry
198-
.unwrap_or_else(|| <prometheus_client::registry::Registry>::default()),
198+
.unwrap_or_else(<prometheus_client::registry::Registry>::default),
199199
);
200200

201201
let repo_url = self

autometrics/tests/exemplars_test.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ fn tracing_opentelemetry_context() {
7070
let tracer = provider.tracer("test");
7171

7272
// This adds the OpenTelemetry Context to every tracing Span
73-
#[cfg(feature = "exemplars-tracing-opentelemetry-0_24")]
74-
let otel_layer = tracing_opentelemetry_0_22::layer().with_tracer(tracer);
73+
#[cfg(feature = "exemplars-tracing-opentelemetry-0_25")]
74+
let otel_layer = tracing_opentelemetry::layer().with_tracer(tracer);
7575

7676
let subscriber = Registry::default().with(otel_layer);
7777

examples/exemplars-tracing-opentelemetry/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ edition = "2021"
88
autometrics = { path = "../../autometrics", features = [
99
"prometheus-client-0_22",
1010
"prometheus-exporter",
11-
"exemplars-tracing-opentelemetry-0_24",
11+
"exemplars-tracing-opentelemetry-0_25",
1212
] }
1313
autometrics-example-util = { path = "../util" }
1414
axum = { version = "0.7.2", features = ["json"] }

0 commit comments

Comments
 (0)