accumulateSamples()

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);
      }
    }
  }