Skip to content

Commit 6c69bbe

Browse files
authored
Revert "Allow precreation of AttributeSets for metrics (open-telemetry#1421)"
This reverts commit 16fd1ab.
1 parent dd4c13b commit 6c69bbe

File tree

41 files changed

+503
-795
lines changed

Some content is hidden

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

41 files changed

+503
-795
lines changed

examples/metrics-basic/src/main.rs

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
use opentelemetry::metrics::Unit;
2-
use opentelemetry::AttributeSet;
32
use opentelemetry::{metrics::MeterProvider as _, KeyValue};
43
use opentelemetry_sdk::metrics::{PeriodicReader, SdkMeterProvider};
54
use opentelemetry_sdk::{runtime, Resource};
@@ -53,10 +52,11 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
5352
observer.observe_u64(
5453
&observable_counter,
5554
100,
56-
AttributeSet::from(&[
55+
[
5756
KeyValue::new("mykey1", "myvalue1"),
5857
KeyValue::new("mykey2", "myvalue2"),
59-
]),
58+
]
59+
.as_ref(),
6060
)
6161
})?;
6262

@@ -84,10 +84,11 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
8484
observer.observe_i64(
8585
&observable_up_down_counter,
8686
100,
87-
AttributeSet::from(&[
87+
[
8888
KeyValue::new("mykey1", "myvalue1"),
8989
KeyValue::new("mykey2", "myvalue2"),
90-
]),
90+
]
91+
.as_ref(),
9192
)
9293
})?;
9394

@@ -141,10 +142,11 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
141142
observer.observe_f64(
142143
&observable_gauge,
143144
1.0,
144-
AttributeSet::from(&[
145+
[
145146
KeyValue::new("mykey1", "myvalue1"),
146147
KeyValue::new("mykey2", "myvalue2"),
147-
]),
148+
]
149+
.as_ref(),
148150
)
149151
})?;
150152

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

+4-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ use opentelemetry_sdk::metrics as sdkmetrics;
1111
use opentelemetry_sdk::resource;
1212
use opentelemetry_sdk::trace as sdktrace;
1313

