accumulateRawSamplesNanos()

in glean/src/core/metrics/types/timing_distribution.ts [263:283]


  accumulateRawSamplesNanos(samples: number[]) {
    if (!this.shouldRecord(Context.uploadEnabled)) {
      return;
    }

    const maxSampleTime = convertTimeUnitToNanos(MAX_SAMPLE_TIME, this.timeUnit as TimeUnit);
    Context.metricsDatabase.transform(
      this,
      this.accumulateRawSamplesNanosTransformFn(samples, maxSampleTime)
    );

    const numTooLongSamples = getNumTooLongSamples(samples, maxSampleTime);
    if (numTooLongSamples > 0) {
      Context.errorManager.record(
        this,
        ErrorType.InvalidOverflow,
        `${numTooLongSamples} samples are longer than the maximum of ${maxSampleTime}`,
        numTooLongSamples
      );
    }
  }