diff options
Diffstat (limited to 'toolkit/components/glean/api/src/private/custom_distribution.rs')
-rw-r--r-- | toolkit/components/glean/api/src/private/custom_distribution.rs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/toolkit/components/glean/api/src/private/custom_distribution.rs b/toolkit/components/glean/api/src/private/custom_distribution.rs index aeaf9b58c2..85121fca1e 100644 --- a/toolkit/components/glean/api/src/private/custom_distribution.rs +++ b/toolkit/components/glean/api/src/private/custom_distribution.rs @@ -92,8 +92,21 @@ impl CustomDistribution for CustomDistributionMetric { } } - pub fn accumulate_single_sample_signed(&self, _sample: i64) { - unimplemented!("bug 1884183: expose this to FOG") + pub fn accumulate_single_sample_signed(&self, sample: i64) { + match self { + CustomDistributionMetric::Parent { inner, .. } => { + inner.accumulate_single_sample(sample) + } + CustomDistributionMetric::Child(c) => { + with_ipc_payload(move |payload| { + if let Some(v) = payload.custom_samples.get_mut(&c.0) { + v.push(sample); + } else { + payload.custom_samples.insert(c.0, vec![sample]); + } + }); + } + } } pub fn test_get_value<'a, S: Into<Option<&'a str>>>( |