14-
use opentelemetry::AttributeSet;
1514
use std::error::Error;
1615
use tracing::info;
1716
use tracing_subscriber::prelude::*;
@@ -63,13 +62,13 @@ fn init_metrics() -> metrics::Result<sdkmetrics::SdkMeterProvider> {
6362
const LEMONS_KEY: Key = Key::from_static_str("ex.com/lemons");
6463
const ANOTHER_KEY: Key = Key::from_static_str("ex.com/another");
6564

66-
static COMMON_ATTRIBUTES: Lazy<AttributeSet> = Lazy::new(|| {
67-
AttributeSet::from(&[
65+
static COMMON_ATTRIBUTES: Lazy<[KeyValue; 4]> = Lazy::new(|| {
66+
[
6867
LEMONS_KEY.i64(10),
6968
KeyValue::new("A", "1"),
7069
KeyValue::new("B", "2"),
7170
KeyValue::new("C", "3"),
72-
])
71+
]
7372
});
7473

7574
#[tokio::main]
@@ -105,7 +104,7 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
105104
info!(target: "my-target", "hello from {}. My price is {}", "apple", 1.99);
106105

107106
let histogram = meter.f64_histogram("ex.com.two").init();
108-
histogram.record(5.5, COMMON_ATTRIBUTES.clone());
107+
histogram.record(5.5, COMMON_ATTRIBUTES.as_ref());
109108

110109
global::shutdown_tracer_provider();
111110
global::shutdown_logger_provider();

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

+5-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use opentelemetry::global;
44
use opentelemetry::global::{logger_provider, shutdown_logger_provider, shutdown_tracer_provider};
55
use opentelemetry::logs::LogError;
66
use opentelemetry::trace::TraceError;
7-
use opentelemetry::AttributeSet;
87
use opentelemetry::{
98
metrics,
109
trace::{TraceContextExt, Tracer},
@@ -73,13 +72,13 @@ fn init_logs() -> Result<opentelemetry_sdk::logs::Logger, LogError> {
7372
const LEMONS_KEY: Key = Key::from_static_str("lemons");
7473
const ANOTHER_KEY: Key = Key::from_static_str("ex.com/another");
7574

76-
static COMMON_ATTRIBUTES: Lazy<AttributeSet> = Lazy::new(|| {
77-
AttributeSet::from(&[
75+
static COMMON_ATTRIBUTES: Lazy<[KeyValue; 4]> = Lazy::new(|| {
76+
[
7877
LEMONS_KEY.i64(10),
7978
KeyValue::new("A", "1"),
8079
KeyValue::new("B", "2"),
8180
KeyValue::new("C", "3"),
82-
])
81+
]
8382
});
8483

8584
#[tokio::main]
@@ -110,11 +109,11 @@ async fn main() -> Result<(), Box<dyn Error + Send + Sync + 'static>> {
110109
.init();
111110

112111
meter.register_callback(&[gauge.as_any()], move |observer| {
113-
observer.observe_f64(&gauge, 1.0, COMMON_ATTRIBUTES.clone())
112+
observer.observe_f64(&gauge, 1.0, COMMON_ATTRIBUTES.as_ref())
114113
})?;
115114

116115
let histogram = meter.f64_histogram("ex.com.two").init();
117-
histogram.record(5.5, COMMON_ATTRIBUTES.clone());
116+
histogram.record(5.5, COMMON_ATTRIBUTES.as_ref());
118117

119118
tracer.in_span("operation", |cx| {
120119
let span = cx.span();

opentelemetry-prometheus/examples/hyper.rs

+4-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use hyper::{
44
Body, Method, Request, Response, Server,
55
};
66
use once_cell::sync::Lazy;
7-
use opentelemetry::AttributeSet;
87
use opentelemetry::{
98
metrics::{Counter, Histogram, MeterProvider as _, Unit},
109
KeyValue,
@@ -15,8 +14,7 @@ use std::convert::Infallible;
1514
use std::sync::Arc;
1615
use std::time::SystemTime;
1716

18-
static HANDLER_ALL: Lazy<AttributeSet> =
19-
Lazy::new(|| AttributeSet::from(&[KeyValue::new("handler", "all")]));
17+
static HANDLER_ALL: Lazy<[KeyValue; 1]> = Lazy::new(|| [KeyValue::new("handler", "all")]);
2018

2119
async fn serve_req(
2220
req: Request<Body>,
@@ -25,7 +23,7 @@ async fn serve_req(
2523
println!("Receiving request at path {}", req.uri());
2624
let request_start = SystemTime::now();
2725

28-
state.http_counter.add(1, HANDLER_ALL.clone());
26+
state.http_counter.add(1, HANDLER_ALL.as_ref());
2927

3028
let response = match (req.method(), req.uri().path()) {
3129
(&Method::GET, "/metrics") => {
@@ -35,7 +33,7 @@ async fn serve_req(
3533
encoder.encode(&metric_families, &mut buffer).unwrap();
3634
state
3735
.http_body_gauge
38-
.record(buffer.len() as u64, HANDLER_ALL.clone());
36+
.record(buffer.len() as u64, HANDLER_ALL.as_ref());
3937

4038
Response::builder()
4139
.status(200)
@@ -55,7 +53,7 @@ async fn serve_req(
5553

5654
state.http_req_histogram.record(
5755
request_start.elapsed().map_or(0.0, |d| d.as_secs_f64()),
58-
AttributeSet::default(),
56+
&[],
5957
);
6058
Ok(response)
6159
}

opentelemetry-prometheus/src/lib.rs

+3-6
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
//! [Prometheus]: https://prometheus.io
44
//!
55
//! ```
6-
//! use opentelemetry::{AttributeSet, metrics::MeterProvider, KeyValue};
6+
//! use opentelemetry::{metrics::MeterProvider, KeyValue};
77
//! use opentelemetry_sdk::metrics::SdkMeterProvider;
88
//! use prometheus::{Encoder, TextEncoder};
99
//!
1010
//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
1111
//!
1212
//! // create a new prometheus registry
13-
//! use opentelemetry::AttributeSet;
1413
//! let registry = prometheus::Registry::new();
1514
//!
1615
//! // configure OpenTelemetry to use this registry
@@ -32,10 +31,8 @@
3231
//! .with_description("Records values")
3332
//! .init();
3433
//!
35-
//! let attributes = AttributeSet::from(&[KeyValue::new("key", "value")]);
36-
//!
37-
//! counter.add(100, attributes.clone());
38-
//! histogram.record(100, attributes);
34+
//! counter.add(100, &[KeyValue::new("key", "value")]);
35+
//! histogram.record(100, &[KeyValue::new("key", "value")]);
3936
//!
4037
//! // Encode data as text or protobuf
4138
//! let encoder = TextEncoder::new();

0 commit comments

Comments
 (0)