Skip to content

Commit 531ea49

Browse files
committed
Update AynshronousInstrumentBuilder
1 parent 3f5c230 commit 531ea49

File tree

2 files changed

+7
-7
lines changed
  • opentelemetry-sdk/src/metrics
  • opentelemetry/src/metrics/instruments

2 files changed

+7
-7
lines changed

opentelemetry-sdk/src/metrics/meter.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ impl SdkMeter {
125125

126126
let observable = Arc::new(Observable::new(ms));
127127

128-
for callback in builder.callbacks {
128+
if let Some(callback) = builder.callback {
129129
let cb_inst = Arc::clone(&observable);
130130
self.pipes
131131
.register_callback(move || callback(cb_inst.as_ref()));
@@ -166,7 +166,7 @@ impl SdkMeter {
166166

167167
let observable = Arc::new(Observable::new(ms));
168168

169-
for callback in builder.callbacks {
169+
if let Some(callback) = builder.callback {
170170
let cb_inst = Arc::clone(&observable);
171171
self.pipes
172172
.register_callback(move || callback(cb_inst.as_ref()));
@@ -203,7 +203,7 @@ impl SdkMeter {
203203

204204
let observable = Arc::new(Observable::new(ms));
205205

206-
for callback in builder.callbacks {
206+
if let Some(callback) = builder.callback {
207207
let cb_inst = Arc::clone(&observable);
208208
self.pipes
209209
.register_callback(move || callback(cb_inst.as_ref()));

opentelemetry/src/metrics/instruments/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ where
258258
pub unit: Option<Cow<'static, str>>,
259259

260260
/// Callbacks to be called for this instrument.
261-
pub callbacks: Vec<Callback<M>>,
261+
pub callback: Option<Callback<M>>,
262262

263263
_inst: marker::PhantomData<I>,
264264
}
@@ -275,7 +275,7 @@ where
275275
description: None,
276276
unit: None,
277277
_inst: marker::PhantomData,
278-
callbacks: Vec::new(),
278+
callback: None,
279279
}
280280
}
281281

@@ -302,7 +302,7 @@ where
302302
where
303303
F: Fn(&dyn AsyncInstrument<M>) + Send + Sync + 'static,
304304
{
305-
self.callbacks.push(Box::new(callback));
305+
self.callback = Some(Box::new(callback));
306306
self
307307
}
308308
}
@@ -354,7 +354,7 @@ where
354354
.field("description", &self.description)
355355
.field("unit", &self.unit)
356356
.field("kind", &std::any::type_name::<I>())
357-
.field("callbacks_len", &self.callbacks.len())
357+
.field("has callback", &self.callback.is_some())
358358
.finish()
359359
}
360360
}

0 commit comments

Comments
 (0)