@3sixty/telemetry-producers 0.20.0-next.0 → 0.20.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,uDAAuD,CAAC;AACtE,cAAc,sDAAsD,CAAC;AACrE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./models/IProcessMetricsProducerConstructorOptions.js\";\nexport * from \"./models/ISystemMetricsProducerConstructorOptions.js\";\nexport * from \"./processMetricsProducer.js\";\nexport * from \"./systemMetricsProducer.js\";\n"]}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,uDAAuD,CAAC;AACtE,cAAc,sDAAsD,CAAC;AACrE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./models/IProcessMetricsProducerConstructorOptions.js\";\nexport * from \"./models/ISystemMetricsProducerConstructorOptions.js\";\nexport * from \"./processMetricsProducer.js\";\nexport * from \"./systemMetricsProducer.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IProcessMetricsProducerConstructorOptions.js","sourceRoot":"","sources":["../../../src/models/IProcessMetricsProducerConstructorOptions.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The options for the process metrics producer constructor.\n */\nexport interface IProcessMetricsProducerConstructorOptions {\n\t/**\n\t * Type name of the telemetry component in `ComponentFactory`.\n\t * @default telemetry\n\t */\n\ttelemetryComponentType?: string;\n\n\t/**\n\t * Per-metric history cap.\n\t * @default 1440\n\t */\n\tmaxHistory?: number;\n}\n"]}
1
+ {"version":3,"file":"IProcessMetricsProducerConstructorOptions.js","sources":["../../../src/models/IProcessMetricsProducerConstructorOptions.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The options for the process metrics producer constructor.\n */\nexport interface IProcessMetricsProducerConstructorOptions {\n\t/**\n\t * Type name of the telemetry component in `ComponentFactory`.\n\t * @default telemetry\n\t */\n\ttelemetryComponentType?: string;\n\n\t/**\n\t * Per-metric history cap.\n\t * @default 1440\n\t */\n\tmaxHistory?: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ISystemMetricsProducerConstructorOptions.js","sourceRoot":"","sources":["../../../src/models/ISystemMetricsProducerConstructorOptions.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The options for the system metrics producer constructor.\n */\nexport interface ISystemMetricsProducerConstructorOptions {\n\t/**\n\t * Type name of the telemetry component in `ComponentFactory`.\n\t * @default telemetry\n\t */\n\ttelemetryComponentType?: string;\n\n\t/**\n\t * Per-metric history cap.\n\t * @default 1440\n\t */\n\tmaxHistory?: number;\n}\n"]}
1
+ {"version":3,"file":"ISystemMetricsProducerConstructorOptions.js","sources":["../../../src/models/ISystemMetricsProducerConstructorOptions.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The options for the system metrics producer constructor.\n */\nexport interface ISystemMetricsProducerConstructorOptions {\n\t/**\n\t * Type name of the telemetry component in `ComponentFactory`.\n\t * @default telemetry\n\t */\n\ttelemetryComponentType?: string;\n\n\t/**\n\t * Per-metric history cap.\n\t * @default 1440\n\t */\n\tmaxHistory?: number;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"processMetricsProducer.js","sourceRoot":"","sources":["../../src/processMetricsProducer.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACN,YAAY,EACZ,UAAU,EAIV,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAClC;;OAEG;IACI,MAAM,CAAU,UAAU,4BAA4C;IAE7E;;;OAGG;IACc,UAAU,CAAsB;IAEjD;;;OAGG;IACc,WAAW,CAAS;IAErC;;;OAGG;IACH,YAAY,OAAmD;QAC9D,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,GAAG,CACrC,OAAO,EAAE,sBAAsB,IAAI,WAAW,CAC9C,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,SAAS;QACf,OAAO,sBAAsB,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ;QACpB,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,iCAAiC;YACrC,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAElC,OAAO;YACN,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE;YAClD,EAAE,EAAE,EAAE,gCAAgC,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE;YAC7D,EAAE,EAAE,EAAE,iCAAiC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE;YAC/D,EAAE,EAAE,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC5E,CAAC;IACH,CAAC","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@3sixty/core\";\nimport { nameof } from \"@3sixty/nameof\";\nimport {\n\tMetricHelper,\n\tMetricType,\n\ttype IMetricsProducer,\n\ttype ITelemetryComponent,\n\ttype ITelemetryMetricValueEntry\n} from \"@3sixty/telemetry-models\";\nimport type { IProcessMetricsProducerConstructorOptions } from \"./models/IProcessMetricsProducerConstructorOptions.js\";\n\n/**\n * Metrics producer that emits Node.js process metrics on every poll cycle.\n */\nexport class ProcessMetricsProducer implements IMetricsProducer {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<ProcessMetricsProducer>();\n\n\t/**\n\t * Resolved telemetry component.\n\t * @internal\n\t */\n\tprivate readonly _telemetry: ITelemetryComponent;\n\n\t/**\n\t * Per-metric history cap.\n\t * @internal\n\t */\n\tprivate readonly _maxHistory: number;\n\n\t/**\n\t * Create a new instance of ProcessMetricsProducer.\n\t * @param options The options for the producer.\n\t */\n\tconstructor(options?: IProcessMetricsProducerConstructorOptions) {\n\t\tthis._telemetry = ComponentFactory.get<ITelemetryComponent>(\n\t\t\toptions?.telemetryComponentType ?? \"telemetry\"\n\t\t);\n\t\tthis._maxHistory = options?.maxHistory ?? 1440;\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn ProcessMetricsProducer.CLASS_NAME;\n\t}\n\n\t/**\n\t * Register all process metrics with the telemetry component.\n\t * @returns A promise that resolves when all process metrics have been registered.\n\t */\n\tpublic async register(): Promise<void> {\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_memory_rss_bytes\",\n\t\t\tlabel: \"RSS memory\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_memory_heap_used_bytes\",\n\t\t\tlabel: \"Heap used\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_memory_heap_total_bytes\",\n\t\t\tlabel: \"Heap total\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_uptime_seconds\",\n\t\t\tlabel: \"Process uptime\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t}\n\n\t/**\n\t * Read the current process metric values.\n\t * @returns The current values for the process metrics.\n\t */\n\tpublic async collect(): Promise<ITelemetryMetricValueEntry[]> {\n\t\tconst mem = process.memoryUsage();\n\n\t\treturn [\n\t\t\t{ id: \"process_memory_rss_bytes\", value: mem.rss },\n\t\t\t{ id: \"process_memory_heap_used_bytes\", value: mem.heapUsed },\n\t\t\t{ id: \"process_memory_heap_total_bytes\", value: mem.heapTotal },\n\t\t\t{ id: \"process_uptime_seconds\", value: Number(process.uptime().toFixed(1)) }\n\t\t];\n\t}\n}\n"]}
1
+ {"version":3,"file":"processMetricsProducer.js","sources":["../../src/processMetricsProducer.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACN,YAAY,EACZ,UAAU,EAIV,MAAM,0BAA0B,CAAC;AAGlC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAClC;;OAEG;IACI,MAAM,CAAU,UAAU,GAAW,wBAAwB,CAAC;IAErE;;;OAGG;IACc,UAAU,CAAsB;IAEjD;;;OAGG;IACc,WAAW,CAAS;IAErC;;;OAGG;IACH,YAAY,OAAmD;QAC9D,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,GAAG,CACrC,OAAO,EAAE,sBAAsB,IAAI,WAAW,CAC9C,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,SAAS;QACf,OAAO,sBAAsB,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ;QACpB,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,0BAA0B;YAC9B,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,iCAAiC;YACrC,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,EAAE,EAAE,wBAAwB;YAC5B,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,UAAU,CAAC,KAAK;YACtB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC5B,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QACnB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAElC,OAAO;YACN,EAAE,EAAE,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE;YAClD,EAAE,EAAE,EAAE,gCAAgC,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE;YAC7D,EAAE,EAAE,EAAE,iCAAiC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE;YAC/D,EAAE,EAAE,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAC5E,CAAC;IACH,CAAC;CACD","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@3sixty/core\";\n\nimport {\n\tMetricHelper,\n\tMetricType,\n\ttype IMetricsProducer,\n\ttype ITelemetryComponent,\n\ttype ITelemetryMetricValueEntry\n} from \"@3sixty/telemetry-models\";\nimport type { IProcessMetricsProducerConstructorOptions } from \"./models/IProcessMetricsProducerConstructorOptions.js\";\n\n/**\n * Metrics producer that emits Node.js process metrics on every poll cycle.\n */\nexport class ProcessMetricsProducer implements IMetricsProducer {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = \"ProcessMetricsProducer\";\n\n\t/**\n\t * Resolved telemetry component.\n\t * @internal\n\t */\n\tprivate readonly _telemetry: ITelemetryComponent;\n\n\t/**\n\t * Per-metric history cap.\n\t * @internal\n\t */\n\tprivate readonly _maxHistory: number;\n\n\t/**\n\t * Create a new instance of ProcessMetricsProducer.\n\t * @param options The options for the producer.\n\t */\n\tconstructor(options?: IProcessMetricsProducerConstructorOptions) {\n\t\tthis._telemetry = ComponentFactory.get<ITelemetryComponent>(\n\t\t\toptions?.telemetryComponentType ?? \"telemetry\"\n\t\t);\n\t\tthis._maxHistory = options?.maxHistory ?? 1440;\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn ProcessMetricsProducer.CLASS_NAME;\n\t}\n\n\t/**\n\t * Register all process metrics with the telemetry component.\n\t * @returns A promise that resolves when all process metrics have been registered.\n\t */\n\tpublic async register(): Promise<void> {\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_memory_rss_bytes\",\n\t\t\tlabel: \"RSS memory\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_memory_heap_used_bytes\",\n\t\t\tlabel: \"Heap used\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_memory_heap_total_bytes\",\n\t\t\tlabel: \"Heap total\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"process_uptime_seconds\",\n\t\t\tlabel: \"Process uptime\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t}\n\n\t/**\n\t * Read the current process metric values.\n\t * @returns The current values for the process metrics.\n\t */\n\tpublic async collect(): Promise<ITelemetryMetricValueEntry[]> {\n\t\tconst mem = process.memoryUsage();\n\n\t\treturn [\n\t\t\t{ id: \"process_memory_rss_bytes\", value: mem.rss },\n\t\t\t{ id: \"process_memory_heap_used_bytes\", value: mem.heapUsed },\n\t\t\t{ id: \"process_memory_heap_total_bytes\", value: mem.heapTotal },\n\t\t\t{ id: \"process_uptime_seconds\", value: Number(process.uptime().toFixed(1)) }\n\t\t];\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"systemMetricsProducer.js","sourceRoot":"","sources":["../../src/systemMetricsProducer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport * as os from \"node:os\";\nimport { ComponentFactory } from \"@3sixty/core\";\nimport { nameof } from \"@3sixty/nameof\";\nimport {\n\tMetricHelper,\n\tMetricType,\n\ttype IMetricsProducer,\n\ttype ITelemetryComponent,\n\ttype ITelemetryMetricValueEntry\n} from \"@3sixty/telemetry-models\";\nimport type { ISystemMetricsProducerConstructorOptions } from \"./models/ISystemMetricsProducerConstructorOptions.js\";\n\n/**\n * Metrics producer that emits host-level OS metrics on every poll cycle.\n */\nexport class SystemMetricsProducer implements IMetricsProducer {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<SystemMetricsProducer>();\n\n\t/**\n\t * Resolved telemetry component.\n\t * @internal\n\t */\n\tprivate readonly _telemetry: ITelemetryComponent;\n\n\t/**\n\t * Per-metric history cap.\n\t * @internal\n\t */\n\tprivate readonly _maxHistory: number;\n\n\t/**\n\t * Snapshot of CPU times from the previous tick - used to compute deltas.\n\t * @internal\n\t */\n\tprivate _prevCpuTimes: os.CpuInfo[\"times\"][];\n\n\t/**\n\t * Create a new instance of SystemMetricsProducer.\n\t * @param options The options for the producer.\n\t */\n\tconstructor(options?: ISystemMetricsProducerConstructorOptions) {\n\t\tthis._telemetry = ComponentFactory.get<ITelemetryComponent>(\n\t\t\toptions?.telemetryComponentType ?? \"telemetry\"\n\t\t);\n\t\tthis._maxHistory = options?.maxHistory ?? 1440;\n\t\tthis._prevCpuTimes = os.cpus().map(c => c.times);\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn SystemMetricsProducer.CLASS_NAME;\n\t}\n\n\t/**\n\t * Register all system metrics with the telemetry component.\n\t * @returns A promise that resolves when all system metrics have been registered.\n\t */\n\tpublic async register(): Promise<void> {\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_cpu_usage_percent\",\n\t\t\tlabel: \"CPU usage\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_total_bytes\",\n\t\t\tlabel: \"Memory total\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_used_bytes\",\n\t\t\tlabel: \"Memory used\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_free_bytes\",\n\t\t\tlabel: \"Memory free\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_usage_percent\",\n\t\t\tlabel: \"Memory usage\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_uptime_seconds\",\n\t\t\tlabel: \"System uptime\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t}\n\n\t/**\n\t * Read the current system metric values.\n\t * @returns The current values for the system metrics.\n\t */\n\tpublic async collect(): Promise<ITelemetryMetricValueEntry[]> {\n\t\tconst currCpuTimes = os.cpus().map(c => c.times);\n\t\tconst usages = currCpuTimes.map((curr, i) => {\n\t\t\tconst prev = this._prevCpuTimes[i];\n\t\t\tconst idle = curr.idle - prev.idle;\n\t\t\tconst total =\n\t\t\t\tcurr.user -\n\t\t\t\tprev.user +\n\t\t\t\tcurr.nice -\n\t\t\t\tprev.nice +\n\t\t\t\tcurr.sys -\n\t\t\t\tprev.sys +\n\t\t\t\tcurr.idle -\n\t\t\t\tprev.idle +\n\t\t\t\tcurr.irq -\n\t\t\t\tprev.irq;\n\t\t\tconst idleDivision = idle / total;\n\t\t\tconst idlePercent = 1 - idleDivision;\n\t\t\treturn total === 0 ? 0 : 100 * idlePercent;\n\t\t});\n\t\tthis._prevCpuTimes = currCpuTimes;\n\t\tconst avgCpu = usages.reduce((a, b) => a + b, 0) / Math.max(1, usages.length);\n\n\t\tconst total = os.totalmem();\n\t\tconst free = os.freemem();\n\t\tconst used = total - free;\n\n\t\treturn [\n\t\t\t{ id: \"system_cpu_usage_percent\", value: Number(avgCpu.toFixed(2)) },\n\t\t\t{ id: \"system_memory_total_bytes\", value: total },\n\t\t\t{ id: \"system_memory_used_bytes\", value: used },\n\t\t\t{ id: \"system_memory_free_bytes\", value: free },\n\t\t\t{ id: \"system_memory_usage_percent\", value: Number(((100 * used) / total).toFixed(2)) },\n\t\t\t{ id: \"system_uptime_seconds\", value: Number(os.uptime().toFixed(1)) }\n\t\t];\n\t}\n}\n"]}
1
+ {"version":3,"file":"systemMetricsProducer.js","sources":["../../src/systemMetricsProducer.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2026 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport * as os from \"node:os\";\nimport { ComponentFactory } from \"@3sixty/core\";\n\nimport {\n\tMetricHelper,\n\tMetricType,\n\ttype IMetricsProducer,\n\ttype ITelemetryComponent,\n\ttype ITelemetryMetricValueEntry\n} from \"@3sixty/telemetry-models\";\nimport type { ISystemMetricsProducerConstructorOptions } from \"./models/ISystemMetricsProducerConstructorOptions.js\";\n\n/**\n * Metrics producer that emits host-level OS metrics on every poll cycle.\n */\nexport class SystemMetricsProducer implements IMetricsProducer {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = \"SystemMetricsProducer\";\n\n\t/**\n\t * Resolved telemetry component.\n\t * @internal\n\t */\n\tprivate readonly _telemetry: ITelemetryComponent;\n\n\t/**\n\t * Per-metric history cap.\n\t * @internal\n\t */\n\tprivate readonly _maxHistory: number;\n\n\t/**\n\t * Snapshot of CPU times from the previous tick - used to compute deltas.\n\t * @internal\n\t */\n\tprivate _prevCpuTimes: os.CpuInfo[\"times\"][];\n\n\t/**\n\t * Create a new instance of SystemMetricsProducer.\n\t * @param options The options for the producer.\n\t */\n\tconstructor(options?: ISystemMetricsProducerConstructorOptions) {\n\t\tthis._telemetry = ComponentFactory.get<ITelemetryComponent>(\n\t\t\toptions?.telemetryComponentType ?? \"telemetry\"\n\t\t);\n\t\tthis._maxHistory = options?.maxHistory ?? 1440;\n\t\tthis._prevCpuTimes = os.cpus().map(c => c.times);\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn SystemMetricsProducer.CLASS_NAME;\n\t}\n\n\t/**\n\t * Register all system metrics with the telemetry component.\n\t * @returns A promise that resolves when all system metrics have been registered.\n\t */\n\tpublic async register(): Promise<void> {\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_cpu_usage_percent\",\n\t\t\tlabel: \"CPU usage\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_total_bytes\",\n\t\t\tlabel: \"Memory total\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_used_bytes\",\n\t\t\tlabel: \"Memory used\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_free_bytes\",\n\t\t\tlabel: \"Memory free\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_memory_usage_percent\",\n\t\t\tlabel: \"Memory usage\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t\tawait MetricHelper.createMetric(this._telemetry, {\n\t\t\tid: \"system_uptime_seconds\",\n\t\t\tlabel: \"System uptime\",\n\t\t\ttype: MetricType.Gauge,\n\t\t\tmaxHistory: this._maxHistory\n\t\t});\n\t}\n\n\t/**\n\t * Read the current system metric values.\n\t * @returns The current values for the system metrics.\n\t */\n\tpublic async collect(): Promise<ITelemetryMetricValueEntry[]> {\n\t\tconst currCpuTimes = os.cpus().map(c => c.times);\n\t\tconst usages = currCpuTimes.map((curr, i) => {\n\t\t\tconst prev = this._prevCpuTimes[i];\n\t\t\tconst idle = curr.idle - prev.idle;\n\t\t\tconst total =\n\t\t\t\tcurr.user -\n\t\t\t\tprev.user +\n\t\t\t\tcurr.nice -\n\t\t\t\tprev.nice +\n\t\t\t\tcurr.sys -\n\t\t\t\tprev.sys +\n\t\t\t\tcurr.idle -\n\t\t\t\tprev.idle +\n\t\t\t\tcurr.irq -\n\t\t\t\tprev.irq;\n\t\t\tconst idleDivision = idle / total;\n\t\t\tconst idlePercent = 1 - idleDivision;\n\t\t\treturn total === 0 ? 0 : 100 * idlePercent;\n\t\t});\n\t\tthis._prevCpuTimes = currCpuTimes;\n\t\tconst avgCpu = usages.reduce((a, b) => a + b, 0) / Math.max(1, usages.length);\n\n\t\tconst total = os.totalmem();\n\t\tconst free = os.freemem();\n\t\tconst used = total - free;\n\n\t\treturn [\n\t\t\t{ id: \"system_cpu_usage_percent\", value: Number(avgCpu.toFixed(2)) },\n\t\t\t{ id: \"system_memory_total_bytes\", value: total },\n\t\t\t{ id: \"system_memory_used_bytes\", value: used },\n\t\t\t{ id: \"system_memory_free_bytes\", value: free },\n\t\t\t{ id: \"system_memory_usage_percent\", value: Number(((100 * used) / total).toFixed(2)) },\n\t\t\t{ id: \"system_uptime_seconds\", value: Number(os.uptime().toFixed(1)) }\n\t\t];\n\t}\n}\n"]}
package/docs/changelog.md CHANGED
@@ -0,0 +1,30 @@
1
+ # Changelog
2
+
3
+ ## [0.20.0-next.2](https://github.com/3sixtyglobal/telemetry/compare/telemetry-producers-v0.20.0-next.1...telemetry-producers-v0.20.0-next.2) (2026-10-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * release to next [skip ci] ([#22](https://github.com/3sixtyglobal/telemetry/issues/22)) ([274c07f](https://github.com/3sixtyglobal/telemetry/commit/274c07f0f0f405c55b73703933759223435e1f70))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @3sixty/telemetry-models bumped from 0.20.0-next.1 to 0.20.0-next.2
16
+
17
+ ## [0.20.0-next.1](https://github.com/3sixtyglobal/telemetry/compare/telemetry-producers-v0.20.0-next.0...telemetry-producers-v0.20.0-next.1) (2026-10-23)
18
+
19
+
20
+ ### Features
21
+
22
+ * publish packages under the [@3sixty](https://github.com/3sixty) namespace ([e488a8c](https://github.com/3sixtyglobal/telemetry/commit/e488a8cbe26251de694077a0164af480cab61c3a))
23
+ * updated ts compile ([4490a7b](https://github.com/3sixtyglobal/telemetry/commit/4490a7b854bdea72a79946d2dbb708a47e81b56f))
24
+
25
+
26
+ ### Dependencies
27
+
28
+ * The following workspace dependencies were updated
29
+ * dependencies
30
+ * @3sixty/telemetry-models bumped from 0.20.0-next.0 to 0.20.0-next.1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3sixty/telemetry-producers",
3
- "version": "0.20.0-next.0",
3
+ "version": "0.20.0-next.2",
4
4
  "description": "Metrics producers for collecting Node.js process and system telemetry.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,12 +11,13 @@
11
11
  "license": "Apache-2.0",
12
12
  "type": "module",
13
13
  "engines": {
14
- "node": ">=24.0.0"
14
+ "node": ">=24.0.0",
15
+ "bun": ">=1.4.4"
15
16
  },
16
17
  "dependencies": {
17
18
  "@3sixty/core": "next",
18
19
  "@3sixty/nameof": "next",
19
- "@3sixty/telemetry-models": "0.20.0-next.0"
20
+ "@3sixty/telemetry-models": "0.20.0-next.2"
20
21
  },
21
22
  "main": "./dist/es/index.js",
22
23
  "types": "./dist/types/index.d.ts",