@64mb/freelens-power 1.0.3 → 1.2.0
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.
- package/README.md +9 -4
- package/THIRD_PARTY_LICENSES +1707 -0
- package/out/main/ai.js +63 -23
- package/out/main/ai.js.map +1 -1
- package/out/main/cluster-icons-catalog.js +28 -0
- package/out/main/cluster-icons-catalog.js.map +1 -0
- package/out/main/cluster-icons.js +125 -0
- package/out/main/cluster-icons.js.map +1 -0
- package/out/main/common/ai-terminal-context.js +51 -0
- package/out/main/common/ai-terminal-context.js.map +1 -0
- package/out/main/common/ai.js.map +1 -1
- package/out/main/common/cluster-icon-ipc.js +6 -0
- package/out/main/common/cluster-icon-ipc.js.map +1 -0
- package/out/main/common/cluster-icons.js +121 -0
- package/out/main/common/cluster-icons.js.map +1 -0
- package/out/main/common/dashboard.js +1 -1
- package/out/main/common/dashboard.js.map +1 -1
- package/out/main/common/monitoring-history.js +52 -0
- package/out/main/common/monitoring-history.js.map +1 -0
- package/out/main/common/settings-export.js +3 -1
- package/out/main/common/settings-export.js.map +1 -1
- package/out/main/common/store/cluster-icons-store.js +32 -0
- package/out/main/common/store/cluster-icons-store.js.map +1 -0
- package/out/main/common/store/monitoring-preferences-store.js +30 -2
- package/out/main/common/store/monitoring-preferences-store.js.map +1 -1
- package/out/main/dashboard-views.js +132 -28
- package/out/main/dashboard-views.js.map +1 -1
- package/out/main/diagnostics-menu-order.js +57 -0
- package/out/main/diagnostics-menu-order.js.map +1 -0
- package/out/main/index.js +11 -1
- package/out/main/index.js.map +1 -1
- package/out/main/monitoring-history-database.js +103 -0
- package/out/main/monitoring-history-database.js.map +1 -0
- package/out/main/monitoring-history-worker.js +61 -0
- package/out/main/monitoring-history-worker.js.map +1 -0
- package/out/main/monitoring-history.js +110 -0
- package/out/main/monitoring-history.js.map +1 -0
- package/out/renderer/_virtual/_global-external_mobx.js +2 -1
- package/out/renderer/_virtual/_global-external_react-dom.js +2 -1
- package/out/renderer/_virtual/_global-external_react.js +10 -5
- package/out/renderer/_virtual/_rolldown/runtime.js +22 -0
- package/out/renderer/ai-terminal-context.js +200 -0
- package/out/renderer/ai-terminal-context.js.map +1 -0
- package/out/renderer/ai.js +90 -9
- package/out/renderer/ai.js.map +1 -1
- package/out/renderer/appearance.js +1 -0
- package/out/renderer/appearance.js.map +1 -1
- package/out/renderer/cluster-icon-colors.js +188 -0
- package/out/renderer/cluster-icon-colors.js.map +1 -0
- package/out/renderer/cluster-icons.js +304 -0
- package/out/renderer/cluster-icons.js.map +1 -0
- package/out/renderer/dashboard.js +8 -5
- package/out/renderer/dashboard.js.map +1 -1
- package/out/renderer/details/secret-certificate-details.js +9 -2
- package/out/renderer/details/secret-certificate-details.js.map +1 -1
- package/out/renderer/diagnostics.css.js +39 -0
- package/out/renderer/diagnostics.css.js.map +1 -0
- package/out/renderer/diagnostics.js +1100 -0
- package/out/renderer/diagnostics.js.map +1 -0
- package/out/renderer/index.js +32 -0
- package/out/renderer/index.js.map +1 -1
- package/out/renderer/monitoring-collector.js +202 -0
- package/out/renderer/monitoring-collector.js.map +1 -0
- package/out/renderer/monitoring-details-chart.js +42 -0
- package/out/renderer/monitoring-details-chart.js.map +1 -0
- package/out/renderer/monitoring-history-collection.js +168 -0
- package/out/renderer/monitoring-history-collection.js.map +1 -0
- package/out/renderer/monitoring-history-view.js +227 -0
- package/out/renderer/monitoring-history-view.js.map +1 -0
- package/out/renderer/monitoring-history.js +19 -0
- package/out/renderer/monitoring-history.js.map +1 -0
- package/out/renderer/monitoring.js +153 -139
- package/out/renderer/monitoring.js.map +1 -1
- package/out/renderer/node-monitoring.js +127 -0
- package/out/renderer/node-monitoring.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +10 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js +8 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +9 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +9 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +8 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/createClass.js +15 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/createClass.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/createSuper.js +19 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/createSuper.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js +14 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/extends.js +19 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js +15 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/inherits.js +14 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/inherits.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js +18 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +8 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js +26 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js +8 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +8 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +27 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/objectSpread2.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +15 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +14 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js +12 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +15 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/slicedToArray.js +12 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/slicedToArray.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js +8 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +12 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +16 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +11 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/typeof.js +18 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +13 -0
- package/out/renderer/node_modules/.pnpm/@babel_runtime@7.27.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js +237 -0
- package/out/renderer/node_modules/.pnpm/@emotion_cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js +25 -0
- package/out/renderer/node_modules/.pnpm/@emotion_hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js +12 -0
- package/out/renderer/node_modules/.pnpm/@emotion_memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_react@11.14.0_@types_react@17.0.93_react@17.0.2/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js +58 -0
- package/out/renderer/node_modules/.pnpm/@emotion_react@11.14.0_@types_react@17.0.93_react@17.0.2/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_react@11.14.0_@types_react@17.0.93_react@17.0.2/node_modules/@emotion/react/dist/emotion-react.browser.esm.js +54 -0
- package/out/renderer/node_modules/.pnpm/@emotion_react@11.14.0_@types_react@17.0.93_react@17.0.2/node_modules/@emotion/react/dist/emotion-react.browser.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js +133 -0
- package/out/renderer/node_modules/.pnpm/@emotion_serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_sheet@1.4.0/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js +65 -0
- package/out/renderer/node_modules/.pnpm/@emotion_sheet@1.4.0/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +54 -0
- package/out/renderer/node_modules/.pnpm/@emotion_unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_use-insertion-effect-with-fallbacks@1.2.0_react@17.0.2/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js +12 -0
- package/out/renderer/node_modules/.pnpm/@emotion_use-insertion-effect-with-fallbacks@1.2.0_react@17.0.2/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@emotion_utils@1.4.2/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js +30 -0
- package/out/renderer/node_modules/.pnpm/@emotion_utils@1.4.2/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +211 -0
- package/out/renderer/node_modules/.pnpm/@floating-ui_dom@1.7.2/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +97 -0
- package/out/renderer/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +31 -0
- package/out/renderer/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +93 -0
- package/out/renderer/node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/memoize-one@6.0.0/node_modules/memoize-one/dist/memoize-one.esm.js +38 -0
- package/out/renderer/node_modules/.pnpm/memoize-one@6.0.0/node_modules/memoize-one/dist/memoize-one.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +159 -0
- package/out/renderer/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +103 -0
- package/out/renderer/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +18 -0
- package/out/renderer/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/Select-ef7c0426.esm.js +2200 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/Select-ef7c0426.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/index-641ee5b8.esm.js +992 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/index-641ee5b8.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/react-select.esm.js +14 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/react-select.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/useStateManager-7e1e8489.esm.js +56 -0
- package/out/renderer/node_modules/.pnpm/react-select@5.10.2_@types_react@17.0.93_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/react-select/dist/useStateManager-7e1e8489.esm.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Enum.js +22 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Enum.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Middleware.js +30 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Middleware.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Parser.js +164 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Parser.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Serializer.js +37 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Serializer.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Tokenizer.js +245 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Tokenizer.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Utility.js +120 -0
- package/out/renderer/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Utility.js.map +1 -0
- package/out/renderer/node_modules/.pnpm/use-isomorphic-layout-effect@1.2.1_@types_react@17.0.93_react@17.0.2/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js +6 -0
- package/out/renderer/node_modules/.pnpm/use-isomorphic-layout-effect@1.2.1_@types_react@17.0.93_react@17.0.2/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js.map +1 -0
- package/out/renderer/pod-monitoring.js +38 -11
- package/out/renderer/pod-monitoring.js.map +1 -1
- package/out/renderer/preferences/ai-shortcuts-preferences.js +12 -4
- package/out/renderer/preferences/ai-shortcuts-preferences.js.map +1 -1
- package/out/renderer/preferences/dashboard-preferences.js +20 -4
- package/out/renderer/preferences/dashboard-preferences.js.map +1 -1
- package/out/renderer/preferences/monitoring-preferences.js +141 -9
- package/out/renderer/preferences/monitoring-preferences.js.map +1 -1
- package/out/renderer/preferences/preferences.js +31 -7
- package/out/renderer/preferences/preferences.js.map +1 -1
- package/out/renderer/read-only.js +2 -2
- package/out/renderer/read-only.js.map +1 -1
- package/out/renderer/src/common/ai-terminal-context.js +51 -0
- package/out/renderer/src/common/ai-terminal-context.js.map +1 -0
- package/out/renderer/src/common/ai.js.map +1 -1
- package/out/renderer/src/common/cluster-icon-ipc.js +6 -0
- package/out/renderer/src/common/cluster-icon-ipc.js.map +1 -0
- package/out/renderer/src/common/cluster-icons.js +133 -0
- package/out/renderer/src/common/cluster-icons.js.map +1 -0
- package/out/renderer/src/common/dashboard.js +1 -1
- package/out/renderer/src/common/dashboard.js.map +1 -1
- package/out/renderer/src/common/date-time.js +11 -0
- package/out/renderer/src/common/date-time.js.map +1 -0
- package/out/renderer/src/common/monitoring-history.js +17 -0
- package/out/renderer/src/common/monitoring-history.js.map +1 -0
- package/out/renderer/src/common/monitoring-math.js +98 -0
- package/out/renderer/src/common/monitoring-math.js.map +1 -0
- package/out/renderer/src/common/resource-diagnostics.js +227 -0
- package/out/renderer/src/common/resource-diagnostics.js.map +1 -0
- package/out/renderer/src/common/settings-export.js.map +1 -1
- package/out/renderer/src/common/store/monitoring-preferences-store.js +30 -2
- package/out/renderer/src/common/store/monitoring-preferences-store.js.map +1 -1
- package/out/renderer/welcome.js +31 -7
- package/out/renderer/welcome.js.map +1 -1
- package/package.json +3 -2
|
@@ -4,96 +4,11 @@ const require_monitoring_preferences_store = require("./src/common/store/monitor
|
|
|
4
4
|
const require__global_external_react = require("./_virtual/_global-external_react.js");
|
|
5
5
|
const require__global_external_react_dom = require("./_virtual/_global-external_react-dom.js");
|
|
6
6
|
const require_jsx_runtime = require("./_virtual/_global-external_react/jsx-runtime.js");
|
|
7
|
+
const require_date_time = require("./src/common/date-time.js");
|
|
8
|
+
const require_monitoring_math = require("./src/common/monitoring-math.js");
|
|
9
|
+
const require_monitoring_collector = require("./monitoring-collector.js");
|
|
10
|
+
const require_monitoring_history_view = require("./monitoring-history-view.js");
|
|
7
11
|
//#region src/renderer/monitoring.tsx
|
|
8
|
-
function effectivePodResource(pod, metric, kind) {
|
|
9
|
-
const read = (resources) => {
|
|
10
|
-
const raw = resources?.[kind]?.[metric];
|
|
11
|
-
if (raw !== void 0) return parseQuantity(raw, metric === "memory");
|
|
12
|
-
if (kind === "requests" && resources?.limits?.[metric] !== void 0) return parseQuantity(resources.limits[metric], metric === "memory");
|
|
13
|
-
return kind === "requests" ? 0 : Infinity;
|
|
14
|
-
};
|
|
15
|
-
const spec = pod.spec;
|
|
16
|
-
if (!spec?.containers?.length) throw new Error("Missing pod containers");
|
|
17
|
-
let sidecars = 0;
|
|
18
|
-
let initPeak = 0;
|
|
19
|
-
for (const container of spec.initContainers ?? []) {
|
|
20
|
-
const value = read(container.resources);
|
|
21
|
-
if (container.restartPolicy === "Always") {
|
|
22
|
-
sidecars += value;
|
|
23
|
-
initPeak = Math.max(initPeak, sidecars);
|
|
24
|
-
} else initPeak = Math.max(initPeak, sidecars + value);
|
|
25
|
-
}
|
|
26
|
-
let effective = Math.max(initPeak, sidecars + spec.containers.reduce((sum, container) => sum + read(container.resources), 0));
|
|
27
|
-
if (spec.resources?.[kind]?.[metric] !== void 0) effective = read(spec.resources);
|
|
28
|
-
const overhead = spec.overhead?.[metric];
|
|
29
|
-
if (overhead !== void 0 && (kind === "requests" || effective > 0)) effective += parseQuantity(overhead, metric === "memory");
|
|
30
|
-
return effective;
|
|
31
|
-
}
|
|
32
|
-
function aggregateResources(nodes, pods) {
|
|
33
|
-
if (!nodes.length || nodes.some((node) => !node.metadata?.name)) throw new Error("Missing node inventory");
|
|
34
|
-
const names = new Set(nodes.map((node) => node.metadata.name));
|
|
35
|
-
const scheduled = pods?.filter((pod) => pod.spec?.nodeName && names.has(pod.spec.nodeName) && pod.status?.phase !== "Succeeded" && pod.status?.phase !== "Failed");
|
|
36
|
-
const sum = (metric) => {
|
|
37
|
-
const capacity = nodes.reduce((total, node) => total + parseQuantity(node.status?.capacity?.[metric] ?? "", metric === "memory"), 0);
|
|
38
|
-
const allocatable = nodes.reduce((total, node) => total + parseQuantity(node.status?.allocatable?.[metric] ?? "", metric === "memory"), 0);
|
|
39
|
-
const requests = scheduled?.reduce((total, pod) => total + effectivePodResource(pod, metric, "requests"), 0);
|
|
40
|
-
const limits = scheduled?.reduce((total, pod) => total + effectivePodResource(pod, metric, "limits"), 0);
|
|
41
|
-
return {
|
|
42
|
-
capacity,
|
|
43
|
-
allocatable,
|
|
44
|
-
requests,
|
|
45
|
-
limits: limits === Infinity ? void 0 : limits,
|
|
46
|
-
unbounded: limits === Infinity
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
return {
|
|
50
|
-
cpu: sum("cpu"),
|
|
51
|
-
memory: sum("memory")
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
var INTERVAL = 3e4;
|
|
55
|
-
function parseQuantity(raw, memory = false) {
|
|
56
|
-
const match = /^(\d+(?:\.\d*)?|\.\d+)([eE][+-]?\d+|n|u|m|Ki|Mi|Gi|Ti|Pi|Ei|k|K|M|G|T|P|E)?$/.exec(raw);
|
|
57
|
-
if (!match) throw new Error("Invalid metrics quantity");
|
|
58
|
-
const suffix = match[2] ?? "";
|
|
59
|
-
const value = Number(match[1]) * (suffix.endsWith("i") ? 1024 ** ([
|
|
60
|
-
"Ki",
|
|
61
|
-
"Mi",
|
|
62
|
-
"Gi",
|
|
63
|
-
"Ti",
|
|
64
|
-
"Pi",
|
|
65
|
-
"Ei"
|
|
66
|
-
].indexOf(suffix) + 1) : /^[eE][+-]?\d+$/.test(suffix) ? 10 ** Number(suffix.slice(1)) : {
|
|
67
|
-
n: 1e-9,
|
|
68
|
-
u: 1e-6,
|
|
69
|
-
m: .001,
|
|
70
|
-
k: 1e3,
|
|
71
|
-
K: 1e3,
|
|
72
|
-
M: 1e6,
|
|
73
|
-
G: 1e9,
|
|
74
|
-
T: 0xe8d4a51000,
|
|
75
|
-
P: 0x38d7ea4c68000,
|
|
76
|
-
E: 0xde0b6b3a7640000
|
|
77
|
-
}[suffix] ?? 1);
|
|
78
|
-
if (!Number.isFinite(value) || !memory && suffix.endsWith("i")) throw new Error("Invalid metrics quantity");
|
|
79
|
-
return value;
|
|
80
|
-
}
|
|
81
|
-
function aggregateMetrics(nodes, now = Date.now()) {
|
|
82
|
-
if (!nodes.length) throw new Error("No node metrics available");
|
|
83
|
-
let cpu = 0;
|
|
84
|
-
let memory = 0;
|
|
85
|
-
for (const node of nodes) {
|
|
86
|
-
const timestamp = Date.parse(node.timestamp);
|
|
87
|
-
if (!Number.isFinite(timestamp) || now - timestamp > 12e4 || timestamp > now + 3e4) throw new Error("Node metrics are stale");
|
|
88
|
-
cpu += parseQuantity(node.usage.cpu);
|
|
89
|
-
memory += parseQuantity(node.usage.memory, true);
|
|
90
|
-
}
|
|
91
|
-
return {
|
|
92
|
-
time: now,
|
|
93
|
-
cpu,
|
|
94
|
-
memory
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
12
|
function formatMonitoringTime(time) {
|
|
98
13
|
return new Date(time).toLocaleTimeString([], {
|
|
99
14
|
hour: "2-digit",
|
|
@@ -123,7 +38,7 @@ function ResourceTitle({ metric, label }) {
|
|
|
123
38
|
}), label ?? (metric === "cpu" ? "CPU" : "Memory")]
|
|
124
39
|
});
|
|
125
40
|
}
|
|
126
|
-
function MetricChart({ metric, samples, status, scope = "node" }) {
|
|
41
|
+
function MetricChart({ metric, samples, status, scope = "node", headerAction }) {
|
|
127
42
|
const [selectedTime, setSelectedTime] = require__global_external_react.useState();
|
|
128
43
|
const [pinned, setPinned] = require__global_external_react.useState(false);
|
|
129
44
|
const previousMetric = require__global_external_react.useRef(metric);
|
|
@@ -198,10 +113,10 @@ function MetricChart({ metric, samples, status, scope = "node" }) {
|
|
|
198
113
|
value: (sample) => sample.resources?.[metric][key]
|
|
199
114
|
}))];
|
|
200
115
|
const visibleSeries = scope === "pod" ? series.filter((line) => line.key === "usage" || line.key === "requests") : series;
|
|
201
|
-
const max = Math.max(...samples.flatMap((sample) => visibleSeries.map((line) => line.value(sample) ?? 0)), .001) * 1.1;
|
|
116
|
+
const max = Math.max(...samples.flatMap((sample) => [...visibleSeries.map((line) => line.value(sample) ?? 0), sample.historical?.[metric]?.max ?? 0]), .001) * 1.1;
|
|
202
117
|
const end = last?.time ?? Date.now();
|
|
203
118
|
const start = samples[0]?.time ?? end;
|
|
204
|
-
const duration = Math.max(end - start,
|
|
119
|
+
const duration = Math.max(end - start, require_monitoring_math.MONITORING_INTERVAL);
|
|
205
120
|
const x = (sample) => 88 + (sample.time - start) / duration * plotWidth;
|
|
206
121
|
const y = (sample) => 208 - sample[metric] / max * 184;
|
|
207
122
|
const selectNearest = (event) => {
|
|
@@ -224,11 +139,19 @@ function MetricChart({ metric, samples, status, scope = "node" }) {
|
|
|
224
139
|
position: "relative"
|
|
225
140
|
},
|
|
226
141
|
children: [
|
|
142
|
+
headerAction && /* @__PURE__ */ require_jsx_runtime.jsx("div", {
|
|
143
|
+
className: "power-monitoring-period-action",
|
|
144
|
+
children: headerAction
|
|
145
|
+
}),
|
|
227
146
|
/* @__PURE__ */ require_jsx_runtime.jsxs("div", {
|
|
147
|
+
"data-monitoring-heading": "",
|
|
228
148
|
style: {
|
|
229
149
|
display: "flex",
|
|
230
150
|
alignItems: "center",
|
|
231
|
-
|
|
151
|
+
flexWrap: "wrap",
|
|
152
|
+
gap: 12,
|
|
153
|
+
paddingRight: headerAction ? 100 : 0,
|
|
154
|
+
minHeight: headerAction ? 32 : void 0
|
|
232
155
|
},
|
|
233
156
|
children: [/* @__PURE__ */ require_jsx_runtime.jsx(ResourceTitle, { metric }), /* @__PURE__ */ require_jsx_runtime.jsx("span", { children: status ? "Unavailable" : last ? format(last[metric]) : "Collecting…" })]
|
|
234
157
|
}),
|
|
@@ -298,25 +221,66 @@ function MetricChart({ metric, samples, status, scope = "node" }) {
|
|
|
298
221
|
fontSize: "11",
|
|
299
222
|
children: format(max * fraction)
|
|
300
223
|
})] }, fraction)),
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
224
|
+
samples.map((sample) => {
|
|
225
|
+
const summary = sample.historical?.[metric];
|
|
226
|
+
if (!summary || summary.min === summary.max) return null;
|
|
227
|
+
return /* @__PURE__ */ require_jsx_runtime.jsx("line", {
|
|
228
|
+
"data-monitoring-extrema": "",
|
|
229
|
+
x1: x(sample),
|
|
230
|
+
x2: x(sample),
|
|
231
|
+
y1: 208 - summary.max / max * 184,
|
|
232
|
+
y2: 208 - summary.min / max * 184,
|
|
233
|
+
stroke: "#c93dce",
|
|
234
|
+
strokeOpacity: .35,
|
|
235
|
+
strokeWidth: 4
|
|
236
|
+
}, `range:${sample.time}`);
|
|
237
|
+
}),
|
|
238
|
+
visibleSeries.map((line) => {
|
|
239
|
+
let path = "";
|
|
240
|
+
let gaps = "";
|
|
241
|
+
let previous;
|
|
242
|
+
let interrupted = false;
|
|
243
|
+
for (const sample of samples) {
|
|
304
244
|
const value = line.value(sample);
|
|
305
|
-
if (value === void 0)
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
245
|
+
if (value === void 0 || !Number.isFinite(value)) {
|
|
246
|
+
interrupted = true;
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
const point = `${x(sample)},${208 - value / max * 184}`;
|
|
250
|
+
const gap = previous && (interrupted || sample.breakBefore || sample.time - previous.sample.time > 1.8 * Math.max(sample.historical?.[metric]?.resolution ?? 3e4, previous.sample.historical?.[metric]?.resolution ?? 3e4));
|
|
251
|
+
path += ` ${!previous || gap ? "M" : "L"}${point}`;
|
|
252
|
+
if (previous && gap) gaps += ` M${previous.point} L${point}`;
|
|
253
|
+
previous = {
|
|
254
|
+
sample,
|
|
255
|
+
point
|
|
256
|
+
};
|
|
257
|
+
interrupted = false;
|
|
258
|
+
}
|
|
259
|
+
return /* @__PURE__ */ require_jsx_runtime.jsxs("g", { children: [/* @__PURE__ */ require_jsx_runtime.jsx("path", {
|
|
260
|
+
"data-monitoring-series": line.key,
|
|
261
|
+
d: path,
|
|
262
|
+
fill: "none",
|
|
263
|
+
stroke: line.color,
|
|
264
|
+
strokeWidth: "2",
|
|
265
|
+
strokeDasharray: line.key === "capacity" || line.key === "allocatable" ? "5 3" : void 0
|
|
266
|
+
}), gaps && /* @__PURE__ */ require_jsx_runtime.jsx("path", {
|
|
267
|
+
"data-monitoring-gap": line.key,
|
|
268
|
+
d: gaps,
|
|
269
|
+
fill: "none",
|
|
270
|
+
stroke: line.color,
|
|
271
|
+
strokeWidth: "2",
|
|
272
|
+
strokeDasharray: "3 4",
|
|
273
|
+
opacity: ".65",
|
|
274
|
+
children: /* @__PURE__ */ require_jsx_runtime.jsx("title", { children: "Dashed connections span missing measurements; intermediate values are unknown" })
|
|
275
|
+
})] }, line.key);
|
|
276
|
+
}),
|
|
313
277
|
samples.map((sample) => /* @__PURE__ */ require_jsx_runtime.jsx("circle", {
|
|
314
278
|
cx: x(sample),
|
|
315
279
|
cy: y(sample),
|
|
316
280
|
r: "2",
|
|
317
281
|
fill: "currentColor",
|
|
318
282
|
children: /* @__PURE__ */ require_jsx_runtime.jsxs("title", { children: [
|
|
319
|
-
|
|
283
|
+
require_date_time.formatDateTime(sample.time),
|
|
320
284
|
": ",
|
|
321
285
|
format(sample[metric])
|
|
322
286
|
] })
|
|
@@ -362,7 +326,10 @@ function MetricChart({ metric, samples, status, scope = "node" }) {
|
|
|
362
326
|
pointerEvents: "none"
|
|
363
327
|
},
|
|
364
328
|
children: [
|
|
365
|
-
/* @__PURE__ */ require_jsx_runtime.jsxs("div", {
|
|
329
|
+
/* @__PURE__ */ require_jsx_runtime.jsxs("div", {
|
|
330
|
+
style: { whiteSpace: "pre-wrap" },
|
|
331
|
+
children: [require_date_time.formatDateTime(selected.time), pinned ? " · Pinned" : ""]
|
|
332
|
+
}),
|
|
366
333
|
visibleSeries.map((line) => /* @__PURE__ */ require_jsx_runtime.jsxs("div", {
|
|
367
334
|
style: { color: line.color },
|
|
368
335
|
children: [
|
|
@@ -371,6 +338,18 @@ function MetricChart({ metric, samples, status, scope = "node" }) {
|
|
|
371
338
|
line.value(selected) === void 0 ? "Unavailable" : format(line.value(selected))
|
|
372
339
|
]
|
|
373
340
|
}, line.key)),
|
|
341
|
+
selected.historical?.[metric] && /* @__PURE__ */ require_jsx_runtime.jsxs("div", { children: [
|
|
342
|
+
"Min: ",
|
|
343
|
+
format(selected.historical[metric].min),
|
|
344
|
+
" · Max: ",
|
|
345
|
+
format(selected.historical[metric].max),
|
|
346
|
+
/* @__PURE__ */ require_jsx_runtime.jsx("br", {}),
|
|
347
|
+
selected.historical[metric].count,
|
|
348
|
+
" samples ·",
|
|
349
|
+
" ",
|
|
350
|
+
Math.round(selected.historical[metric].resolution / 1e3),
|
|
351
|
+
"s bucket"
|
|
352
|
+
] }),
|
|
374
353
|
/* @__PURE__ */ require_jsx_runtime.jsx("div", {
|
|
375
354
|
style: {
|
|
376
355
|
color: "var(--textColorSecondary)",
|
|
@@ -617,11 +596,19 @@ function ResourceDonut({ metric, sample, status }) {
|
|
|
617
596
|
});
|
|
618
597
|
}
|
|
619
598
|
function MonitoringCharts({ samples, status }) {
|
|
599
|
+
const clusterId = require_extensions.Renderer.Catalog.activeCluster.get()?.metadata.uid;
|
|
600
|
+
const history = require_monitoring_history_view.useMonitoringHistory(clusterId ? {
|
|
601
|
+
clusterId,
|
|
602
|
+
scope: "cluster",
|
|
603
|
+
uid: clusterId
|
|
604
|
+
} : void 0, samples);
|
|
620
605
|
return /* @__PURE__ */ require_jsx_runtime.jsxs("div", {
|
|
621
606
|
style: { containerType: "inline-size" },
|
|
622
|
-
children: [
|
|
607
|
+
children: [
|
|
608
|
+
/* @__PURE__ */ require_jsx_runtime.jsx("style", { children: `
|
|
623
609
|
[data-monitoring-layout] { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:stretch }
|
|
624
610
|
[data-monitoring-trends], [data-monitoring-summaries] { display:contents }
|
|
611
|
+
.power-monitoring-period-action { position:absolute;right:16px;top:19px }
|
|
625
612
|
@container (min-width: 961px) {
|
|
626
613
|
[data-monitoring-summaries] > section { --power-monitoring-summary-top:16px }
|
|
627
614
|
}
|
|
@@ -631,29 +618,48 @@ function MonitoringCharts({ samples, status }) {
|
|
|
631
618
|
}
|
|
632
619
|
@container (max-width: 580px) {
|
|
633
620
|
[data-monitoring-layout] { grid-template-columns:minmax(0,1fr) }
|
|
621
|
+
.power-monitoring-period-action { left:16px;right:auto;top:15px }
|
|
622
|
+
[data-monitoring-trends] > section:first-child { --power-monitoring-trend-top:56px }
|
|
634
623
|
.power-ai-overview-actions + [data-testid="cluster-overview-page"] [data-monitoring-trends] > section:not(:first-child) { --power-monitoring-trend-top:16px }
|
|
635
624
|
}
|
|
636
|
-
` }),
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
}),
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
625
|
+
` }),
|
|
626
|
+
history.status && /* @__PURE__ */ require_jsx_runtime.jsx("small", {
|
|
627
|
+
role: "status",
|
|
628
|
+
style: {
|
|
629
|
+
display: "block",
|
|
630
|
+
color: "var(--textColorSecondary)",
|
|
631
|
+
marginBottom: 8
|
|
632
|
+
},
|
|
633
|
+
children: history.status
|
|
634
|
+
}),
|
|
635
|
+
/* @__PURE__ */ require_jsx_runtime.jsxs("div", {
|
|
636
|
+
"data-monitoring-layout": "",
|
|
637
|
+
children: [/* @__PURE__ */ require_jsx_runtime.jsx("div", {
|
|
638
|
+
"data-monitoring-trends": "",
|
|
639
|
+
children: ["cpu", "memory"].map((metric) => /* @__PURE__ */ require_jsx_runtime.jsx(MetricChart, {
|
|
640
|
+
metric,
|
|
641
|
+
samples: history.samples,
|
|
642
|
+
status,
|
|
643
|
+
headerAction: metric === "cpu" ? /* @__PURE__ */ require_jsx_runtime.jsx(require_monitoring_history_view.MonitoringHistoryRange, {
|
|
644
|
+
compact: true,
|
|
645
|
+
range: history.range,
|
|
646
|
+
onChange: history.setRange
|
|
647
|
+
}) : void 0
|
|
648
|
+
}, metric))
|
|
649
|
+
}), /* @__PURE__ */ require_jsx_runtime.jsx("div", {
|
|
650
|
+
"data-monitoring-summaries": "",
|
|
651
|
+
children: ["cpu", "memory"].map((metric) => /* @__PURE__ */ require_jsx_runtime.jsx(ResourceDonut, {
|
|
652
|
+
metric,
|
|
653
|
+
sample: samples.at(-1),
|
|
654
|
+
status
|
|
655
|
+
}, metric))
|
|
656
|
+
})]
|
|
657
|
+
})
|
|
658
|
+
]
|
|
654
659
|
});
|
|
655
660
|
}
|
|
656
661
|
function startMonitoring() {
|
|
662
|
+
const release = require_monitoring_collector.retainMonitoringCollector();
|
|
657
663
|
const preferences = require_monitoring_preferences_store.MonitoringPreferencesStore.getInstanceOrCreate();
|
|
658
664
|
let stopCurrent;
|
|
659
665
|
const stop = require__global_external_mobx.reaction(() => preferences.enabled, (enabled) => {
|
|
@@ -663,6 +669,7 @@ function startMonitoring() {
|
|
|
663
669
|
return () => {
|
|
664
670
|
stop();
|
|
665
671
|
stopCurrent?.();
|
|
672
|
+
release();
|
|
666
673
|
};
|
|
667
674
|
}
|
|
668
675
|
function mountMonitoring() {
|
|
@@ -713,7 +720,7 @@ function mountMonitoring() {
|
|
|
713
720
|
cluster = currentCluster;
|
|
714
721
|
overview = currentOverview;
|
|
715
722
|
}
|
|
716
|
-
const cutoff = Date.now() - 60 *
|
|
723
|
+
const cutoff = Date.now() - 60 * require_monitoring_math.MONITORING_INTERVAL;
|
|
717
724
|
if (samples.length && samples[0].time < cutoff) samples = samples.filter((sample) => sample.time >= cutoff);
|
|
718
725
|
if (!overview || !cluster || document.visibilityState === "hidden") return;
|
|
719
726
|
if (!host) {
|
|
@@ -761,21 +768,30 @@ function mountMonitoring() {
|
|
|
761
768
|
render();
|
|
762
769
|
if (pendingGeneration === generation || Date.now() < nextSample) return;
|
|
763
770
|
pendingGeneration = generation;
|
|
764
|
-
nextSample = Date.now() +
|
|
771
|
+
nextSample = Date.now() + require_monitoring_math.MONITORING_INTERVAL;
|
|
765
772
|
const requestGeneration = generation;
|
|
766
773
|
const isCurrent = () => !stopped && requestGeneration === generation && document.visibilityState !== "hidden" && overview?.isConnected === true && require_extensions.Renderer.Catalog.activeCluster.get()?.metadata.uid === cluster;
|
|
767
774
|
try {
|
|
768
|
-
const
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
775
|
+
const collected = await require_monitoring_collector.getMonitoringSnapshot();
|
|
776
|
+
const metrics = collected.nodeMetrics === void 0 ? { status: "rejected" } : {
|
|
777
|
+
status: "fulfilled",
|
|
778
|
+
value: collected.nodeMetrics
|
|
779
|
+
};
|
|
780
|
+
const inventory = collected.nodes === void 0 ? { status: "rejected" } : {
|
|
781
|
+
status: "fulfilled",
|
|
782
|
+
value: collected.nodes
|
|
783
|
+
};
|
|
784
|
+
const pods = collected.pods === void 0 ? { status: "rejected" } : {
|
|
785
|
+
status: "fulfilled",
|
|
786
|
+
value: collected.pods
|
|
787
|
+
};
|
|
773
788
|
if (!isCurrent()) return;
|
|
774
789
|
if (metrics.status !== "fulfilled") throw new Error("Metrics unavailable");
|
|
775
|
-
const sample = aggregateMetrics(metrics.value ?? []);
|
|
790
|
+
const sample = require_monitoring_math.aggregateMetrics(metrics.value ?? []);
|
|
791
|
+
sample.time = Math.min(...metrics.value.map((item) => Date.parse(item.timestamp)));
|
|
776
792
|
const warnings = [];
|
|
777
793
|
if (inventory.status === "fulfilled") try {
|
|
778
|
-
sample.resources = aggregateResources(inventory.value ?? [], pods.status === "fulfilled" ? pods.value ?? void 0 : void 0);
|
|
794
|
+
sample.resources = require_monitoring_math.aggregateResources(inventory.value ?? [], pods.status === "fulfilled" ? pods.value ?? void 0 : void 0);
|
|
779
795
|
const expected = new Set((inventory.value ?? []).map((node) => node.metadata.name));
|
|
780
796
|
const observed = new Set((metrics.value ?? []).map((node) => node.metadata.name));
|
|
781
797
|
sample.completeUsage = expected.size > 0 && expected.size === observed.size && [...expected].every((name) => observed.has(name));
|
|
@@ -786,7 +802,7 @@ function mountMonitoring() {
|
|
|
786
802
|
else warnings.push("Node inventory unavailable or access denied; usage coverage unverified, capacity unavailable");
|
|
787
803
|
if (pods.status !== "fulfilled") warnings.push("Cluster-wide Pods unavailable or access denied; requests unavailable");
|
|
788
804
|
sample.resourceStatus = warnings.join(". ");
|
|
789
|
-
samples = [...samples, sample].slice(-60);
|
|
805
|
+
samples = [...samples.filter((entry) => entry.time !== sample.time), sample].sort((a, b) => a.time - b.time).slice(-60);
|
|
790
806
|
status = "";
|
|
791
807
|
} catch {
|
|
792
808
|
if (!isCurrent()) return;
|
|
@@ -819,11 +835,9 @@ function mountMonitoring() {
|
|
|
819
835
|
}
|
|
820
836
|
//#endregion
|
|
821
837
|
exports.MetricChart = MetricChart;
|
|
822
|
-
exports.
|
|
823
|
-
exports.aggregateResources = aggregateResources;
|
|
824
|
-
exports.effectivePodResource = effectivePodResource;
|
|
838
|
+
exports.effectivePodResource = require_monitoring_math.effectivePodResource;
|
|
825
839
|
exports.formatMonitoringTime = formatMonitoringTime;
|
|
826
|
-
exports.parseQuantity = parseQuantity;
|
|
840
|
+
exports.parseQuantity = require_monitoring_math.parseQuantity;
|
|
827
841
|
exports.startMonitoring = startMonitoring;
|
|
828
842
|
|
|
829
843
|
//# sourceMappingURL=monitoring.js.map
|