import { parentPort } from 'node:worker_threads';
import {
+ ConfigurationSection,
type IncomingRequestCommand,
+ type LogConfiguration,
MessageType,
type RequestCommand,
type Statistics,
+ type StorageConfiguration,
type TimestampedData,
} from '../types';
import {
public start(): void {
this.startLogStatisticsInterval();
- if (Configuration.getPerformanceStorage().enabled) {
+ if (
+ Configuration.getConfigurationSection<StorageConfiguration>(
+ ConfigurationSection.performanceStorage,
+ ).enabled
+ ) {
logger.info(
`${this.logPrefix()} storage enabled: type ${
- Configuration.getPerformanceStorage().type
- }, uri: ${Configuration.getPerformanceStorage().uri}`,
+ Configuration.getConfigurationSection<StorageConfiguration>(
+ ConfigurationSection.performanceStorage,
+ ).type
+ }, uri: ${
+ Configuration.getConfigurationSection<StorageConfiguration>(
+ ConfigurationSection.performanceStorage,
+ ).uri
+ }`,
);
}
}
}
private startLogStatisticsInterval(): void {
- const logStatisticsInterval = Configuration.getLog().enabled
- ? Configuration.getLog().statisticsInterval!
+ const logStatisticsInterval = Configuration.getConfigurationSection<LogConfiguration>(
+ ConfigurationSection.log,
+ ).enabled
+ ? Configuration.getConfigurationSection<LogConfiguration>(ConfigurationSection.log)
+ .statisticsInterval!
: 0;
if (logStatisticsInterval > 0 && !this.displayInterval) {
this.displayInterval = setInterval(() => {
logger.info(
`${this.logPrefix()} already logged every ${formatDurationSeconds(logStatisticsInterval)}`,
);
- } else if (Configuration.getLog().enabled) {
+ } else if (
+ Configuration.getConfigurationSection<LogConfiguration>(ConfigurationSection.log).enabled
+ ) {
logger.info(
`${this.logPrefix()} log interval is set to ${logStatisticsInterval?.toString()}. Not logging statistics`,
);
this.statistics.statisticsData.get(entryName)!.measurementTimeSeries as TimestampedData[],
),
);
- if (Configuration.getPerformanceStorage().enabled) {
+ if (
+ Configuration.getConfigurationSection<StorageConfiguration>(
+ ConfigurationSection.performanceStorage,
+ ).enabled
+ ) {
parentPort?.postMessage(buildPerformanceStatisticsMessage(this.statistics));
}
}