Skip to content

Commit bda9faa

Browse files
committed
review comments
1 parent de54afe commit bda9faa

File tree

4 files changed

+90
-26
lines changed

4 files changed

+90
-26
lines changed

opentelemetry-sdk/src/metrics/internal/exponential_histogram.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,16 @@ impl<T: Number> ExpoHistogramDataPoint<T> {
100100
if (self.scale - scale_delta as i8) < EXPO_MIN_SCALE {
101101
// With a scale of -10 there is only two buckets for the whole range of f64 values.
102102
// This can only happen if there is a max size of 1.
103+
//TBD - check for throttling requirements if can happen too frequent.
103104
otel_error!(
104105
name: "ExponentialHistogramDataPoint.Scale.Underflow",
105106
current_scale = self.scale,
106107
scale_delta = scale_delta,
107108
max_size = self.max_size,
108109
min_scale = EXPO_MIN_SCALE,
109110
record_min_max = self.record_min_max,
110-
record_sum = self.record_sum
111+
record_sum = self.record_sum,
112+
error = format!("The measurement will be dropped due to scale underflow. Check the histogram configuration")
111113
);
112114
return;
113115
}

opentelemetry-sdk/src/metrics/manual_reader.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::{
55

66
use opentelemetry::{
77
metrics::{MetricsError, Result},
8-
otel_error,
8+
otel_debug,
99
};
1010

1111
use super::{
@@ -77,7 +77,7 @@ impl MetricReader for ManualReader {
7777
if inner.sdk_producer.is_none() {
7878
inner.sdk_producer = Some(pipeline);
7979
} else {
80-
otel_error!(name: "ManualReader.RegisterPipeline.DuplicateRegistration");
80+
otel_debug!(name: "ManualReader.RegisterPipeline.DuplicateRegistration");
8181
}
8282
});
8383
}

opentelemetry-sdk/src/metrics/meter.rs

Lines changed: 84 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,18 @@ impl SdkMeter {
7575
{
7676
let validation_result = validate_instrument_config(builder.name.as_ref(), &builder.unit);
7777
if let Err(err) = validation_result {
78-
otel_error!(name: "SdkMeter.CreateCounter.ValidationError", error = format!("{}", err));
78+
otel_error!(
79+
name: "SdkMeter.CreateCounter.InstrumentCreationFailed",
80+
meter_name = self.scope.name.as_ref(),
81+
instrument_name = builder.name.as_ref(),
82+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err));
7983
return Ok(Counter::new(Arc::new(NoopSyncInstrument::new())));
8084
}
8185

8286
match resolver
8387
.lookup(
8488
InstrumentKind::Counter,
85-
builder.name,
89+
builder.name.clone(),
8690
builder.description,
8791
builder.unit,
8892
None,
@@ -91,7 +95,12 @@ impl SdkMeter {
9195
{
9296
Ok(counter) => Ok(counter),
9397
Err(err) => {
94-
otel_error!(name: "SdkMeter.CreateCounter.Error", error = format!("{}", err));
98+
otel_error!(
99+
name: "SdkMeter.CreateCounter.InstrumentCreationFailed",
100+
meter_name = self.scope.name.as_ref(),
101+
instrument_name = builder.name.as_ref(),
102+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err)
103+
);
95104
Ok(Counter::new(Arc::new(NoopSyncInstrument::new())))
96105
}
97106
}
@@ -107,20 +116,29 @@ impl SdkMeter {
107116
{
108117
let validation_result = validate_instrument_config(builder.name.as_ref(), &builder.unit);
109118
if let Err(err) = validation_result {
110-
otel_error!(name: "SdkMeter.CreateObservableCounter.ValidationError", error = format!("{}", err));
119+
otel_error!(
120+
name: "SdkMeter.CreateObservableCounter.InstrumentCreationFailed",
121+
meter_name = self.scope.name.as_ref(),
122+
instrument_name = builder.name.as_ref(),
123+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err));
111124
return Ok(ObservableCounter::new());
112125
}
113126

114127
let ms = resolver.measures(
115128
InstrumentKind::ObservableCounter,
116-
builder.name,
129+
builder.name.clone(),
117130
builder.description,
118131
builder.unit,
119132
None,
120133
)?;
121134

122135
if ms.is_empty() {
123-
otel_error!(name: "SdkMeter.CreateObservableCounter.Error", error = format!("{}", MetricsError::Other("no measures found".into())));
136+
otel_error!(
137+
name: "SdkMeter.CreateObservableCounter.InstrumentCreationFailed",
138+
meter_name = self.scope.name.as_ref(),
139+
instrument_name = builder.name.as_ref(),
140+
message = "Measurements from the instrument will be ignored. Reason: View Configuration / Drop Aggregation"
141+
);
124142
return Ok(ObservableCounter::new());
125143
}
126144

@@ -145,20 +163,29 @@ impl SdkMeter {
145163
{
146164
let validation_result = validate_instrument_config(builder.name.as_ref(), &builder.unit);
147165
if let Err(err) = validation_result {
148-
otel_error!(name: "SdkMeter.CreateObservableUpDownCounter.ValidationError", error = format!("{}", err));
166+
otel_error!(
167+
name: "SdkMeter.CreateObservableUpDownCounter.InstrumentCreationFailed",
168+
meter_name = self.scope.name.as_ref(),
169+
instrument_name = builder.name.as_ref(),
170+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err));
149171
return Ok(ObservableUpDownCounter::new());
150172
}
151173

152174
let ms = resolver.measures(
153175
InstrumentKind::ObservableUpDownCounter,
154-
builder.name,
176+
builder.name.clone(),
155177
builder.description,
156178
builder.unit,
157179
None,
158180
)?;
159181

160182
if ms.is_empty() {
161-
otel_error!(name: "SdkMeter.CreateObservableUpDownCounter.Error", error = format!("{}",MetricsError::Other("no measures found".into())));
183+
otel_error!(
184+
name: "SdkMeter.CreateUpDownObservableCounter.InstrumentCreationFailed",
185+
meter_name = self.scope.name.as_ref(),
186+
instrument_name = builder.name.as_ref(),
187+
message = "Measurements from the instrument will be ignored. Reason: View Configuration / Drop Aggregation"
188+
);
162189
return Ok(ObservableUpDownCounter::new());
163190
}
164191

@@ -183,20 +210,29 @@ impl SdkMeter {
183210
{
184211
let validation_result = validate_instrument_config(builder.name.as_ref(), &builder.unit);
185212
if let Err(err) = validation_result {
186-
otel_error!(name: "SdkMeter.CreateObservableGauge.ValidationError", error = format!("{}", err));
213+
otel_error!(
214+
name: "SdkMeter.CreateObservableGauge.InstrumentCreationFailed",
215+
meter_name = self.scope.name.as_ref(),
216+
instrument_name = builder.name.as_ref(),
217+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err));
187218
return Ok(ObservableGauge::new());
188219
}
189220

190221
let ms = resolver.measures(
191222
InstrumentKind::ObservableGauge,
192-
builder.name,
223+
builder.name.clone(),
193224
builder.description,
194225
builder.unit,
195226
None,
196227
)?;
197228

198229
if ms.is_empty() {
199-
otel_error!(name: "SdkMeter.CreateObservableGauge.Error",error = format!("{}", MetricsError::Other("no measures found".into())));
230+
otel_error!(
231+
name: "SdkMeter.CreateObservableGauge.InstrumentCreationFailed",
232+
meter_name = self.scope.name.as_ref(),
233+
instrument_name = builder.name.as_ref(),
234+
message = "Measurements from the instrument will be ignored. Reason: View Configuration / Drop Aggregation"
235+
);
200236
return Ok(ObservableGauge::new());
201237
}
202238

@@ -221,14 +257,18 @@ impl SdkMeter {
221257
{
222258
let validation_result = validate_instrument_config(builder.name.as_ref(), &builder.unit);
223259
if let Err(err) = validation_result {
224-
otel_error!(name: "SdkMeter.CreateUpDownCounter.ValidationError", error = format!("{}",err));
260+
otel_error!(
261+
name: "SdkMeter.CreateUpDownCounter.InstrumentCreationFailed",
262+
meter_name = self.scope.name.as_ref(),
263+
instrument_name = builder.name.as_ref(),
264+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err));
225265
return Ok(UpDownCounter::new(Arc::new(NoopSyncInstrument::new())));
226266
}
227267

228268
match resolver
229269
.lookup(
230270
InstrumentKind::UpDownCounter,
231-
builder.name,
271+
builder.name.clone(),
232272
builder.description,
233273
builder.unit,
234274
None,
@@ -237,7 +277,12 @@ impl SdkMeter {
237277
{
238278
Ok(updown_counter) => Ok(updown_counter),
239279
Err(err) => {
240-
otel_error!(name: "SdkMeter.CreateUpDownCounter.Error", error = format!("{}", err));
280+
otel_error!(
281+
name: "SdkMeter.CreateUpDownCounter.InstrumentCreationFailed",
282+
meter_name = self.scope.name.as_ref(),
283+
instrument_name = builder.name.as_ref(),
284+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err)
285+
);
241286
Ok(UpDownCounter::new(Arc::new(NoopSyncInstrument::new())))
242287
}
243288
}
@@ -253,14 +298,18 @@ impl SdkMeter {
253298
{
254299
let validation_result = validate_instrument_config(builder.name.as_ref(), &builder.unit);
255300
if let Err(err) = validation_result {
256-
otel_error!(name: "SdkMeter.CreateGauge.ValidationError", error = format!("{}", err));
301+
otel_error!(
302+
name: "SdkMeter.CreateGauge.InstrumentCreationFailed",
303+
meter_name = self.scope.name.as_ref(),
304+
instrument_name = builder.name.as_ref(),
305+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err));
257306
return Ok(Gauge::new(Arc::new(NoopSyncInstrument::new())));
258307
}
259308

260309
match resolver
261310
.lookup(
262311
InstrumentKind::Gauge,
263-
builder.name,
312+
builder.name.clone(),
264313
builder.description,
265314
builder.unit,
266315
None,
@@ -269,7 +318,12 @@ impl SdkMeter {
269318
{
270319
Ok(gauge) => Ok(gauge),
271320
Err(err) => {
272-
otel_error!(name: "SdkMeter.CreateGauge.Error", error = format!("{}",err));
321+
otel_error!(
322+
name: "SdkMeter.CreateGauge.InstrumentCreationFailed",
323+
meter_name = self.scope.name.as_ref(),
324+
instrument_name = builder.name.as_ref(),
325+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err)
326+
);
273327
Ok(Gauge::new(Arc::new(NoopSyncInstrument::new())))
274328
}
275329
}
@@ -285,14 +339,18 @@ impl SdkMeter {
285339
{
286340
let validation_result = validate_instrument_config(builder.name.as_ref(), &builder.unit);
287341
if let Err(err) = validation_result {
288-
otel_error!(name: "SdkMeter.CreateHistogram.ValidationError", error = format!("{}", err));
342+
otel_error!(
343+
name: "SdkMeter.CreateHistogram.InstrumentCreationFailed",
344+
meter_name = self.scope.name.as_ref(),
345+
instrument_name = builder.name.as_ref(),
346+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err));
289347
return Ok(Histogram::new(Arc::new(NoopSyncInstrument::new())));
290348
}
291349

292350
match resolver
293351
.lookup(
294352
InstrumentKind::Histogram,
295-
builder.name,
353+
builder.name.clone(),
296354
builder.description,
297355
builder.unit,
298356
builder.boundaries,
@@ -301,7 +359,12 @@ impl SdkMeter {
301359
{
302360
Ok(histogram) => Ok(histogram),
303361
Err(err) => {
304-
otel_error!(name: "SdkMeter.CreateHistogram.Error", error = format!("{}",err));
362+
otel_error!(
363+
name: "SdkMeter.CreateHistogram.InstrumentCreationFailed",
364+
meter_name = self.scope.name.as_ref(),
365+
instrument_name = builder.name.as_ref(),
366+
error = format!("Measurements from the instrument will be ignored. Reason: {}", err)
367+
);
305368
Ok(Histogram::new(Arc::new(NoopSyncInstrument::new())))
306369
}
307370
}

opentelemetry-sdk/src/metrics/pipeline.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -712,8 +712,7 @@ where
712712

713713
if errs.is_empty() {
714714
if measures.is_empty() {
715-
// TODO: Emit internal log that measurements from the instrument
716-
// are being dropped due to view configuration
715+
// Error is logged elsewhere.
717716
}
718717
Ok(measures)
719718
} else {

0 commit comments

Comments
 (0)