Skip to content

Commit b4549ed

Browse files
committed
put back poll duration histograms
Signed-off-by: Eliza Weisman <[email protected]>
1 parent 17037f5 commit b4549ed

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

console-subscriber/src/aggregator/mod.rs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,6 @@ use std::{
2121
};
2222
use tracing_core::{span::Id, Metadata};
2323

24-
use hdrhistogram::{
25-
serialization::{Serializer, V2SerializeError, V2Serializer},
26-
Histogram,
27-
};
28-
2924
mod id_data;
3025
mod shrink;
3126
use self::id_data::{IdData, Include};
@@ -329,8 +324,7 @@ impl Aggregator {
329324
&& subscription.update(&proto::tasks::TaskDetails {
330325
task_id: Some(id.clone().into()),
331326
now: Some(now.into()),
332-
poll_times_histogram: None, // TODO(eliza): put back
333-
// poll_times_histogram: serialize_histogram(&stats.poll_times_histogram).ok(),
327+
poll_times_histogram: stats.serialize_histogram(),
334328
})
335329
{
336330
self.details_watchers
@@ -720,13 +714,6 @@ impl From<AttributeUpdate> for Attribute {
720714
}
721715
}
722716

723-
fn serialize_histogram(histogram: &Histogram<u64>) -> Result<Vec<u8>, V2SerializeError> {
724-
let mut serializer = V2Serializer::new();
725-
let mut buf = Vec::new();
726-
serializer.serialize(histogram, &mut buf)?;
727-
Ok(buf)
728-
}
729-
730717
fn update_attribute(attribute: &mut Attribute, update: &AttributeUpdate) {
731718
use proto::field::Value::*;
732719
let attribute_val = attribute.field.as_mut().and_then(|a| a.value.as_mut());

console-subscriber/src/stats.rs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
use crate::{attribute, sync::Mutex, ToProto};
2-
use hdrhistogram::Histogram;
1+
use crate::{
2+
attribute,
3+
sync::{Mutex, MutexGuard},
4+
ToProto,
5+
};
6+
use hdrhistogram::{
7+
serialization::{Serializer, V2Serializer},
8+
Histogram,
9+
};
310
use std::cmp;
411
use std::collections::HashMap;
512
use std::sync::{
@@ -218,6 +225,15 @@ impl TaskStats {
218225
fn make_dirty(&self) {
219226
self.is_dirty.swap(true, AcqRel);
220227
}
228+
229+
pub(crate) fn serialize_histogram(&self) -> Option<Vec<u8>> {
230+
let poll_timestamps = self.poll_stats.timestamps.lock();
231+
let histogram = poll_timestamps.histogram.as_ref()?;
232+
let mut serializer = V2Serializer::new();
233+
let mut buf = Vec::new();
234+
serializer.serialize(histogram, &mut buf).ok()?;
235+
Some(buf)
236+
}
221237
}
222238

223239
impl ToProto for TaskStats {

0 commit comments

Comments
 (0)