in glean/src/core/metrics/types/custom_distribution.ts [146:168]
accumulateSamples(samples: number[]) {
if (!this.shouldRecord(Context.uploadEnabled)) {
return;
}
try {
Context.metricsDatabase.transform(this, this.transformFn(samples));
const numNegativeSamples = getNumNegativeSamples(samples);
if (numNegativeSamples > 0) {
Context.errorManager.record(
this,
ErrorType.InvalidValue,
`Accumulated ${numNegativeSamples} negative samples`,
numNegativeSamples
);
}
} catch (e) {
if (e instanceof MetricValidationError) {
e.recordError(this);
}
}
}