summaryrefslogtreecommitdiffstats
path: root/toolkit/components/glean/api/src/private/custom_distribution.rs
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/glean/api/src/private/custom_distribution.rs')
-rw-r--r--toolkit/components/glean/api/src/private/custom_distribution.rs17
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>>>(