in glean/src/core/metrics/types/timing_distribution.ts [293:316]
private setAccumulateSamplesTransformFn(samples: number[], maxSampleTime: number) {
return (old?: JSONValue): TimingDistributionMetric => {
const values = extractAccumulatedValuesFromJsonValue(old);
const convertedSamples: number[] = [];
samples.forEach((sample) => {
if (sample >= 0) {
// Check the range prior to converting the incoming unit to
// nanoseconds, so we can compare against the constant
// MAX_SAMPLE_TIME.
if (sample === 0) {
sample = 1;
} else if (sample > maxSampleTime) {
sample = maxSampleTime;
}
sample = convertTimeUnitToNanos(sample, this.timeUnit as TimeUnit);
convertedSamples.push(sample);
}
});
return new TimingDistributionMetric([...values, ...convertedSamples]);
};
}