+ ) {
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ this.statistics.statisticsData.get(entry.name)!.measurementTimeSeries =
+ new CircularBuffer<TimestampedData>(
+ Array<TimestampedData>,
+ Constants.DEFAULT_CIRCULAR_BUFFER_CAPACITY
+ )
+ }
+ this.statistics.statisticsData
+ .get(entry.name)
+ ?.measurementTimeSeries?.push({ timestamp: entry.startTime, value: entry.duration })
+ const timeMeasurementValues = extractTimeSeriesValues(
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ this.statistics.statisticsData.get(entry.name)!.measurementTimeSeries!
+ )
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ this.statistics.statisticsData.get(entry.name)!.avgTimeMeasurement = mean(timeMeasurementValues)
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ this.statistics.statisticsData.get(entry.name)!.medTimeMeasurement =
+ median(timeMeasurementValues)
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ this.statistics.statisticsData.get(entry.name)!.ninetyFiveThPercentileTimeMeasurement =
+ nthPercentile(timeMeasurementValues, 95)
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ this.statistics.statisticsData.get(entry.name)!.stdDevTimeMeasurement = stdDeviation(
+ timeMeasurementValues,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ this.statistics.statisticsData.get(entry.name)!.avgTimeMeasurement
+ )
+ this.statistics.updatedAt = new Date()
+ if (
+ Configuration.getConfigurationSection<StorageConfiguration>(
+ ConfigurationSection.performanceStorage
+ ).enabled === true
+ ) {
+ parentPort?.postMessage(buildPerformanceStatisticsMessage(this.statistics))