From 1aadc93f92581eceed55e23b82cfcf608d005a02 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Thu, 19 Feb 2026 14:36:11 +0000 Subject: [PATCH] fix(monitoring): Use smartMetrics cpuPercentage for cpuUsage.user and update smartmetrics and smartproxy dependencies --- changelog.md | 7 +++ package.json | 4 +- pnpm-lock.yaml | 71 ++++--------------------- ts/00_commitinfo_data.ts | 2 +- ts/monitoring/classes.metricsmanager.ts | 4 +- ts_web/00_commitinfo_data.ts | 2 +- 6 files changed, 23 insertions(+), 67 deletions(-) diff --git a/changelog.md b/changelog.md index 0238bed..a4e5280 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # Changelog +## 2026-02-19 - 7.0.1 - fix(monitoring) +Use smartMetrics cpuPercentage for cpuUsage.user and update smartmetrics and smartproxy dependencies + +- Switch cpuUsage.user from parseFloat(smartMetricsData.cpuUsageText) to smartMetricsData.cpuPercentage to align with smartmetrics v3 API +- Bump @push.rocks/smartmetrics from ^2.0.10 to ^3.0.1 +- Bump @push.rocks/smartproxy from ^25.7.6 to ^25.7.8 + ## 2026-02-19 - 7.0.0 - BREAKING CHANGE(deps) bump dependencies: @serve.zone/remoteingress to ^4.0.0 (breaking), @push.rocks/smartproxy to ^25.7.6, @types/node to ^25.3.0 diff --git a/package.json b/package.json index f987677..580e2c4 100644 --- a/package.json +++ b/package.json @@ -43,13 +43,13 @@ "@push.rocks/smartguard": "^3.1.0", "@push.rocks/smartjwt": "^2.2.1", "@push.rocks/smartlog": "^3.1.11", - "@push.rocks/smartmetrics": "^2.0.10", + "@push.rocks/smartmetrics": "^3.0.1", "@push.rocks/smartmongo": "^5.1.0", "@push.rocks/smartmta": "^5.2.2", "@push.rocks/smartnetwork": "^4.4.0", "@push.rocks/smartpath": "^6.0.0", "@push.rocks/smartpromise": "^4.2.3", - "@push.rocks/smartproxy": "^25.7.6", + "@push.rocks/smartproxy": "^25.7.8", "@push.rocks/smartradius": "^1.1.1", "@push.rocks/smartrequest": "^5.0.1", "@push.rocks/smartrx": "^3.0.10", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a07da9..17d8ba2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,8 +57,8 @@ importers: specifier: ^3.1.11 version: 3.1.11 '@push.rocks/smartmetrics': - specifier: ^2.0.10 - version: 2.0.10 + specifier: ^3.0.1 + version: 3.0.1 '@push.rocks/smartmongo': specifier: ^5.1.0 version: 5.1.0(socks@2.8.7) @@ -75,8 +75,8 @@ importers: specifier: ^4.2.3 version: 4.2.3 '@push.rocks/smartproxy': - specifier: ^25.7.6 - version: 25.7.6 + specifier: ^25.7.8 + version: 25.7.8 '@push.rocks/smartradius': specifier: ^1.1.1 version: 1.1.1 @@ -757,10 +757,6 @@ packages: '@napi-rs/wasm-runtime@1.1.1': resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} - '@opentelemetry/api@1.9.0': - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} - engines: {node: '>=8.0.0'} - '@oxc-project/types@0.99.0': resolution: {integrity: sha512-LLDEhXB7g1m5J+woRSgfKsFPS3LhR9xRhTeIoEBm5WrkwMxn6eZ0Ld0c0K5eHB57ChZX6I3uSmmLjZ8pcjlRcw==} @@ -979,8 +975,8 @@ packages: '@push.rocks/smartmatch@2.0.0': resolution: {integrity: sha512-MBzP++1yNIBeox71X6VxpIgZ8m4bXnJpZJ4nWVH6IWpmO38MXTu4X0QF8tQnyT4LFcwvc9iiWaD15cstHa7Mmw==} - '@push.rocks/smartmetrics@2.0.10': - resolution: {integrity: sha512-Fr4ZzJWFqTR67ThmPsj+uUfPoWZ+p87n7wItpXVjlQ2mf4pboWnsfmrrC1gqIXca1Dwa2i7L+GPoJ3hOZ+Qhfw==} + '@push.rocks/smartmetrics@3.0.1': + resolution: {integrity: sha512-wdc9v8F0dQXwraAVCZjGvt2lnGpbVYHWzER9OFR+u+ultMq7aLjUevxSpkS8BkhBMLTuNMCCWIqyAzaCqHzFgQ==} '@push.rocks/smartmime@1.0.6': resolution: {integrity: sha512-PHd+I4UcsnOATNg8wjDsSAmmJ4CwQFrQCNzd0HSJMs4ZpiK3Ya91almd6GLpDPU370U4HFh4FaPF4eEAI6vkJQ==} @@ -1034,8 +1030,8 @@ packages: '@push.rocks/smartpromise@4.2.3': resolution: {integrity: sha512-Ycg/TJR+tMt+S3wSFurOpEoW6nXv12QBtKXgBcjMZ4RsdO28geN46U09osPn9N9WuwQy1PkmTV5J/V4F9U8qEw==} - '@push.rocks/smartproxy@25.7.6': - resolution: {integrity: sha512-S7RilqdsHV8c31ex/Fcwpsv465kbwYQ5tMesoS/kRsOBxjan+UPOhJQxPH4H7TmKbvEsi5NMPK48ffgJmk9x1g==} + '@push.rocks/smartproxy@25.7.8': + resolution: {integrity: sha512-rKuC/5DgCBQmk1iCY2mZd+ZdH2mBOfcP1hWMARTP4Je4KqnNTJ2STM1tJmc9FmKVXxtEQCxWJnEnq1wNqwQFRA==} '@push.rocks/smartpuppeteer@2.0.5': resolution: {integrity: sha512-yK/qSeWVHIGWRp3c8S5tfdGP6WCKllZC4DR8d8CQlEjszOSBmHtlTdyyqOMBZ/BA4kd+eU5f3A1r4K2tGYty1g==} @@ -1837,9 +1833,6 @@ packages: '@types/node@25.3.0': resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} - '@types/pidusage@2.0.5': - resolution: {integrity: sha512-MIiyZI4/MK9UGUXWt0jJcCZhVw7YdhBuTOuqP/BjuLDLZ2PmmViMIQgZiWxtaMicQfAz/kMrZ5T7PKxFSkTeUA==} - '@types/ping@0.4.4': resolution: {integrity: sha512-ifvo6w2f5eJYlXm+HiVx67iJe8WZp87sfa683nlqED5Vnt9Z93onkokNoWqOG21EaE8fMxyKPobE+mkPEyxsdw==} @@ -2059,9 +2052,6 @@ packages: resolution: {integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==} engines: {node: '>=10.0.0'} - bintrees@1.0.2: - resolution: {integrity: sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=} - body-parser@2.2.2: resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} engines: {node: '>=18'} @@ -3552,15 +3542,6 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - - pidusage@4.0.1: - resolution: {integrity: sha512-yCH2dtLHfEBnzlHUJymR/Z1nN2ePG3m392Mv8TFlTP1B0xkpMQNHAnfkY0n2tAi6ceKO6YWhxYfZ96V4vVkh/g==} - engines: {node: '>=18'} - ping@0.4.4: resolution: {integrity: sha512-56ZMC0j7SCsMMLdOoUg12VZCfj/+ZO+yfOSjaNCRrmZZr6GLbN2X/Ui56T15dI8NhiHckaw5X2pvyfAomanwqQ==} engines: {node: '>=4.0.0'} @@ -3580,10 +3561,6 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - prom-client@15.1.3: - resolution: {integrity: sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==} - engines: {node: ^16 || ^18 || >=20} - property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -3982,9 +3959,6 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tdigest@0.1.2: - resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==} - text-decoder@1.2.3: resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} @@ -5538,8 +5512,6 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@opentelemetry/api@1.9.0': {} - '@oxc-project/types@0.99.0': {} '@pdf-lib/standard-fonts@1.0.0': @@ -6177,14 +6149,10 @@ snapshots: dependencies: matcher: 5.0.0 - '@push.rocks/smartmetrics@2.0.10': + '@push.rocks/smartmetrics@3.0.1': dependencies: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartlog': 3.1.11 - '@types/pidusage': 2.0.5 - pidtree: 0.6.0 - pidusage: 4.0.1 - prom-client: 15.1.3 '@push.rocks/smartmime@1.0.6': dependencies: @@ -6356,7 +6324,7 @@ snapshots: '@push.rocks/smartpromise@4.2.3': {} - '@push.rocks/smartproxy@25.7.6': + '@push.rocks/smartproxy@25.7.8': dependencies: '@push.rocks/smartcrypto': 2.0.4 '@push.rocks/smartlog': 3.1.11 @@ -7485,8 +7453,6 @@ snapshots: dependencies: undici-types: 7.18.2 - '@types/pidusage@2.0.5': {} - '@types/ping@0.4.4': {} '@types/qs@6.14.0': {} @@ -7696,8 +7662,6 @@ snapshots: basic-ftp@5.1.0: {} - bintrees@1.0.2: {} - body-parser@2.2.2: dependencies: bytes: 3.1.2 @@ -9447,12 +9411,6 @@ snapshots: picomatch@4.0.3: {} - pidtree@0.6.0: {} - - pidusage@4.0.1: - dependencies: - safe-buffer: 5.2.1 - ping@0.4.4: {} pkg-dir@4.2.0: @@ -9467,11 +9425,6 @@ snapshots: progress@2.0.3: {} - prom-client@15.1.3: - dependencies: - '@opentelemetry/api': 1.9.0 - tdigest: 0.1.2 - property-information@7.1.0: {} prosemirror-changeset@2.4.0: @@ -10058,10 +10011,6 @@ snapshots: - bare-abort-controller - react-native-b4a - tdigest@0.1.2: - dependencies: - bintrees: 1.0.2 - text-decoder@1.2.3: dependencies: b4a: 1.7.3 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 7024622..541b4f3 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/dcrouter', - version: '7.0.0', + version: '7.0.1', description: 'A multifaceted routing service handling mail and SMS delivery functions.' } diff --git a/ts/monitoring/classes.metricsmanager.ts b/ts/monitoring/classes.metricsmanager.ts index 5060096..101bf0a 100644 --- a/ts/monitoring/classes.metricsmanager.ts +++ b/ts/monitoring/classes.metricsmanager.ts @@ -139,8 +139,8 @@ export class MetricsManager { actualUsagePercentage: smartMetricsData.memoryPercentage, }, cpuUsage: { - user: parseFloat(smartMetricsData.cpuUsageText || '0'), - system: 0, // SmartMetrics doesn't separate user/system + user: smartMetricsData.cpuPercentage, + system: 0, }, activeConnections: proxyStats ? proxyStats.activeConnections : 0, totalConnections: proxyMetrics ? proxyMetrics.totals.connections() : 0, diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index 7024622..541b4f3 100644 --- a/ts_web/00_commitinfo_data.ts +++ b/ts_web/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/dcrouter', - version: '7.0.0', + version: '7.0.1', description: 'A multifaceted routing service handling mail and SMS delivery functions.' }