@perses-dev/prometheus-plugin 0.50.3 → 0.51.0-beta.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.
- package/LICENSE +183 -183
- package/README.md +41 -0
- package/__mf/css/async/2341.dacad691.css +1 -0
- package/__mf/css/async/5263.dacad691.css +1 -0
- package/__mf/css/async/6759.dacad691.css +1 -0
- package/__mf/font/lato-all-300-normal.322bdf14.woff +0 -0
- package/__mf/font/lato-all-400-normal.63513b00.woff +0 -0
- package/__mf/font/lato-all-700-normal.bb27db94.woff +0 -0
- package/__mf/font/lato-all-900-normal.a27049a3.woff +0 -0
- package/__mf/font/lato-latin-300-normal.c5195215.woff2 +0 -0
- package/__mf/font/lato-latin-400-normal.b7ffde23.woff2 +0 -0
- package/__mf/font/lato-latin-700-normal.d5eb20bc.woff2 +0 -0
- package/__mf/font/lato-latin-900-normal.d884a71c.woff2 +0 -0
- package/__mf/font/lato-latin-ext-300-normal.abcc64a9.woff2 +0 -0
- package/__mf/font/lato-latin-ext-400-normal.6ebed106.woff2 +0 -0
- package/__mf/font/lato-latin-ext-700-normal.8697d1d5.woff2 +0 -0
- package/__mf/font/lato-latin-ext-900-normal.20a2b415.woff2 +0 -0
- package/__mf/js/622.f7592106.js +5 -0
- package/__mf/js/Prometheus.328aad7c.js +5 -0
- package/__mf/js/async/1465.3b5e12d5.js +1 -0
- package/__mf/js/async/1495.6c8b8071.js +1 -0
- package/__mf/js/async/1620.6376bd14.js +2 -0
- package/__mf/js/async/1620.6376bd14.js.LICENSE.txt +9 -0
- package/__mf/js/async/1864.df7c4beb.js +1 -0
- package/__mf/js/async/1950.704c331e.js +1 -0
- package/__mf/js/async/1964.95da06f6.js +2 -0
- package/__mf/js/async/1964.95da06f6.js.LICENSE.txt +9 -0
- package/__mf/js/async/1996.01084c88.js +2 -0
- package/__mf/js/async/1996.01084c88.js.LICENSE.txt +24 -0
- package/__mf/js/async/212.bd5d617a.js +1 -0
- package/__mf/js/async/2316.fec4907a.js +1 -0
- package/__mf/js/async/232.f3523a60.js +1 -0
- package/__mf/js/async/2569.daf868a6.js +10 -0
- package/__mf/js/async/2569.daf868a6.js.LICENSE.txt +27 -0
- package/__mf/js/async/2675.c3b73822.js +1 -0
- package/__mf/js/async/3224.23f0dccf.js +1 -0
- package/__mf/js/async/3355.a4dbcdb0.js +1 -0
- package/__mf/js/async/3436.97c926a4.js +1 -0
- package/__mf/js/async/3818.dde21d04.js +1 -0
- package/__mf/js/async/3871.6915e369.js +1 -0
- package/__mf/js/async/3960.129d5ef5.js +2 -0
- package/__mf/js/async/3960.129d5ef5.js.LICENSE.txt +8 -0
- package/__mf/js/async/4075.b77ca1c7.js +1 -0
- package/__mf/js/async/4238.8e4d29d5.js +1 -0
- package/__mf/js/async/4323.4266fd6a.js +1 -0
- package/__mf/js/async/4421.1bcc1637.js +1 -0
- package/__mf/js/async/4489.3361e7bc.js +29 -0
- package/__mf/js/async/4489.3361e7bc.js.LICENSE.txt +59 -0
- package/__mf/js/async/5214.027c4332.js +1 -0
- package/__mf/js/async/5345.8c2e4b4a.js +1 -0
- package/__mf/js/async/537.6911ea2e.js +1 -0
- package/__mf/js/async/5387.fd6e16d6.js +1 -0
- package/__mf/js/async/5654.ecb41aea.js +38 -0
- package/__mf/js/async/5724.6ee6ec51.js +1 -0
- package/__mf/js/async/5774.9b0b6be1.js +1 -0
- package/__mf/js/async/5790.2273e061.js +1 -0
- package/__mf/js/async/5913.9d30fd07.js +73 -0
- package/__mf/js/async/5913.9d30fd07.js.LICENSE.txt +19 -0
- package/__mf/js/async/5914.bd342d22.js +74 -0
- package/__mf/js/async/5981.40bed0d0.js +2 -0
- package/__mf/js/async/5981.40bed0d0.js.LICENSE.txt +8 -0
- package/__mf/js/async/6292.7b8efa78.js +1 -0
- package/__mf/js/async/6333.865a46e0.js +2 -0
- package/__mf/js/async/6333.865a46e0.js.LICENSE.txt +9 -0
- package/__mf/js/async/6377.ca974d89.js +2 -0
- package/__mf/js/async/6377.ca974d89.js.LICENSE.txt +32 -0
- package/__mf/js/async/6770.adb1c939.js +1 -0
- package/__mf/js/async/684.ca510333.js +1 -0
- package/__mf/js/async/694.f861d67c.js +1 -0
- package/__mf/js/async/7272.a763aa92.js +1 -0
- package/__mf/js/async/738.aca54e25.js +1 -0
- package/__mf/js/async/7740.0c5363fd.js +1 -0
- package/__mf/js/async/8265.b9e2c31e.js +1 -0
- package/__mf/js/async/8488.5237550f.js +1 -0
- package/__mf/js/async/8587.4891ea90.js +1 -0
- package/__mf/js/async/8610.8300df79.js +1 -0
- package/__mf/js/async/87.fdc843ac.js +1 -0
- package/__mf/js/async/8930.9fbbc975.js +1 -0
- package/__mf/js/async/8997.18901f45.js +28 -0
- package/__mf/js/async/9173.e8fbead5.js +2 -0
- package/__mf/js/async/9173.e8fbead5.js.LICENSE.txt +19 -0
- package/__mf/js/async/__federation_expose_PrometheusDatasource.f6f57299.js +1 -0
- package/__mf/js/async/__federation_expose_PrometheusExplorer.5fcf955a.js +1 -0
- package/__mf/js/async/__federation_expose_PrometheusLabelNamesVariable.86d0ad5a.js +1 -0
- package/__mf/js/async/__federation_expose_PrometheusLabelValuesVariable.b2893484.js +1 -0
- package/__mf/js/async/__federation_expose_PrometheusPromQLVariable.cd16f6e8.js +1 -0
- package/__mf/js/async/__federation_expose_PrometheusTimeSeriesQuery.eb9eefa6.js +1 -0
- package/__mf/js/main.154a5b65.js +1 -0
- package/lib/bootstrap.d.ts +2 -0
- package/lib/bootstrap.d.ts.map +1 -0
- package/lib/bootstrap.js +19 -0
- package/lib/bootstrap.js.map +1 -0
- package/lib/cjs/bootstrap.js +26 -0
- package/{dist → lib}/cjs/components/PromQLEditor.js +9 -7
- package/lib/cjs/components/TreeNode.js +492 -0
- package/{dist → lib}/cjs/components/promql/ast.js +21 -21
- package/lib/cjs/components/promql/functionSignatures.js +651 -0
- package/lib/cjs/components/promql/serialize.js +88 -0
- package/{dist → lib}/cjs/components/promql/utils.js +12 -1
- package/{dist/cjs/components/parse.js → lib/cjs/components/query.js} +37 -4
- package/lib/cjs/env.d.js +14 -0
- package/lib/cjs/explore/PrometheusExplorer.js +203 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js +268 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/display/MetricChip.js +61 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/display/list/MetricList.js +179 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/filter/FilterInputs.js +231 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/filter/FinderFilters.js +97 -0
- package/{dist/cjs/plugins/prometheus-time-series-query → lib/cjs/explore/PrometheusMetricsFinder}/index.js +1 -1
- package/lib/cjs/explore/PrometheusMetricsFinder/overview/MetricOverview.js +235 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js +144 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js +423 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js +53 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/types.js +25 -0
- package/lib/cjs/explore/PrometheusMetricsFinder/utils.js +203 -0
- package/lib/cjs/explore/index.js +19 -0
- package/lib/cjs/getPluginModule.js +27 -0
- package/lib/cjs/index-federation.js +55 -0
- package/lib/cjs/index.js +28 -0
- package/{dist → lib}/cjs/model/api-types.js +1 -1
- package/{dist → lib}/cjs/model/prometheus-client.js +1 -1
- package/lib/cjs/plugins/PrometheusDatasourceEditor.js +109 -0
- package/lib/cjs/plugins/PrometheusLabelNamesVariable.js +34 -0
- package/lib/cjs/plugins/PrometheusLabelValuesVariable.js +38 -0
- package/lib/cjs/plugins/PrometheusPromQLVariable.js +42 -0
- package/lib/cjs/plugins/index.js +26 -0
- package/{dist → lib}/cjs/plugins/prometheus-datasource.js +9 -9
- package/{dist → lib}/cjs/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js +11 -9
- package/{dist → lib}/cjs/plugins/prometheus-time-series-query/get-time-series-data.js +51 -29
- package/lib/cjs/plugins/prometheus-time-series-query/index.js +35 -0
- package/{dist → lib}/cjs/plugins/prometheus-variables.js +25 -101
- package/{dist → lib}/cjs/plugins/variable.js +1 -2
- package/lib/cjs/setup-tests.js +19 -0
- package/{dist → lib}/cjs/utils/utils.js +1 -2
- package/lib/components/PromQLEditor.d.ts.map +1 -0
- package/{dist → lib}/components/PromQLEditor.js +9 -7
- package/lib/components/PromQLEditor.js.map +1 -0
- package/lib/components/TreeNode.d.ts +15 -0
- package/lib/components/TreeNode.d.ts.map +1 -0
- package/lib/components/TreeNode.js +479 -0
- package/lib/components/TreeNode.js.map +1 -0
- package/lib/components/index.d.ts.map +1 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/promql/ast.d.ts.map +1 -0
- package/{dist → lib}/components/promql/ast.js +21 -21
- package/lib/components/promql/ast.js.map +1 -0
- package/{dist → lib}/components/promql/format.d.ts +1 -1
- package/lib/components/promql/format.d.ts.map +1 -0
- package/lib/components/promql/format.js.map +1 -0
- package/lib/components/promql/functionSignatures.d.ts +3 -0
- package/lib/components/promql/functionSignatures.d.ts.map +1 -0
- package/lib/components/promql/functionSignatures.js +643 -0
- package/lib/components/promql/functionSignatures.js.map +1 -0
- package/lib/components/promql/serialize.d.ts +4 -0
- package/lib/components/promql/serialize.d.ts.map +1 -0
- package/lib/components/promql/serialize.js +80 -0
- package/lib/components/promql/serialize.js.map +1 -0
- package/{dist → lib}/components/promql/utils.d.ts +1 -0
- package/lib/components/promql/utils.d.ts.map +1 -0
- package/{dist → lib}/components/promql/utils.js +9 -1
- package/lib/components/promql/utils.js.map +1 -0
- package/lib/components/query.d.ts +6 -0
- package/lib/components/query.d.ts.map +1 -0
- package/{dist/components/parse.js → lib/components/query.js} +27 -2
- package/lib/components/query.js.map +1 -0
- package/lib/env.d.js +15 -0
- package/lib/env.d.js.map +1 -0
- package/lib/explore/PrometheusExplorer.d.ts +3 -0
- package/lib/explore/PrometheusExplorer.d.ts.map +1 -0
- package/lib/explore/PrometheusExplorer.js +190 -0
- package/lib/explore/PrometheusExplorer.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.d.ts +31 -0
- package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js +244 -0
- package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/display/MetricChip.d.ts +4 -0
- package/lib/explore/PrometheusMetricsFinder/display/MetricChip.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/display/MetricChip.js +53 -0
- package/lib/explore/PrometheusMetricsFinder/display/MetricChip.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.d.ts +27 -0
- package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.js +158 -0
- package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.d.ts +23 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.js +209 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.d.ts +13 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.js +84 -0
- package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/index.d.ts +2 -0
- package/lib/explore/PrometheusMetricsFinder/index.d.ts.map +1 -0
- package/{dist/model/api-types.js → lib/explore/PrometheusMetricsFinder/index.js} +2 -2
- package/lib/explore/PrometheusMetricsFinder/index.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.d.ts +23 -0
- package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.js +214 -0
- package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.d.ts +28 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js +125 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.d.ts +25 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js +399 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.d.ts +12 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js +45 -0
- package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/types.d.ts +22 -0
- package/lib/explore/PrometheusMetricsFinder/types.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/types.js +17 -0
- package/lib/explore/PrometheusMetricsFinder/types.js.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/utils.d.ts +22 -0
- package/lib/explore/PrometheusMetricsFinder/utils.d.ts.map +1 -0
- package/lib/explore/PrometheusMetricsFinder/utils.js +185 -0
- package/lib/explore/PrometheusMetricsFinder/utils.js.map +1 -0
- package/lib/explore/index.d.ts +3 -0
- package/lib/explore/index.d.ts.map +1 -0
- package/lib/explore/index.js +4 -0
- package/lib/explore/index.js.map +1 -0
- package/lib/getPluginModule.d.ts +6 -0
- package/lib/getPluginModule.d.ts.map +1 -0
- package/lib/getPluginModule.js +16 -0
- package/lib/getPluginModule.js.map +1 -0
- package/lib/index-federation.d.ts +1 -0
- package/lib/index-federation.d.ts.map +1 -0
- package/lib/index-federation.js +15 -0
- package/{dist/components/index.js.map → lib/index-federation.js.map} +1 -1
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -0
- package/{dist → lib}/model/api-types.d.ts +18 -1
- package/lib/model/api-types.d.ts.map +1 -0
- package/{dist/plugins/prometheus-time-series-query/index.js → lib/model/api-types.js} +3 -3
- package/lib/model/api-types.js.map +1 -0
- package/lib/model/index.d.ts.map +1 -0
- package/lib/model/index.js.map +1 -0
- package/lib/model/parse-sample-values.d.ts.map +1 -0
- package/lib/model/parse-sample-values.js.map +1 -0
- package/lib/model/prometheus-client.d.ts.map +1 -0
- package/{dist → lib}/model/prometheus-client.js +1 -1
- package/lib/model/prometheus-client.js.map +1 -0
- package/lib/model/prometheus-selectors.d.ts.map +1 -0
- package/lib/model/prometheus-selectors.js.map +1 -0
- package/lib/model/time.d.ts.map +1 -0
- package/lib/model/time.js.map +1 -0
- package/lib/plugins/MatcherEditor.d.ts.map +1 -0
- package/lib/plugins/MatcherEditor.js.map +1 -0
- package/lib/plugins/PrometheusDatasourceEditor.d.ts.map +1 -0
- package/lib/plugins/PrometheusDatasourceEditor.js +96 -0
- package/lib/plugins/PrometheusDatasourceEditor.js.map +1 -0
- package/lib/plugins/PrometheusLabelNamesVariable.d.ts +4 -0
- package/lib/plugins/PrometheusLabelNamesVariable.d.ts.map +1 -0
- package/lib/plugins/PrometheusLabelNamesVariable.js +26 -0
- package/lib/plugins/PrometheusLabelNamesVariable.js.map +1 -0
- package/lib/plugins/PrometheusLabelValuesVariable.d.ts +4 -0
- package/lib/plugins/PrometheusLabelValuesVariable.d.ts.map +1 -0
- package/lib/plugins/PrometheusLabelValuesVariable.js +30 -0
- package/lib/plugins/PrometheusLabelValuesVariable.js.map +1 -0
- package/lib/plugins/PrometheusPromQLVariable.d.ts +4 -0
- package/lib/plugins/PrometheusPromQLVariable.d.ts.map +1 -0
- package/lib/plugins/PrometheusPromQLVariable.js +34 -0
- package/lib/plugins/PrometheusPromQLVariable.js.map +1 -0
- package/lib/plugins/index.d.ts +10 -0
- package/lib/plugins/index.d.ts.map +1 -0
- package/lib/plugins/index.js +11 -0
- package/lib/plugins/index.js.map +1 -0
- package/lib/plugins/prometheus-datasource.d.ts.map +1 -0
- package/{dist → lib}/plugins/prometheus-datasource.js +9 -9
- package/lib/plugins/prometheus-datasource.js.map +1 -0
- package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.d.ts.map +1 -0
- package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js.map +1 -0
- package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.d.ts.map +1 -0
- package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js +9 -7
- package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js.map +1 -0
- package/lib/plugins/prometheus-time-series-query/get-time-series-data.d.ts.map +1 -0
- package/{dist → lib}/plugins/prometheus-time-series-query/get-time-series-data.js +51 -29
- package/lib/plugins/prometheus-time-series-query/get-time-series-data.js.map +1 -0
- package/lib/plugins/prometheus-time-series-query/index.d.ts +7 -0
- package/lib/plugins/prometheus-time-series-query/index.d.ts.map +1 -0
- package/lib/plugins/prometheus-time-series-query/index.js +20 -0
- package/lib/plugins/prometheus-time-series-query/index.js.map +1 -0
- package/lib/plugins/prometheus-time-series-query/query-editor-model.d.ts.map +1 -0
- package/lib/plugins/prometheus-time-series-query/query-editor-model.js.map +1 -0
- package/lib/plugins/prometheus-time-series-query/replace-prom-builtin-variables.d.ts.map +1 -0
- package/lib/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js.map +1 -0
- package/lib/plugins/prometheus-time-series-query/time-series-query-model.d.ts.map +1 -0
- package/lib/plugins/prometheus-time-series-query/time-series-query-model.js.map +1 -0
- package/lib/plugins/prometheus-variables.d.ts +14 -0
- package/lib/plugins/prometheus-variables.d.ts.map +1 -0
- package/{dist → lib}/plugins/prometheus-variables.js +15 -98
- package/lib/plugins/prometheus-variables.js.map +1 -0
- package/lib/plugins/types.d.ts.map +1 -0
- package/lib/plugins/types.js.map +1 -0
- package/lib/plugins/variable.d.ts.map +1 -0
- package/{dist → lib}/plugins/variable.js +1 -2
- package/lib/plugins/variable.js.map +1 -0
- package/lib/setup-tests.d.ts +2 -0
- package/lib/setup-tests.d.ts.map +1 -0
- package/lib/setup-tests.js +17 -0
- package/{dist/utils/index.js.map → lib/setup-tests.js.map} +1 -1
- package/lib/test/setup-tests.d.ts.map +1 -0
- package/lib/test/setup-tests.js.map +1 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/utils.d.ts.map +1 -0
- package/{dist → lib}/utils/utils.js +1 -2
- package/lib/utils/utils.js.map +1 -0
- package/mf-manifest.json +898 -0
- package/mf-stats.json +1004 -0
- package/package.json +99 -38
- package/dist/cjs/components/TreeNode.js +0 -147
- package/dist/cjs/index.js +0 -61
- package/dist/cjs/plugins/PrometheusDatasourceEditor.js +0 -626
- package/dist/components/PromQLEditor.d.ts.map +0 -1
- package/dist/components/PromQLEditor.js.map +0 -1
- package/dist/components/TreeNode.d.ts +0 -10
- package/dist/components/TreeNode.d.ts.map +0 -1
- package/dist/components/TreeNode.js +0 -139
- package/dist/components/TreeNode.js.map +0 -1
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/parse.d.ts +0 -5
- package/dist/components/parse.d.ts.map +0 -1
- package/dist/components/parse.js.map +0 -1
- package/dist/components/promql/ast.d.ts.map +0 -1
- package/dist/components/promql/ast.js.map +0 -1
- package/dist/components/promql/format.d.ts.map +0 -1
- package/dist/components/promql/format.js.map +0 -1
- package/dist/components/promql/utils.d.ts.map +0 -1
- package/dist/components/promql/utils.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -24
- package/dist/index.js.map +0 -1
- package/dist/model/api-types.d.ts.map +0 -1
- package/dist/model/api-types.js.map +0 -1
- package/dist/model/index.d.ts.map +0 -1
- package/dist/model/index.js.map +0 -1
- package/dist/model/parse-sample-values.d.ts.map +0 -1
- package/dist/model/parse-sample-values.js.map +0 -1
- package/dist/model/prometheus-client.d.ts.map +0 -1
- package/dist/model/prometheus-client.js.map +0 -1
- package/dist/model/prometheus-selectors.d.ts.map +0 -1
- package/dist/model/prometheus-selectors.js.map +0 -1
- package/dist/model/time.d.ts.map +0 -1
- package/dist/model/time.js.map +0 -1
- package/dist/plugins/MatcherEditor.d.ts.map +0 -1
- package/dist/plugins/MatcherEditor.js.map +0 -1
- package/dist/plugins/PrometheusDatasourceEditor.d.ts.map +0 -1
- package/dist/plugins/PrometheusDatasourceEditor.js +0 -572
- package/dist/plugins/PrometheusDatasourceEditor.js.map +0 -1
- package/dist/plugins/prometheus-datasource.d.ts.map +0 -1
- package/dist/plugins/prometheus-datasource.js.map +0 -1
- package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.d.ts.map +0 -1
- package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js.map +0 -1
- package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.d.ts.map +0 -1
- package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js.map +0 -1
- package/dist/plugins/prometheus-time-series-query/get-time-series-data.d.ts.map +0 -1
- package/dist/plugins/prometheus-time-series-query/get-time-series-data.js.map +0 -1
- package/dist/plugins/prometheus-time-series-query/index.d.ts +0 -2
- package/dist/plugins/prometheus-time-series-query/index.d.ts.map +0 -1
- package/dist/plugins/prometheus-time-series-query/index.js.map +0 -1
- package/dist/plugins/prometheus-time-series-query/query-editor-model.d.ts.map +0 -1
- package/dist/plugins/prometheus-time-series-query/query-editor-model.js.map +0 -1
- package/dist/plugins/prometheus-time-series-query/replace-prom-builtin-variables.d.ts.map +0 -1
- package/dist/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js.map +0 -1
- package/dist/plugins/prometheus-time-series-query/time-series-query-model.d.ts.map +0 -1
- package/dist/plugins/prometheus-time-series-query/time-series-query-model.js.map +0 -1
- package/dist/plugins/prometheus-variables.d.ts +0 -6
- package/dist/plugins/prometheus-variables.d.ts.map +0 -1
- package/dist/plugins/prometheus-variables.js.map +0 -1
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js.map +0 -1
- package/dist/plugins/variable.d.ts.map +0 -1
- package/dist/plugins/variable.js.map +0 -1
- package/dist/test/setup-tests.d.ts.map +0 -1
- package/dist/test/setup-tests.js.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/utils.d.ts.map +0 -1
- package/dist/utils/utils.js.map +0 -1
- package/plugin.json +0 -58
- /package/{dist → lib}/cjs/components/index.js +0 -0
- /package/{dist → lib}/cjs/components/promql/format.js +0 -0
- /package/{dist → lib}/cjs/model/index.js +0 -0
- /package/{dist → lib}/cjs/model/parse-sample-values.js +0 -0
- /package/{dist → lib}/cjs/model/prometheus-selectors.js +0 -0
- /package/{dist → lib}/cjs/model/time.js +0 -0
- /package/{dist → lib}/cjs/plugins/MatcherEditor.js +0 -0
- /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js +0 -0
- /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/query-editor-model.js +0 -0
- /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js +0 -0
- /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/time-series-query-model.js +0 -0
- /package/{dist → lib}/cjs/plugins/types.js +0 -0
- /package/{dist → lib}/cjs/test/setup-tests.js +0 -0
- /package/{dist → lib}/cjs/utils/index.js +0 -0
- /package/{dist → lib}/components/PromQLEditor.d.ts +0 -0
- /package/{dist → lib}/components/index.d.ts +0 -0
- /package/{dist → lib}/components/index.js +0 -0
- /package/{dist → lib}/components/promql/ast.d.ts +0 -0
- /package/{dist → lib}/components/promql/format.js +0 -0
- /package/{dist → lib}/model/index.d.ts +0 -0
- /package/{dist → lib}/model/index.js +0 -0
- /package/{dist → lib}/model/parse-sample-values.d.ts +0 -0
- /package/{dist → lib}/model/parse-sample-values.js +0 -0
- /package/{dist → lib}/model/prometheus-client.d.ts +0 -0
- /package/{dist → lib}/model/prometheus-selectors.d.ts +0 -0
- /package/{dist → lib}/model/prometheus-selectors.js +0 -0
- /package/{dist → lib}/model/time.d.ts +0 -0
- /package/{dist → lib}/model/time.js +0 -0
- /package/{dist → lib}/plugins/MatcherEditor.d.ts +0 -0
- /package/{dist → lib}/plugins/MatcherEditor.js +0 -0
- /package/{dist → lib}/plugins/PrometheusDatasourceEditor.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-datasource.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/get-time-series-data.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/query-editor-model.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/query-editor-model.js +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/replace-prom-builtin-variables.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/time-series-query-model.d.ts +0 -0
- /package/{dist → lib}/plugins/prometheus-time-series-query/time-series-query-model.js +0 -0
- /package/{dist → lib}/plugins/types.d.ts +0 -0
- /package/{dist → lib}/plugins/types.js +0 -0
- /package/{dist → lib}/plugins/variable.d.ts +0 -0
- /package/{dist → lib}/test/setup-tests.d.ts +0 -0
- /package/{dist → lib}/test/setup-tests.js +0 -0
- /package/{dist → lib}/utils/index.d.ts +0 -0
- /package/{dist → lib}/utils/index.js +0 -0
- /package/{dist → lib}/utils/utils.d.ts +0 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
// Copyright 2024 The Perses Authors
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
+
import { Button, Checkbox, CircularProgress, FormControlLabel, IconButton, InputAdornment, Menu, MenuItem, Stack, TextField, useMediaQuery, useTheme } from '@mui/material';
|
|
15
|
+
import { Fuzzy } from '@nexucis/fuzzy';
|
|
16
|
+
import { useExplorerQueryParams } from '@perses-dev/explore';
|
|
17
|
+
import ArrowLeftIcon from 'mdi-material-ui/ArrowLeft';
|
|
18
|
+
import CogIcon from 'mdi-material-ui/Cog';
|
|
19
|
+
import Magnify from 'mdi-material-ui/Magnify';
|
|
20
|
+
import { useMemo, useState } from 'react';
|
|
21
|
+
import { Link as RouterLink } from 'react-router-dom';
|
|
22
|
+
import { DEFAULT_PROM } from '../../model';
|
|
23
|
+
import { MetricList } from './display/list/MetricList';
|
|
24
|
+
import { FinderFilters } from './filter/FinderFilters';
|
|
25
|
+
import { MetricOverview } from './overview/MetricOverview';
|
|
26
|
+
import { useLabelValues } from './utils';
|
|
27
|
+
const PERSES_METRICS_FINDER_SETTINGS = 'PERSES_METRICS_FINDER_SETTINGS';
|
|
28
|
+
export function SettingsMenu({ value, onChange }) {
|
|
29
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
30
|
+
const open = Boolean(anchorEl);
|
|
31
|
+
const handleClick = (event)=>{
|
|
32
|
+
setAnchorEl(event.currentTarget);
|
|
33
|
+
};
|
|
34
|
+
const handleClose = ()=>{
|
|
35
|
+
setAnchorEl(null);
|
|
36
|
+
};
|
|
37
|
+
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
38
|
+
children: [
|
|
39
|
+
/*#__PURE__*/ _jsx(IconButton, {
|
|
40
|
+
"aria-label": "settings",
|
|
41
|
+
size: "large",
|
|
42
|
+
onClick: handleClick,
|
|
43
|
+
children: /*#__PURE__*/ _jsx(CogIcon, {})
|
|
44
|
+
}),
|
|
45
|
+
/*#__PURE__*/ _jsxs(Menu, {
|
|
46
|
+
id: "finder-settings-menu",
|
|
47
|
+
anchorEl: anchorEl,
|
|
48
|
+
open: open,
|
|
49
|
+
onClose: handleClose,
|
|
50
|
+
children: [
|
|
51
|
+
/*#__PURE__*/ _jsx(MenuItem, {
|
|
52
|
+
onClick: (e)=>e.preventDefault(),
|
|
53
|
+
children: /*#__PURE__*/ _jsx(FormControlLabel, {
|
|
54
|
+
control: /*#__PURE__*/ _jsx(Checkbox, {}),
|
|
55
|
+
label: "Enable Metadata",
|
|
56
|
+
checked: value.isMetadataEnabled,
|
|
57
|
+
onClick: ()=>onChange({
|
|
58
|
+
...value,
|
|
59
|
+
isMetadataEnabled: !value.isMetadataEnabled
|
|
60
|
+
})
|
|
61
|
+
})
|
|
62
|
+
}),
|
|
63
|
+
/*#__PURE__*/ _jsx(MenuItem, {
|
|
64
|
+
onClick: (e)=>e.preventDefault(),
|
|
65
|
+
children: /*#__PURE__*/ _jsx(FormControlLabel, {
|
|
66
|
+
control: /*#__PURE__*/ _jsx(Checkbox, {}),
|
|
67
|
+
label: "Enable Time Series Chart",
|
|
68
|
+
checked: value.isPanelEnabled,
|
|
69
|
+
onClick: ()=>onChange({
|
|
70
|
+
...value,
|
|
71
|
+
isPanelEnabled: !value.isPanelEnabled
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
})
|
|
75
|
+
]
|
|
76
|
+
})
|
|
77
|
+
]
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
export function MetricNameExplorer({ datasource, filters, isMetadataEnabled, onExplore, ...props }) {
|
|
81
|
+
const { data, isLoading, error } = useLabelValues('__name__', filters, datasource);
|
|
82
|
+
const [search, setSearch] = useState('');
|
|
83
|
+
const fuzzy = useMemo(()=>new Fuzzy({
|
|
84
|
+
includeMatches: true,
|
|
85
|
+
excludedChars: [
|
|
86
|
+
' '
|
|
87
|
+
]
|
|
88
|
+
}), []);
|
|
89
|
+
const filteredResults = useMemo(()=>{
|
|
90
|
+
if (search && data?.data) {
|
|
91
|
+
return fuzzy.filter(search, data.data).sort((a, b)=>b.score - a.score);
|
|
92
|
+
}
|
|
93
|
+
return undefined;
|
|
94
|
+
}, [
|
|
95
|
+
data,
|
|
96
|
+
fuzzy,
|
|
97
|
+
search
|
|
98
|
+
]);
|
|
99
|
+
if (error) {
|
|
100
|
+
return /*#__PURE__*/ _jsxs(Stack, {
|
|
101
|
+
width: "100%",
|
|
102
|
+
children: [
|
|
103
|
+
"Error: ",
|
|
104
|
+
error.message
|
|
105
|
+
]
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
if (isLoading) {
|
|
109
|
+
return /*#__PURE__*/ _jsx(Stack, {
|
|
110
|
+
width: "100%",
|
|
111
|
+
sx: {
|
|
112
|
+
alignItems: 'center',
|
|
113
|
+
justifyContent: 'center'
|
|
114
|
+
},
|
|
115
|
+
children: /*#__PURE__*/ _jsx(CircularProgress, {})
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return /*#__PURE__*/ _jsxs(Stack, {
|
|
119
|
+
...props,
|
|
120
|
+
children: [
|
|
121
|
+
/*#__PURE__*/ _jsx(TextField, {
|
|
122
|
+
value: search,
|
|
123
|
+
onChange: (e)=>setSearch(e.target.value),
|
|
124
|
+
placeholder: "Search metric name...",
|
|
125
|
+
InputProps: {
|
|
126
|
+
startAdornment: /*#__PURE__*/ _jsx(InputAdornment, {
|
|
127
|
+
position: "start",
|
|
128
|
+
children: /*#__PURE__*/ _jsx(Magnify, {})
|
|
129
|
+
})
|
|
130
|
+
}
|
|
131
|
+
}),
|
|
132
|
+
/*#__PURE__*/ _jsx(MetricList, {
|
|
133
|
+
metricNames: data?.data ?? [],
|
|
134
|
+
filteredResults: filteredResults,
|
|
135
|
+
datasource: datasource,
|
|
136
|
+
filters: filters,
|
|
137
|
+
isMetadataEnabled: isMetadataEnabled,
|
|
138
|
+
onExplore: onExplore
|
|
139
|
+
})
|
|
140
|
+
]
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
export function PrometheusMetricsFinder({ value: { datasource = DEFAULT_PROM, filters = [], exploredMetric }, onChange, onExplore, ...props }) {
|
|
144
|
+
const settingsStored = localStorage.getItem(PERSES_METRICS_FINDER_SETTINGS);
|
|
145
|
+
const [settings, setSettings] = useState(settingsStored ? JSON.parse(settingsStored) : {
|
|
146
|
+
isMetadataEnabled: true
|
|
147
|
+
});
|
|
148
|
+
function handleSettingsUpdate(value) {
|
|
149
|
+
setSettings(value);
|
|
150
|
+
localStorage.setItem(PERSES_METRICS_FINDER_SETTINGS, JSON.stringify(value));
|
|
151
|
+
}
|
|
152
|
+
const isMobileSize = useMediaQuery(useTheme().breakpoints.down('md'));
|
|
153
|
+
// Remove duplicated filters and filters without label or labelValues
|
|
154
|
+
const filteredFilters = useMemo(()=>{
|
|
155
|
+
return filters.filter((filter)=>filter.label && filter.labelValues.length > 0);
|
|
156
|
+
}, [
|
|
157
|
+
filters
|
|
158
|
+
]);
|
|
159
|
+
const searchParams = useExplorerQueryParams({
|
|
160
|
+
data: {
|
|
161
|
+
tab: 'finder',
|
|
162
|
+
datasource,
|
|
163
|
+
filters,
|
|
164
|
+
exploredMetric: undefined
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
function setDatasource(value) {
|
|
168
|
+
onChange({
|
|
169
|
+
datasource: value,
|
|
170
|
+
filters,
|
|
171
|
+
exploredMetric
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
function setFilters(value) {
|
|
175
|
+
onChange({
|
|
176
|
+
datasource,
|
|
177
|
+
filters: value,
|
|
178
|
+
exploredMetric
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return /*#__PURE__*/ _jsxs(Stack, {
|
|
182
|
+
...props,
|
|
183
|
+
gap: 1,
|
|
184
|
+
children: [
|
|
185
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
186
|
+
direction: isMobileSize ? 'column' : 'row',
|
|
187
|
+
gap: 2,
|
|
188
|
+
justifyContent: "space-between",
|
|
189
|
+
children: [
|
|
190
|
+
/*#__PURE__*/ _jsx(FinderFilters, {
|
|
191
|
+
datasource: datasource ?? DEFAULT_PROM,
|
|
192
|
+
filters: filters ?? [],
|
|
193
|
+
filteredFilters: filteredFilters,
|
|
194
|
+
onDatasourceChange: setDatasource,
|
|
195
|
+
onFiltersChange: setFilters
|
|
196
|
+
}),
|
|
197
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
198
|
+
direction: "row",
|
|
199
|
+
gap: 1,
|
|
200
|
+
alignItems: "center",
|
|
201
|
+
children: [
|
|
202
|
+
exploredMetric && /*#__PURE__*/ _jsx(Button, {
|
|
203
|
+
variant: "contained",
|
|
204
|
+
"aria-label": "back to metric explorer",
|
|
205
|
+
startIcon: /*#__PURE__*/ _jsx(ArrowLeftIcon, {}),
|
|
206
|
+
component: RouterLink,
|
|
207
|
+
to: `?${searchParams}`,
|
|
208
|
+
children: "Back"
|
|
209
|
+
}),
|
|
210
|
+
/*#__PURE__*/ _jsx(Stack, {
|
|
211
|
+
direction: "row",
|
|
212
|
+
sx: {
|
|
213
|
+
width: isMobileSize ? '100%' : 'unset'
|
|
214
|
+
},
|
|
215
|
+
justifyContent: isMobileSize ? 'end' : 'unset',
|
|
216
|
+
alignItems: "center",
|
|
217
|
+
children: /*#__PURE__*/ _jsx(SettingsMenu, {
|
|
218
|
+
value: settings,
|
|
219
|
+
onChange: handleSettingsUpdate
|
|
220
|
+
})
|
|
221
|
+
})
|
|
222
|
+
]
|
|
223
|
+
})
|
|
224
|
+
]
|
|
225
|
+
}),
|
|
226
|
+
exploredMetric ? /*#__PURE__*/ _jsx(MetricOverview, {
|
|
227
|
+
metricName: exploredMetric,
|
|
228
|
+
datasource: datasource ?? DEFAULT_PROM,
|
|
229
|
+
filters: filteredFilters,
|
|
230
|
+
isMetadataEnabled: settings.isMetadataEnabled,
|
|
231
|
+
isPanelEnabled: settings.isPanelEnabled,
|
|
232
|
+
onFiltersChange: setFilters,
|
|
233
|
+
onExplore: onExplore
|
|
234
|
+
}) : /*#__PURE__*/ _jsx(MetricNameExplorer, {
|
|
235
|
+
datasource: datasource ?? DEFAULT_PROM,
|
|
236
|
+
filters: filteredFilters,
|
|
237
|
+
isMetadataEnabled: settings.isMetadataEnabled,
|
|
238
|
+
onExplore: onExplore
|
|
239
|
+
})
|
|
240
|
+
]
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
//# sourceMappingURL=PrometheusMetricsFinder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.tsx"],"sourcesContent":["// Copyright 2024 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport {\n Button,\n Checkbox,\n CircularProgress,\n FormControlLabel,\n IconButton,\n InputAdornment,\n Menu,\n MenuItem,\n Stack,\n StackProps,\n TextField,\n useMediaQuery,\n useTheme,\n} from '@mui/material';\nimport { Fuzzy, FuzzyMatchingInterval } from '@nexucis/fuzzy';\nimport { DatasourceSelector } from '@perses-dev/core';\nimport { useExplorerQueryParams } from '@perses-dev/explore';\nimport ArrowLeftIcon from 'mdi-material-ui/ArrowLeft';\nimport CogIcon from 'mdi-material-ui/Cog';\nimport Magnify from 'mdi-material-ui/Magnify';\nimport { MouseEvent, ReactElement, useMemo, useState } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { DEFAULT_PROM } from '../../model';\nimport { MetricList } from './display/list/MetricList';\nimport { FinderFilters } from './filter/FinderFilters';\nimport { MetricOverview } from './overview/MetricOverview';\nimport { LabelFilter, Settings } from './types';\nimport { useLabelValues } from './utils';\n\nconst PERSES_METRICS_FINDER_SETTINGS = 'PERSES_METRICS_FINDER_SETTINGS';\n\nexport interface SettingsMenuProps {\n value: Settings;\n onChange: (value: Settings) => void;\n}\n\nexport function SettingsMenu({ value, onChange }: SettingsMenuProps): ReactElement {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: MouseEvent<HTMLButtonElement>): void => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (): void => {\n setAnchorEl(null);\n };\n\n return (\n <>\n <IconButton aria-label=\"settings\" size=\"large\" onClick={handleClick}>\n <CogIcon />\n </IconButton>\n <Menu id=\"finder-settings-menu\" anchorEl={anchorEl} open={open} onClose={handleClose}>\n <MenuItem onClick={(e) => e.preventDefault()}>\n <FormControlLabel\n control={<Checkbox />}\n label=\"Enable Metadata\"\n checked={value.isMetadataEnabled}\n onClick={() => onChange({ ...value, isMetadataEnabled: !value.isMetadataEnabled })}\n />\n </MenuItem>\n <MenuItem onClick={(e) => e.preventDefault()}>\n <FormControlLabel\n control={<Checkbox />}\n label=\"Enable Time Series Chart\"\n checked={value.isPanelEnabled}\n onClick={() => onChange({ ...value, isPanelEnabled: !value.isPanelEnabled })}\n />\n </MenuItem>\n </Menu>\n </>\n );\n}\n\nexport interface MetricNameExplorerProps extends StackProps {\n datasource: DatasourceSelector;\n filters: LabelFilter[];\n isMetadataEnabled?: boolean;\n onExplore?: (metricName: string) => void;\n}\n\nexport function MetricNameExplorer({\n datasource,\n filters,\n isMetadataEnabled,\n onExplore,\n ...props\n}: MetricNameExplorerProps): ReactElement {\n const { data, isLoading, error } = useLabelValues('__name__', filters, datasource);\n const [search, setSearch] = useState('');\n const fuzzy = useMemo(() => new Fuzzy({ includeMatches: true, excludedChars: [' '] }), []);\n\n const filteredResults: Array<{ original: string; intervals?: FuzzyMatchingInterval[] }> | undefined = useMemo(() => {\n if (search && data?.data) {\n return fuzzy.filter(search, data.data).sort((a, b) => b.score - a.score);\n }\n return undefined;\n }, [data, fuzzy, search]);\n\n if (error) {\n return <Stack width=\"100%\">Error: {error.message}</Stack>;\n }\n\n if (isLoading) {\n return (\n <Stack width=\"100%\" sx={{ alignItems: 'center', justifyContent: 'center' }}>\n <CircularProgress />\n </Stack>\n );\n }\n\n return (\n <Stack {...props}>\n <TextField\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n placeholder=\"Search metric name...\"\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <Magnify />\n </InputAdornment>\n ),\n }}\n />\n <MetricList\n metricNames={data?.data ?? []}\n filteredResults={filteredResults}\n datasource={datasource}\n filters={filters}\n isMetadataEnabled={isMetadataEnabled}\n onExplore={onExplore}\n />\n </Stack>\n );\n}\n\nexport interface PrometheusMetricsFinderProps extends Omit<StackProps, 'onChange'> {\n value: {\n datasource: DatasourceSelector;\n filters: LabelFilter[];\n exploredMetric?: string;\n };\n onChange: ({\n datasource,\n filters,\n exploredMetric,\n }: {\n datasource: DatasourceSelector;\n filters: LabelFilter[];\n exploredMetric?: string;\n }) => void;\n onExplore?: (metricName: string) => void;\n}\n\nexport function PrometheusMetricsFinder({\n value: { datasource = DEFAULT_PROM, filters = [], exploredMetric },\n onChange,\n onExplore,\n ...props\n}: PrometheusMetricsFinderProps): ReactElement {\n const settingsStored = localStorage.getItem(PERSES_METRICS_FINDER_SETTINGS);\n const [settings, setSettings] = useState<Settings>(\n settingsStored ? JSON.parse(settingsStored) : { isMetadataEnabled: true }\n );\n\n function handleSettingsUpdate(value: Settings): void {\n setSettings(value);\n localStorage.setItem(PERSES_METRICS_FINDER_SETTINGS, JSON.stringify(value));\n }\n\n const isMobileSize = useMediaQuery(useTheme().breakpoints.down('md'));\n\n // Remove duplicated filters and filters without label or labelValues\n const filteredFilters: LabelFilter[] = useMemo(() => {\n return filters.filter((filter) => filter.label && filter.labelValues.length > 0);\n }, [filters]);\n\n const searchParams = useExplorerQueryParams({\n data: { tab: 'finder', datasource, filters, exploredMetric: undefined },\n });\n\n function setDatasource(value: DatasourceSelector): void {\n onChange({ datasource: value, filters, exploredMetric });\n }\n\n function setFilters(value: LabelFilter[]): void {\n onChange({ datasource, filters: value, exploredMetric });\n }\n\n return (\n <Stack {...props} gap={1}>\n <Stack direction={isMobileSize ? 'column' : 'row'} gap={2} justifyContent=\"space-between\">\n <FinderFilters\n datasource={datasource ?? DEFAULT_PROM}\n filters={filters ?? []}\n filteredFilters={filteredFilters}\n onDatasourceChange={setDatasource}\n onFiltersChange={setFilters}\n />\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n {exploredMetric && (\n <Button\n variant=\"contained\"\n aria-label=\"back to metric explorer\"\n startIcon={<ArrowLeftIcon />}\n component={RouterLink}\n to={`?${searchParams}`}\n >\n Back\n </Button>\n )}\n <Stack\n direction=\"row\"\n sx={{ width: isMobileSize ? '100%' : 'unset' }}\n justifyContent={isMobileSize ? 'end' : 'unset'}\n alignItems=\"center\"\n >\n <SettingsMenu value={settings} onChange={handleSettingsUpdate} />\n </Stack>\n </Stack>\n </Stack>\n {exploredMetric ? (\n <MetricOverview\n metricName={exploredMetric}\n datasource={datasource ?? DEFAULT_PROM}\n filters={filteredFilters}\n isMetadataEnabled={settings.isMetadataEnabled}\n isPanelEnabled={settings.isPanelEnabled}\n onFiltersChange={setFilters}\n onExplore={onExplore}\n />\n ) : (\n <MetricNameExplorer\n datasource={datasource ?? DEFAULT_PROM}\n filters={filteredFilters}\n isMetadataEnabled={settings.isMetadataEnabled}\n onExplore={onExplore}\n />\n )}\n </Stack>\n );\n}\n"],"names":["Button","Checkbox","CircularProgress","FormControlLabel","IconButton","InputAdornment","Menu","MenuItem","Stack","TextField","useMediaQuery","useTheme","Fuzzy","useExplorerQueryParams","ArrowLeftIcon","CogIcon","Magnify","useMemo","useState","Link","RouterLink","DEFAULT_PROM","MetricList","FinderFilters","MetricOverview","useLabelValues","PERSES_METRICS_FINDER_SETTINGS","SettingsMenu","value","onChange","anchorEl","setAnchorEl","open","Boolean","handleClick","event","currentTarget","handleClose","aria-label","size","onClick","id","onClose","e","preventDefault","control","label","checked","isMetadataEnabled","isPanelEnabled","MetricNameExplorer","datasource","filters","onExplore","props","data","isLoading","error","search","setSearch","fuzzy","includeMatches","excludedChars","filteredResults","filter","sort","a","b","score","undefined","width","message","sx","alignItems","justifyContent","target","placeholder","InputProps","startAdornment","position","metricNames","PrometheusMetricsFinder","exploredMetric","settingsStored","localStorage","getItem","settings","setSettings","JSON","parse","handleSettingsUpdate","setItem","stringify","isMobileSize","breakpoints","down","filteredFilters","labelValues","length","searchParams","tab","setDatasource","setFilters","gap","direction","onDatasourceChange","onFiltersChange","variant","startIcon","component","to","metricName"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricChip.d.ts","sourceRoot":"","sources":["../../../../../src/explore/PrometheusMetricsFinder/display/MetricChip.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAQ,SAAS,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,GAAG,YAAY,CAevE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Copyright 2024 The Perses Authors
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
import { Chip } from '@mui/material';
|
|
15
|
+
export function MetricChip({ label, ...props }) {
|
|
16
|
+
if (label === 'gauge') {
|
|
17
|
+
return /*#__PURE__*/ _jsx(Chip, {
|
|
18
|
+
label: label,
|
|
19
|
+
color: "success",
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (label === 'counter') {
|
|
24
|
+
return /*#__PURE__*/ _jsx(Chip, {
|
|
25
|
+
label: label,
|
|
26
|
+
color: "primary",
|
|
27
|
+
...props
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (label === 'histogram') {
|
|
31
|
+
return /*#__PURE__*/ _jsx(Chip, {
|
|
32
|
+
label: label,
|
|
33
|
+
color: "warning",
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (label === 'summary') {
|
|
38
|
+
return /*#__PURE__*/ _jsx(Chip, {
|
|
39
|
+
label: label,
|
|
40
|
+
color: "secondary",
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return /*#__PURE__*/ _jsx(Chip, {
|
|
45
|
+
label: label,
|
|
46
|
+
sx: {
|
|
47
|
+
fontStyle: label === 'unknown' ? 'italic' : 'initial'
|
|
48
|
+
},
|
|
49
|
+
...props
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=MetricChip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/explore/PrometheusMetricsFinder/display/MetricChip.tsx"],"sourcesContent":["// Copyright 2024 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Chip, ChipProps } from '@mui/material';\nimport { ReactElement } from 'react';\n\nexport function MetricChip({ label, ...props }: ChipProps): ReactElement {\n if (label === 'gauge') {\n return <Chip label={label} color=\"success\" {...props} />;\n }\n if (label === 'counter') {\n return <Chip label={label} color=\"primary\" {...props} />;\n }\n if (label === 'histogram') {\n return <Chip label={label} color=\"warning\" {...props} />;\n }\n if (label === 'summary') {\n return <Chip label={label} color=\"secondary\" {...props} />;\n }\n\n return <Chip label={label} sx={{ fontStyle: label === 'unknown' ? 'italic' : 'initial' }} {...props} />;\n}\n"],"names":["Chip","MetricChip","label","props","color","sx","fontStyle"],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAEjC,SAASA,IAAI,QAAmB,gBAAgB;AAGhD,OAAO,SAASC,WAAW,EAAEC,KAAK,EAAE,GAAGC,OAAkB;IACvD,IAAID,UAAU,SAAS;QACrB,qBAAO,KAACF;YAAKE,OAAOA;YAAOE,OAAM;YAAW,GAAGD,KAAK;;IACtD;IACA,IAAID,UAAU,WAAW;QACvB,qBAAO,KAACF;YAAKE,OAAOA;YAAOE,OAAM;YAAW,GAAGD,KAAK;;IACtD;IACA,IAAID,UAAU,aAAa;QACzB,qBAAO,KAACF;YAAKE,OAAOA;YAAOE,OAAM;YAAW,GAAGD,KAAK;;IACtD;IACA,IAAID,UAAU,WAAW;QACvB,qBAAO,KAACF;YAAKE,OAAOA;YAAOE,OAAM;YAAa,GAAGD,KAAK;;IACxD;IAEA,qBAAO,KAACH;QAAKE,OAAOA;QAAOG,IAAI;YAAEC,WAAWJ,UAAU,YAAY,WAAW;QAAU;QAAI,GAAGC,KAAK;;AACrG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StackProps } from '@mui/material';
|
|
2
|
+
import { FuzzyMatchingInterval } from '@nexucis/fuzzy';
|
|
3
|
+
import { DatasourceSelector } from '@perses-dev/core';
|
|
4
|
+
import { ReactElement, ReactNode } from 'react';
|
|
5
|
+
import { LabelFilter } from '../../types';
|
|
6
|
+
export interface MetricRowProps {
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
metricName: string;
|
|
9
|
+
datasource: DatasourceSelector;
|
|
10
|
+
filters: LabelFilter[];
|
|
11
|
+
isMetadataEnabled?: boolean;
|
|
12
|
+
onExplore?: (metricName: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function MetricRow({ children, metricName, datasource, filters, isMetadataEnabled, onExplore, }: MetricRowProps): ReactElement;
|
|
15
|
+
export interface MetricListProps extends StackProps {
|
|
16
|
+
metricNames: string[];
|
|
17
|
+
filteredResults?: Array<{
|
|
18
|
+
original: string;
|
|
19
|
+
intervals?: FuzzyMatchingInterval[];
|
|
20
|
+
}>;
|
|
21
|
+
datasource: DatasourceSelector;
|
|
22
|
+
filters: LabelFilter[];
|
|
23
|
+
isMetadataEnabled?: boolean;
|
|
24
|
+
onExplore?: (metricName: string) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare function MetricList({ metricNames, filteredResults, datasource, filters, isMetadataEnabled, onExplore, ...props }: MetricListProps): ReactElement;
|
|
27
|
+
//# sourceMappingURL=MetricList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricList.d.ts","sourceRoot":"","sources":["../../../../../../src/explore/PrometheusMetricsFinder/display/list/MetricList.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAoC,UAAU,EAAyB,MAAM,eAAe,CAAC;AACpG,OAAO,EAAS,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,SAAS,GACV,EAAE,cAAc,GAAG,YAAY,CA4C/B;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAA;KAAE,CAAC,CAAC;IACnF,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,eAAe,EACf,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,YAAY,CA0ChC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// Copyright 2024 The Perses Authors
|
|
2
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
// you may not use this file except in compliance with the License.
|
|
4
|
+
// You may obtain a copy of the License at
|
|
5
|
+
//
|
|
6
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
//
|
|
8
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
// See the License for the specific language governing permissions and
|
|
12
|
+
// limitations under the License.
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
+
import { Button, Divider, Skeleton, Stack, TableCell, Typography } from '@mui/material';
|
|
15
|
+
import { Fuzzy } from '@nexucis/fuzzy';
|
|
16
|
+
import { useExplorerQueryParams } from '@perses-dev/explore';
|
|
17
|
+
import CompassIcon from 'mdi-material-ui/Compass';
|
|
18
|
+
import { useMemo } from 'react';
|
|
19
|
+
import { Link as RouterLink } from 'react-router-dom';
|
|
20
|
+
import { TableVirtuoso } from 'react-virtuoso';
|
|
21
|
+
import { useMetricMetadata } from '../../utils';
|
|
22
|
+
import { MetricChip } from '../MetricChip';
|
|
23
|
+
export function MetricRow({ children, metricName, datasource, filters, isMetadataEnabled, onExplore }) {
|
|
24
|
+
const { metadata, isLoading } = useMetricMetadata(metricName, datasource, isMetadataEnabled);
|
|
25
|
+
const searchParams = useExplorerQueryParams({
|
|
26
|
+
data: {
|
|
27
|
+
tab: 'finder',
|
|
28
|
+
datasource,
|
|
29
|
+
filters,
|
|
30
|
+
exploredMetric: metricName
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
return /*#__PURE__*/ _jsxs(_Fragment, {
|
|
34
|
+
children: [
|
|
35
|
+
/*#__PURE__*/ _jsx(TableCell, {
|
|
36
|
+
style: {
|
|
37
|
+
width: '300px'
|
|
38
|
+
},
|
|
39
|
+
children: /*#__PURE__*/ _jsx(Typography, {
|
|
40
|
+
sx: {
|
|
41
|
+
fontFamily: 'monospace'
|
|
42
|
+
},
|
|
43
|
+
children: children ?? metricName
|
|
44
|
+
})
|
|
45
|
+
}),
|
|
46
|
+
/*#__PURE__*/ _jsx(TableCell, {
|
|
47
|
+
style: {
|
|
48
|
+
width: 115,
|
|
49
|
+
textAlign: 'center'
|
|
50
|
+
},
|
|
51
|
+
children: isMetadataEnabled && isLoading ? /*#__PURE__*/ _jsx(Skeleton, {
|
|
52
|
+
variant: "rounded",
|
|
53
|
+
width: 75
|
|
54
|
+
}) : /*#__PURE__*/ _jsx(MetricChip, {
|
|
55
|
+
label: metadata?.type ?? 'unknown'
|
|
56
|
+
})
|
|
57
|
+
}),
|
|
58
|
+
/*#__PURE__*/ _jsx(TableCell, {
|
|
59
|
+
style: {
|
|
60
|
+
width: '100%'
|
|
61
|
+
},
|
|
62
|
+
children: isMetadataEnabled && isLoading ? /*#__PURE__*/ _jsx(Skeleton, {
|
|
63
|
+
variant: "text",
|
|
64
|
+
width: 180
|
|
65
|
+
}) : /*#__PURE__*/ _jsx(Typography, {
|
|
66
|
+
sx: {
|
|
67
|
+
fontStyle: metadata?.help ? 'initial' : 'italic',
|
|
68
|
+
minWidth: '30vw'
|
|
69
|
+
},
|
|
70
|
+
children: metadata ? metadata.help : 'unknown'
|
|
71
|
+
})
|
|
72
|
+
}),
|
|
73
|
+
/*#__PURE__*/ _jsx(TableCell, {
|
|
74
|
+
style: {
|
|
75
|
+
width: 140
|
|
76
|
+
},
|
|
77
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
78
|
+
"aria-label": `explore metric ${metricName}`,
|
|
79
|
+
variant: "contained",
|
|
80
|
+
startIcon: /*#__PURE__*/ _jsx(CompassIcon, {}),
|
|
81
|
+
style: {
|
|
82
|
+
textWrap: 'nowrap'
|
|
83
|
+
},
|
|
84
|
+
onClick: ()=>onExplore?.(metricName),
|
|
85
|
+
component: RouterLink,
|
|
86
|
+
to: `?${searchParams}`,
|
|
87
|
+
children: "Explore"
|
|
88
|
+
})
|
|
89
|
+
})
|
|
90
|
+
]
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
export function MetricList({ metricNames, filteredResults, datasource, filters, isMetadataEnabled, onExplore, ...props }) {
|
|
94
|
+
const fuzzy = new Fuzzy();
|
|
95
|
+
const fuzzyMetrics = useMemo(()=>{
|
|
96
|
+
if (filteredResults) {
|
|
97
|
+
return filteredResults;
|
|
98
|
+
}
|
|
99
|
+
return metricNames.map((metricName)=>({
|
|
100
|
+
original: metricName
|
|
101
|
+
}));
|
|
102
|
+
}, [
|
|
103
|
+
filteredResults,
|
|
104
|
+
metricNames
|
|
105
|
+
]);
|
|
106
|
+
return /*#__PURE__*/ _jsxs(Stack, {
|
|
107
|
+
gap: 2,
|
|
108
|
+
width: "100%",
|
|
109
|
+
divider: /*#__PURE__*/ _jsx(Divider, {
|
|
110
|
+
orientation: "horizontal",
|
|
111
|
+
flexItem: true
|
|
112
|
+
}),
|
|
113
|
+
...props,
|
|
114
|
+
children: [
|
|
115
|
+
/*#__PURE__*/ _jsx(TableVirtuoso, {
|
|
116
|
+
style: {
|
|
117
|
+
height: '70vh',
|
|
118
|
+
width: '100%'
|
|
119
|
+
},
|
|
120
|
+
totalCount: fuzzyMetrics.length,
|
|
121
|
+
itemContent: (index)=>/*#__PURE__*/ _jsx(MetricRow, {
|
|
122
|
+
metricName: fuzzyMetrics[index].original,
|
|
123
|
+
datasource: datasource,
|
|
124
|
+
filters: filters,
|
|
125
|
+
isMetadataEnabled: isMetadataEnabled,
|
|
126
|
+
onExplore: onExplore,
|
|
127
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
128
|
+
dangerouslySetInnerHTML: {
|
|
129
|
+
__html: fuzzy.render(fuzzyMetrics[index].original, fuzzyMetrics[index].intervals ?? [], {
|
|
130
|
+
pre: '<strong style="color:darkorange">',
|
|
131
|
+
post: '</strong>',
|
|
132
|
+
escapeHTML: true
|
|
133
|
+
})
|
|
134
|
+
}
|
|
135
|
+
})
|
|
136
|
+
})
|
|
137
|
+
}),
|
|
138
|
+
/*#__PURE__*/ _jsx(Stack, {
|
|
139
|
+
sx: {
|
|
140
|
+
width: '100%'
|
|
141
|
+
},
|
|
142
|
+
textAlign: "end",
|
|
143
|
+
children: /*#__PURE__*/ _jsxs(Typography, {
|
|
144
|
+
"data-testid": "finder-total",
|
|
145
|
+
children: [
|
|
146
|
+
"Total: ",
|
|
147
|
+
/*#__PURE__*/ _jsx("strong", {
|
|
148
|
+
children: metricNames.length
|
|
149
|
+
}),
|
|
150
|
+
" metrics"
|
|
151
|
+
]
|
|
152
|
+
})
|
|
153
|
+
})
|
|
154
|
+
]
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
//# sourceMappingURL=MetricList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/explore/PrometheusMetricsFinder/display/list/MetricList.tsx"],"sourcesContent":["// Copyright 2024 The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Button, Divider, Skeleton, Stack, StackProps, TableCell, Typography } from '@mui/material';\nimport { Fuzzy, FuzzyMatchingInterval } from '@nexucis/fuzzy';\nimport { DatasourceSelector } from '@perses-dev/core';\nimport { useExplorerQueryParams } from '@perses-dev/explore';\nimport CompassIcon from 'mdi-material-ui/Compass';\nimport { ReactElement, ReactNode, useMemo } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { TableVirtuoso } from 'react-virtuoso';\nimport { LabelFilter } from '../../types';\nimport { useMetricMetadata } from '../../utils';\nimport { MetricChip } from '../MetricChip';\n\nexport interface MetricRowProps {\n children?: ReactNode;\n metricName: string;\n datasource: DatasourceSelector;\n filters: LabelFilter[];\n isMetadataEnabled?: boolean;\n onExplore?: (metricName: string) => void;\n}\n\nexport function MetricRow({\n children,\n metricName,\n datasource,\n filters,\n isMetadataEnabled,\n onExplore,\n}: MetricRowProps): ReactElement {\n const { metadata, isLoading } = useMetricMetadata(metricName, datasource, isMetadataEnabled);\n\n const searchParams = useExplorerQueryParams({\n data: { tab: 'finder', datasource, filters, exploredMetric: metricName },\n });\n\n return (\n <>\n <TableCell style={{ width: '300px' }}>\n <Typography sx={{ fontFamily: 'monospace' }}>{children ?? metricName}</Typography>\n </TableCell>\n\n <TableCell style={{ width: 115, textAlign: 'center' }}>\n {isMetadataEnabled && isLoading ? (\n <Skeleton variant=\"rounded\" width={75} />\n ) : (\n <MetricChip label={metadata?.type ?? 'unknown'} />\n )}\n </TableCell>\n <TableCell style={{ width: '100%' }}>\n {isMetadataEnabled && isLoading ? (\n <Skeleton variant=\"text\" width={180} />\n ) : (\n <Typography sx={{ fontStyle: metadata?.help ? 'initial' : 'italic', minWidth: '30vw' }}>\n {metadata ? metadata.help : 'unknown'}\n </Typography>\n )}\n </TableCell>\n <TableCell style={{ width: 140 }}>\n <Button\n aria-label={`explore metric ${metricName}`}\n variant=\"contained\"\n startIcon={<CompassIcon />}\n style={{ textWrap: 'nowrap' }}\n onClick={() => onExplore?.(metricName)}\n component={RouterLink}\n to={`?${searchParams}`}\n >\n Explore\n </Button>\n </TableCell>\n </>\n );\n}\n\nexport interface MetricListProps extends StackProps {\n metricNames: string[];\n filteredResults?: Array<{ original: string; intervals?: FuzzyMatchingInterval[] }>;\n datasource: DatasourceSelector;\n filters: LabelFilter[];\n isMetadataEnabled?: boolean;\n onExplore?: (metricName: string) => void;\n}\n\nexport function MetricList({\n metricNames,\n filteredResults,\n datasource,\n filters,\n isMetadataEnabled,\n onExplore,\n ...props\n}: MetricListProps): ReactElement {\n const fuzzy = new Fuzzy();\n\n const fuzzyMetrics: Array<{ original: string; intervals?: FuzzyMatchingInterval[] }> = useMemo(() => {\n if (filteredResults) {\n return filteredResults;\n }\n return metricNames.map((metricName) => ({ original: metricName }));\n }, [filteredResults, metricNames]);\n\n return (\n <Stack gap={2} width=\"100%\" divider={<Divider orientation=\"horizontal\" flexItem />} {...props}>\n <TableVirtuoso\n style={{ height: '70vh', width: '100%' }}\n totalCount={fuzzyMetrics.length}\n itemContent={(index) => (\n <MetricRow\n metricName={fuzzyMetrics[index]!.original}\n datasource={datasource}\n filters={filters}\n isMetadataEnabled={isMetadataEnabled}\n onExplore={onExplore}\n >\n <span\n dangerouslySetInnerHTML={{\n __html: fuzzy.render(fuzzyMetrics[index]!.original, fuzzyMetrics[index]!.intervals ?? [], {\n pre: '<strong style=\"color:darkorange\">',\n post: '</strong>',\n escapeHTML: true,\n }),\n }}\n />\n </MetricRow>\n )}\n />\n <Stack sx={{ width: '100%' }} textAlign=\"end\">\n <Typography data-testid=\"finder-total\">\n Total: <strong>{metricNames.length}</strong> metrics\n </Typography>\n </Stack>\n </Stack>\n );\n}\n"],"names":["Button","Divider","Skeleton","Stack","TableCell","Typography","Fuzzy","useExplorerQueryParams","CompassIcon","useMemo","Link","RouterLink","TableVirtuoso","useMetricMetadata","MetricChip","MetricRow","children","metricName","datasource","filters","isMetadataEnabled","onExplore","metadata","isLoading","searchParams","data","tab","exploredMetric","style","width","sx","fontFamily","textAlign","variant","label","type","fontStyle","help","minWidth","aria-label","startIcon","textWrap","onClick","component","to","MetricList","metricNames","filteredResults","props","fuzzy","fuzzyMetrics","map","original","gap","divider","orientation","flexItem","height","totalCount","length","itemContent","index","span","dangerouslySetInnerHTML","__html","render","intervals","pre","post","escapeHTML","data-testid","strong"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactElement } from 'react';
|
|
2
|
+
import { DatasourceSelector } from '@perses-dev/core';
|
|
3
|
+
import { LabelFilter } from '../types';
|
|
4
|
+
export interface LabelFilterInputProps {
|
|
5
|
+
datasource: DatasourceSelector;
|
|
6
|
+
value: LabelFilter;
|
|
7
|
+
filters: LabelFilter[];
|
|
8
|
+
onChange: (next: LabelFilter) => void;
|
|
9
|
+
onDelete: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function LabelFilterInput({ datasource, value, filters, onChange, onDelete, }: LabelFilterInputProps): ReactElement;
|
|
12
|
+
export declare const ListboxComponent: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>;
|
|
13
|
+
export interface RawFilterInputProps {
|
|
14
|
+
value: LabelFilter;
|
|
15
|
+
labelOptions?: string[];
|
|
16
|
+
labelValuesOptions?: string[];
|
|
17
|
+
isLabelOptionsLoading?: boolean;
|
|
18
|
+
isLabelValuesOptionsLoading?: boolean;
|
|
19
|
+
onChange: (next: LabelFilter) => void;
|
|
20
|
+
onDelete: () => void;
|
|
21
|
+
}
|
|
22
|
+
export declare function RawFilterInput({ value, labelOptions, labelValuesOptions, isLabelOptionsLoading, isLabelValuesOptionsLoading, onChange, onDelete, }: RawFilterInputProps): ReactElement;
|
|
23
|
+
//# sourceMappingURL=FilterInputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterInputs.d.ts","sourceRoot":"","sources":["../../../../../src/explore/PrometheusMetricsFinder/filter/FilterInputs.tsx"],"names":[],"mappings":"AAaA,OAAO,EAGL,cAAc,EACd,YAAY,EAKb,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAGD,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE,qBAAqB,GAAG,YAAY,CAwBtC;AAGD,eAAO,MAAM,gBAAgB,+HAiC5B,CAAC;AAGF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,QAAQ,EACR,QAAQ,GACT,EAAE,mBAAmB,GAAG,YAAY,CAqGpC"}
|