@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.
Files changed (434) hide show
  1. package/LICENSE +183 -183
  2. package/README.md +41 -0
  3. package/__mf/css/async/2341.dacad691.css +1 -0
  4. package/__mf/css/async/5263.dacad691.css +1 -0
  5. package/__mf/css/async/6759.dacad691.css +1 -0
  6. package/__mf/font/lato-all-300-normal.322bdf14.woff +0 -0
  7. package/__mf/font/lato-all-400-normal.63513b00.woff +0 -0
  8. package/__mf/font/lato-all-700-normal.bb27db94.woff +0 -0
  9. package/__mf/font/lato-all-900-normal.a27049a3.woff +0 -0
  10. package/__mf/font/lato-latin-300-normal.c5195215.woff2 +0 -0
  11. package/__mf/font/lato-latin-400-normal.b7ffde23.woff2 +0 -0
  12. package/__mf/font/lato-latin-700-normal.d5eb20bc.woff2 +0 -0
  13. package/__mf/font/lato-latin-900-normal.d884a71c.woff2 +0 -0
  14. package/__mf/font/lato-latin-ext-300-normal.abcc64a9.woff2 +0 -0
  15. package/__mf/font/lato-latin-ext-400-normal.6ebed106.woff2 +0 -0
  16. package/__mf/font/lato-latin-ext-700-normal.8697d1d5.woff2 +0 -0
  17. package/__mf/font/lato-latin-ext-900-normal.20a2b415.woff2 +0 -0
  18. package/__mf/js/622.f7592106.js +5 -0
  19. package/__mf/js/Prometheus.328aad7c.js +5 -0
  20. package/__mf/js/async/1465.3b5e12d5.js +1 -0
  21. package/__mf/js/async/1495.6c8b8071.js +1 -0
  22. package/__mf/js/async/1620.6376bd14.js +2 -0
  23. package/__mf/js/async/1620.6376bd14.js.LICENSE.txt +9 -0
  24. package/__mf/js/async/1864.df7c4beb.js +1 -0
  25. package/__mf/js/async/1950.704c331e.js +1 -0
  26. package/__mf/js/async/1964.95da06f6.js +2 -0
  27. package/__mf/js/async/1964.95da06f6.js.LICENSE.txt +9 -0
  28. package/__mf/js/async/1996.01084c88.js +2 -0
  29. package/__mf/js/async/1996.01084c88.js.LICENSE.txt +24 -0
  30. package/__mf/js/async/212.bd5d617a.js +1 -0
  31. package/__mf/js/async/2316.fec4907a.js +1 -0
  32. package/__mf/js/async/232.f3523a60.js +1 -0
  33. package/__mf/js/async/2569.daf868a6.js +10 -0
  34. package/__mf/js/async/2569.daf868a6.js.LICENSE.txt +27 -0
  35. package/__mf/js/async/2675.c3b73822.js +1 -0
  36. package/__mf/js/async/3224.23f0dccf.js +1 -0
  37. package/__mf/js/async/3355.a4dbcdb0.js +1 -0
  38. package/__mf/js/async/3436.97c926a4.js +1 -0
  39. package/__mf/js/async/3818.dde21d04.js +1 -0
  40. package/__mf/js/async/3871.6915e369.js +1 -0
  41. package/__mf/js/async/3960.129d5ef5.js +2 -0
  42. package/__mf/js/async/3960.129d5ef5.js.LICENSE.txt +8 -0
  43. package/__mf/js/async/4075.b77ca1c7.js +1 -0
  44. package/__mf/js/async/4238.8e4d29d5.js +1 -0
  45. package/__mf/js/async/4323.4266fd6a.js +1 -0
  46. package/__mf/js/async/4421.1bcc1637.js +1 -0
  47. package/__mf/js/async/4489.3361e7bc.js +29 -0
  48. package/__mf/js/async/4489.3361e7bc.js.LICENSE.txt +59 -0
  49. package/__mf/js/async/5214.027c4332.js +1 -0
  50. package/__mf/js/async/5345.8c2e4b4a.js +1 -0
  51. package/__mf/js/async/537.6911ea2e.js +1 -0
  52. package/__mf/js/async/5387.fd6e16d6.js +1 -0
  53. package/__mf/js/async/5654.ecb41aea.js +38 -0
  54. package/__mf/js/async/5724.6ee6ec51.js +1 -0
  55. package/__mf/js/async/5774.9b0b6be1.js +1 -0
  56. package/__mf/js/async/5790.2273e061.js +1 -0
  57. package/__mf/js/async/5913.9d30fd07.js +73 -0
  58. package/__mf/js/async/5913.9d30fd07.js.LICENSE.txt +19 -0
  59. package/__mf/js/async/5914.bd342d22.js +74 -0
  60. package/__mf/js/async/5981.40bed0d0.js +2 -0
  61. package/__mf/js/async/5981.40bed0d0.js.LICENSE.txt +8 -0
  62. package/__mf/js/async/6292.7b8efa78.js +1 -0
  63. package/__mf/js/async/6333.865a46e0.js +2 -0
  64. package/__mf/js/async/6333.865a46e0.js.LICENSE.txt +9 -0
  65. package/__mf/js/async/6377.ca974d89.js +2 -0
  66. package/__mf/js/async/6377.ca974d89.js.LICENSE.txt +32 -0
  67. package/__mf/js/async/6770.adb1c939.js +1 -0
  68. package/__mf/js/async/684.ca510333.js +1 -0
  69. package/__mf/js/async/694.f861d67c.js +1 -0
  70. package/__mf/js/async/7272.a763aa92.js +1 -0
  71. package/__mf/js/async/738.aca54e25.js +1 -0
  72. package/__mf/js/async/7740.0c5363fd.js +1 -0
  73. package/__mf/js/async/8265.b9e2c31e.js +1 -0
  74. package/__mf/js/async/8488.5237550f.js +1 -0
  75. package/__mf/js/async/8587.4891ea90.js +1 -0
  76. package/__mf/js/async/8610.8300df79.js +1 -0
  77. package/__mf/js/async/87.fdc843ac.js +1 -0
  78. package/__mf/js/async/8930.9fbbc975.js +1 -0
  79. package/__mf/js/async/8997.18901f45.js +28 -0
  80. package/__mf/js/async/9173.e8fbead5.js +2 -0
  81. package/__mf/js/async/9173.e8fbead5.js.LICENSE.txt +19 -0
  82. package/__mf/js/async/__federation_expose_PrometheusDatasource.f6f57299.js +1 -0
  83. package/__mf/js/async/__federation_expose_PrometheusExplorer.5fcf955a.js +1 -0
  84. package/__mf/js/async/__federation_expose_PrometheusLabelNamesVariable.86d0ad5a.js +1 -0
  85. package/__mf/js/async/__federation_expose_PrometheusLabelValuesVariable.b2893484.js +1 -0
  86. package/__mf/js/async/__federation_expose_PrometheusPromQLVariable.cd16f6e8.js +1 -0
  87. package/__mf/js/async/__federation_expose_PrometheusTimeSeriesQuery.eb9eefa6.js +1 -0
  88. package/__mf/js/main.154a5b65.js +1 -0
  89. package/lib/bootstrap.d.ts +2 -0
  90. package/lib/bootstrap.d.ts.map +1 -0
  91. package/lib/bootstrap.js +19 -0
  92. package/lib/bootstrap.js.map +1 -0
  93. package/lib/cjs/bootstrap.js +26 -0
  94. package/{dist → lib}/cjs/components/PromQLEditor.js +9 -7
  95. package/lib/cjs/components/TreeNode.js +492 -0
  96. package/{dist → lib}/cjs/components/promql/ast.js +21 -21
  97. package/lib/cjs/components/promql/functionSignatures.js +651 -0
  98. package/lib/cjs/components/promql/serialize.js +88 -0
  99. package/{dist → lib}/cjs/components/promql/utils.js +12 -1
  100. package/{dist/cjs/components/parse.js → lib/cjs/components/query.js} +37 -4
  101. package/lib/cjs/env.d.js +14 -0
  102. package/lib/cjs/explore/PrometheusExplorer.js +203 -0
  103. package/lib/cjs/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js +268 -0
  104. package/lib/cjs/explore/PrometheusMetricsFinder/display/MetricChip.js +61 -0
  105. package/lib/cjs/explore/PrometheusMetricsFinder/display/list/MetricList.js +179 -0
  106. package/lib/cjs/explore/PrometheusMetricsFinder/filter/FilterInputs.js +231 -0
  107. package/lib/cjs/explore/PrometheusMetricsFinder/filter/FinderFilters.js +97 -0
  108. package/{dist/cjs/plugins/prometheus-time-series-query → lib/cjs/explore/PrometheusMetricsFinder}/index.js +1 -1
  109. package/lib/cjs/explore/PrometheusMetricsFinder/overview/MetricOverview.js +235 -0
  110. package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js +144 -0
  111. package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js +423 -0
  112. package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js +53 -0
  113. package/lib/cjs/explore/PrometheusMetricsFinder/types.js +25 -0
  114. package/lib/cjs/explore/PrometheusMetricsFinder/utils.js +203 -0
  115. package/lib/cjs/explore/index.js +19 -0
  116. package/lib/cjs/getPluginModule.js +27 -0
  117. package/lib/cjs/index-federation.js +55 -0
  118. package/lib/cjs/index.js +28 -0
  119. package/{dist → lib}/cjs/model/api-types.js +1 -1
  120. package/{dist → lib}/cjs/model/prometheus-client.js +1 -1
  121. package/lib/cjs/plugins/PrometheusDatasourceEditor.js +109 -0
  122. package/lib/cjs/plugins/PrometheusLabelNamesVariable.js +34 -0
  123. package/lib/cjs/plugins/PrometheusLabelValuesVariable.js +38 -0
  124. package/lib/cjs/plugins/PrometheusPromQLVariable.js +42 -0
  125. package/lib/cjs/plugins/index.js +26 -0
  126. package/{dist → lib}/cjs/plugins/prometheus-datasource.js +9 -9
  127. package/{dist → lib}/cjs/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js +11 -9
  128. package/{dist → lib}/cjs/plugins/prometheus-time-series-query/get-time-series-data.js +51 -29
  129. package/lib/cjs/plugins/prometheus-time-series-query/index.js +35 -0
  130. package/{dist → lib}/cjs/plugins/prometheus-variables.js +25 -101
  131. package/{dist → lib}/cjs/plugins/variable.js +1 -2
  132. package/lib/cjs/setup-tests.js +19 -0
  133. package/{dist → lib}/cjs/utils/utils.js +1 -2
  134. package/lib/components/PromQLEditor.d.ts.map +1 -0
  135. package/{dist → lib}/components/PromQLEditor.js +9 -7
  136. package/lib/components/PromQLEditor.js.map +1 -0
  137. package/lib/components/TreeNode.d.ts +15 -0
  138. package/lib/components/TreeNode.d.ts.map +1 -0
  139. package/lib/components/TreeNode.js +479 -0
  140. package/lib/components/TreeNode.js.map +1 -0
  141. package/lib/components/index.d.ts.map +1 -0
  142. package/lib/components/index.js.map +1 -0
  143. package/lib/components/promql/ast.d.ts.map +1 -0
  144. package/{dist → lib}/components/promql/ast.js +21 -21
  145. package/lib/components/promql/ast.js.map +1 -0
  146. package/{dist → lib}/components/promql/format.d.ts +1 -1
  147. package/lib/components/promql/format.d.ts.map +1 -0
  148. package/lib/components/promql/format.js.map +1 -0
  149. package/lib/components/promql/functionSignatures.d.ts +3 -0
  150. package/lib/components/promql/functionSignatures.d.ts.map +1 -0
  151. package/lib/components/promql/functionSignatures.js +643 -0
  152. package/lib/components/promql/functionSignatures.js.map +1 -0
  153. package/lib/components/promql/serialize.d.ts +4 -0
  154. package/lib/components/promql/serialize.d.ts.map +1 -0
  155. package/lib/components/promql/serialize.js +80 -0
  156. package/lib/components/promql/serialize.js.map +1 -0
  157. package/{dist → lib}/components/promql/utils.d.ts +1 -0
  158. package/lib/components/promql/utils.d.ts.map +1 -0
  159. package/{dist → lib}/components/promql/utils.js +9 -1
  160. package/lib/components/promql/utils.js.map +1 -0
  161. package/lib/components/query.d.ts +6 -0
  162. package/lib/components/query.d.ts.map +1 -0
  163. package/{dist/components/parse.js → lib/components/query.js} +27 -2
  164. package/lib/components/query.js.map +1 -0
  165. package/lib/env.d.js +15 -0
  166. package/lib/env.d.js.map +1 -0
  167. package/lib/explore/PrometheusExplorer.d.ts +3 -0
  168. package/lib/explore/PrometheusExplorer.d.ts.map +1 -0
  169. package/lib/explore/PrometheusExplorer.js +190 -0
  170. package/lib/explore/PrometheusExplorer.js.map +1 -0
  171. package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.d.ts +31 -0
  172. package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.d.ts.map +1 -0
  173. package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js +244 -0
  174. package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js.map +1 -0
  175. package/lib/explore/PrometheusMetricsFinder/display/MetricChip.d.ts +4 -0
  176. package/lib/explore/PrometheusMetricsFinder/display/MetricChip.d.ts.map +1 -0
  177. package/lib/explore/PrometheusMetricsFinder/display/MetricChip.js +53 -0
  178. package/lib/explore/PrometheusMetricsFinder/display/MetricChip.js.map +1 -0
  179. package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.d.ts +27 -0
  180. package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.d.ts.map +1 -0
  181. package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.js +158 -0
  182. package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.js.map +1 -0
  183. package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.d.ts +23 -0
  184. package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.d.ts.map +1 -0
  185. package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.js +209 -0
  186. package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.js.map +1 -0
  187. package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.d.ts +13 -0
  188. package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.d.ts.map +1 -0
  189. package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.js +84 -0
  190. package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.js.map +1 -0
  191. package/lib/explore/PrometheusMetricsFinder/index.d.ts +2 -0
  192. package/lib/explore/PrometheusMetricsFinder/index.d.ts.map +1 -0
  193. package/{dist/model/api-types.js → lib/explore/PrometheusMetricsFinder/index.js} +2 -2
  194. package/lib/explore/PrometheusMetricsFinder/index.js.map +1 -0
  195. package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.d.ts +23 -0
  196. package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.d.ts.map +1 -0
  197. package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.js +214 -0
  198. package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.js.map +1 -0
  199. package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.d.ts +28 -0
  200. package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.d.ts.map +1 -0
  201. package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js +125 -0
  202. package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js.map +1 -0
  203. package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.d.ts +25 -0
  204. package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.d.ts.map +1 -0
  205. package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js +399 -0
  206. package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js.map +1 -0
  207. package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.d.ts +12 -0
  208. package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.d.ts.map +1 -0
  209. package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js +45 -0
  210. package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js.map +1 -0
  211. package/lib/explore/PrometheusMetricsFinder/types.d.ts +22 -0
  212. package/lib/explore/PrometheusMetricsFinder/types.d.ts.map +1 -0
  213. package/lib/explore/PrometheusMetricsFinder/types.js +17 -0
  214. package/lib/explore/PrometheusMetricsFinder/types.js.map +1 -0
  215. package/lib/explore/PrometheusMetricsFinder/utils.d.ts +22 -0
  216. package/lib/explore/PrometheusMetricsFinder/utils.d.ts.map +1 -0
  217. package/lib/explore/PrometheusMetricsFinder/utils.js +185 -0
  218. package/lib/explore/PrometheusMetricsFinder/utils.js.map +1 -0
  219. package/lib/explore/index.d.ts +3 -0
  220. package/lib/explore/index.d.ts.map +1 -0
  221. package/lib/explore/index.js +4 -0
  222. package/lib/explore/index.js.map +1 -0
  223. package/lib/getPluginModule.d.ts +6 -0
  224. package/lib/getPluginModule.d.ts.map +1 -0
  225. package/lib/getPluginModule.js +16 -0
  226. package/lib/getPluginModule.js.map +1 -0
  227. package/lib/index-federation.d.ts +1 -0
  228. package/lib/index-federation.d.ts.map +1 -0
  229. package/lib/index-federation.js +15 -0
  230. package/{dist/components/index.js.map → lib/index-federation.js.map} +1 -1
  231. package/lib/index.d.ts +6 -0
  232. package/lib/index.d.ts.map +1 -0
  233. package/lib/index.js +7 -0
  234. package/lib/index.js.map +1 -0
  235. package/{dist → lib}/model/api-types.d.ts +18 -1
  236. package/lib/model/api-types.d.ts.map +1 -0
  237. package/{dist/plugins/prometheus-time-series-query/index.js → lib/model/api-types.js} +3 -3
  238. package/lib/model/api-types.js.map +1 -0
  239. package/lib/model/index.d.ts.map +1 -0
  240. package/lib/model/index.js.map +1 -0
  241. package/lib/model/parse-sample-values.d.ts.map +1 -0
  242. package/lib/model/parse-sample-values.js.map +1 -0
  243. package/lib/model/prometheus-client.d.ts.map +1 -0
  244. package/{dist → lib}/model/prometheus-client.js +1 -1
  245. package/lib/model/prometheus-client.js.map +1 -0
  246. package/lib/model/prometheus-selectors.d.ts.map +1 -0
  247. package/lib/model/prometheus-selectors.js.map +1 -0
  248. package/lib/model/time.d.ts.map +1 -0
  249. package/lib/model/time.js.map +1 -0
  250. package/lib/plugins/MatcherEditor.d.ts.map +1 -0
  251. package/lib/plugins/MatcherEditor.js.map +1 -0
  252. package/lib/plugins/PrometheusDatasourceEditor.d.ts.map +1 -0
  253. package/lib/plugins/PrometheusDatasourceEditor.js +96 -0
  254. package/lib/plugins/PrometheusDatasourceEditor.js.map +1 -0
  255. package/lib/plugins/PrometheusLabelNamesVariable.d.ts +4 -0
  256. package/lib/plugins/PrometheusLabelNamesVariable.d.ts.map +1 -0
  257. package/lib/plugins/PrometheusLabelNamesVariable.js +26 -0
  258. package/lib/plugins/PrometheusLabelNamesVariable.js.map +1 -0
  259. package/lib/plugins/PrometheusLabelValuesVariable.d.ts +4 -0
  260. package/lib/plugins/PrometheusLabelValuesVariable.d.ts.map +1 -0
  261. package/lib/plugins/PrometheusLabelValuesVariable.js +30 -0
  262. package/lib/plugins/PrometheusLabelValuesVariable.js.map +1 -0
  263. package/lib/plugins/PrometheusPromQLVariable.d.ts +4 -0
  264. package/lib/plugins/PrometheusPromQLVariable.d.ts.map +1 -0
  265. package/lib/plugins/PrometheusPromQLVariable.js +34 -0
  266. package/lib/plugins/PrometheusPromQLVariable.js.map +1 -0
  267. package/lib/plugins/index.d.ts +10 -0
  268. package/lib/plugins/index.d.ts.map +1 -0
  269. package/lib/plugins/index.js +11 -0
  270. package/lib/plugins/index.js.map +1 -0
  271. package/lib/plugins/prometheus-datasource.d.ts.map +1 -0
  272. package/{dist → lib}/plugins/prometheus-datasource.js +9 -9
  273. package/lib/plugins/prometheus-datasource.js.map +1 -0
  274. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.d.ts.map +1 -0
  275. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js.map +1 -0
  276. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.d.ts.map +1 -0
  277. package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js +9 -7
  278. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js.map +1 -0
  279. package/lib/plugins/prometheus-time-series-query/get-time-series-data.d.ts.map +1 -0
  280. package/{dist → lib}/plugins/prometheus-time-series-query/get-time-series-data.js +51 -29
  281. package/lib/plugins/prometheus-time-series-query/get-time-series-data.js.map +1 -0
  282. package/lib/plugins/prometheus-time-series-query/index.d.ts +7 -0
  283. package/lib/plugins/prometheus-time-series-query/index.d.ts.map +1 -0
  284. package/lib/plugins/prometheus-time-series-query/index.js +20 -0
  285. package/lib/plugins/prometheus-time-series-query/index.js.map +1 -0
  286. package/lib/plugins/prometheus-time-series-query/query-editor-model.d.ts.map +1 -0
  287. package/lib/plugins/prometheus-time-series-query/query-editor-model.js.map +1 -0
  288. package/lib/plugins/prometheus-time-series-query/replace-prom-builtin-variables.d.ts.map +1 -0
  289. package/lib/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js.map +1 -0
  290. package/lib/plugins/prometheus-time-series-query/time-series-query-model.d.ts.map +1 -0
  291. package/lib/plugins/prometheus-time-series-query/time-series-query-model.js.map +1 -0
  292. package/lib/plugins/prometheus-variables.d.ts +14 -0
  293. package/lib/plugins/prometheus-variables.d.ts.map +1 -0
  294. package/{dist → lib}/plugins/prometheus-variables.js +15 -98
  295. package/lib/plugins/prometheus-variables.js.map +1 -0
  296. package/lib/plugins/types.d.ts.map +1 -0
  297. package/lib/plugins/types.js.map +1 -0
  298. package/lib/plugins/variable.d.ts.map +1 -0
  299. package/{dist → lib}/plugins/variable.js +1 -2
  300. package/lib/plugins/variable.js.map +1 -0
  301. package/lib/setup-tests.d.ts +2 -0
  302. package/lib/setup-tests.d.ts.map +1 -0
  303. package/lib/setup-tests.js +17 -0
  304. package/{dist/utils/index.js.map → lib/setup-tests.js.map} +1 -1
  305. package/lib/test/setup-tests.d.ts.map +1 -0
  306. package/lib/test/setup-tests.js.map +1 -0
  307. package/lib/utils/index.d.ts.map +1 -0
  308. package/lib/utils/index.js.map +1 -0
  309. package/lib/utils/utils.d.ts.map +1 -0
  310. package/{dist → lib}/utils/utils.js +1 -2
  311. package/lib/utils/utils.js.map +1 -0
  312. package/mf-manifest.json +898 -0
  313. package/mf-stats.json +1004 -0
  314. package/package.json +99 -38
  315. package/dist/cjs/components/TreeNode.js +0 -147
  316. package/dist/cjs/index.js +0 -61
  317. package/dist/cjs/plugins/PrometheusDatasourceEditor.js +0 -626
  318. package/dist/components/PromQLEditor.d.ts.map +0 -1
  319. package/dist/components/PromQLEditor.js.map +0 -1
  320. package/dist/components/TreeNode.d.ts +0 -10
  321. package/dist/components/TreeNode.d.ts.map +0 -1
  322. package/dist/components/TreeNode.js +0 -139
  323. package/dist/components/TreeNode.js.map +0 -1
  324. package/dist/components/index.d.ts.map +0 -1
  325. package/dist/components/parse.d.ts +0 -5
  326. package/dist/components/parse.d.ts.map +0 -1
  327. package/dist/components/parse.js.map +0 -1
  328. package/dist/components/promql/ast.d.ts.map +0 -1
  329. package/dist/components/promql/ast.js.map +0 -1
  330. package/dist/components/promql/format.d.ts.map +0 -1
  331. package/dist/components/promql/format.js.map +0 -1
  332. package/dist/components/promql/utils.d.ts.map +0 -1
  333. package/dist/components/promql/utils.js.map +0 -1
  334. package/dist/index.d.ts +0 -8
  335. package/dist/index.d.ts.map +0 -1
  336. package/dist/index.js +0 -24
  337. package/dist/index.js.map +0 -1
  338. package/dist/model/api-types.d.ts.map +0 -1
  339. package/dist/model/api-types.js.map +0 -1
  340. package/dist/model/index.d.ts.map +0 -1
  341. package/dist/model/index.js.map +0 -1
  342. package/dist/model/parse-sample-values.d.ts.map +0 -1
  343. package/dist/model/parse-sample-values.js.map +0 -1
  344. package/dist/model/prometheus-client.d.ts.map +0 -1
  345. package/dist/model/prometheus-client.js.map +0 -1
  346. package/dist/model/prometheus-selectors.d.ts.map +0 -1
  347. package/dist/model/prometheus-selectors.js.map +0 -1
  348. package/dist/model/time.d.ts.map +0 -1
  349. package/dist/model/time.js.map +0 -1
  350. package/dist/plugins/MatcherEditor.d.ts.map +0 -1
  351. package/dist/plugins/MatcherEditor.js.map +0 -1
  352. package/dist/plugins/PrometheusDatasourceEditor.d.ts.map +0 -1
  353. package/dist/plugins/PrometheusDatasourceEditor.js +0 -572
  354. package/dist/plugins/PrometheusDatasourceEditor.js.map +0 -1
  355. package/dist/plugins/prometheus-datasource.d.ts.map +0 -1
  356. package/dist/plugins/prometheus-datasource.js.map +0 -1
  357. package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.d.ts.map +0 -1
  358. package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js.map +0 -1
  359. package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.d.ts.map +0 -1
  360. package/dist/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js.map +0 -1
  361. package/dist/plugins/prometheus-time-series-query/get-time-series-data.d.ts.map +0 -1
  362. package/dist/plugins/prometheus-time-series-query/get-time-series-data.js.map +0 -1
  363. package/dist/plugins/prometheus-time-series-query/index.d.ts +0 -2
  364. package/dist/plugins/prometheus-time-series-query/index.d.ts.map +0 -1
  365. package/dist/plugins/prometheus-time-series-query/index.js.map +0 -1
  366. package/dist/plugins/prometheus-time-series-query/query-editor-model.d.ts.map +0 -1
  367. package/dist/plugins/prometheus-time-series-query/query-editor-model.js.map +0 -1
  368. package/dist/plugins/prometheus-time-series-query/replace-prom-builtin-variables.d.ts.map +0 -1
  369. package/dist/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js.map +0 -1
  370. package/dist/plugins/prometheus-time-series-query/time-series-query-model.d.ts.map +0 -1
  371. package/dist/plugins/prometheus-time-series-query/time-series-query-model.js.map +0 -1
  372. package/dist/plugins/prometheus-variables.d.ts +0 -6
  373. package/dist/plugins/prometheus-variables.d.ts.map +0 -1
  374. package/dist/plugins/prometheus-variables.js.map +0 -1
  375. package/dist/plugins/types.d.ts.map +0 -1
  376. package/dist/plugins/types.js.map +0 -1
  377. package/dist/plugins/variable.d.ts.map +0 -1
  378. package/dist/plugins/variable.js.map +0 -1
  379. package/dist/test/setup-tests.d.ts.map +0 -1
  380. package/dist/test/setup-tests.js.map +0 -1
  381. package/dist/utils/index.d.ts.map +0 -1
  382. package/dist/utils/utils.d.ts.map +0 -1
  383. package/dist/utils/utils.js.map +0 -1
  384. package/plugin.json +0 -58
  385. /package/{dist → lib}/cjs/components/index.js +0 -0
  386. /package/{dist → lib}/cjs/components/promql/format.js +0 -0
  387. /package/{dist → lib}/cjs/model/index.js +0 -0
  388. /package/{dist → lib}/cjs/model/parse-sample-values.js +0 -0
  389. /package/{dist → lib}/cjs/model/prometheus-selectors.js +0 -0
  390. /package/{dist → lib}/cjs/model/time.js +0 -0
  391. /package/{dist → lib}/cjs/plugins/MatcherEditor.js +0 -0
  392. /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js +0 -0
  393. /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/query-editor-model.js +0 -0
  394. /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js +0 -0
  395. /package/{dist → lib}/cjs/plugins/prometheus-time-series-query/time-series-query-model.js +0 -0
  396. /package/{dist → lib}/cjs/plugins/types.js +0 -0
  397. /package/{dist → lib}/cjs/test/setup-tests.js +0 -0
  398. /package/{dist → lib}/cjs/utils/index.js +0 -0
  399. /package/{dist → lib}/components/PromQLEditor.d.ts +0 -0
  400. /package/{dist → lib}/components/index.d.ts +0 -0
  401. /package/{dist → lib}/components/index.js +0 -0
  402. /package/{dist → lib}/components/promql/ast.d.ts +0 -0
  403. /package/{dist → lib}/components/promql/format.js +0 -0
  404. /package/{dist → lib}/model/index.d.ts +0 -0
  405. /package/{dist → lib}/model/index.js +0 -0
  406. /package/{dist → lib}/model/parse-sample-values.d.ts +0 -0
  407. /package/{dist → lib}/model/parse-sample-values.js +0 -0
  408. /package/{dist → lib}/model/prometheus-client.d.ts +0 -0
  409. /package/{dist → lib}/model/prometheus-selectors.d.ts +0 -0
  410. /package/{dist → lib}/model/prometheus-selectors.js +0 -0
  411. /package/{dist → lib}/model/time.d.ts +0 -0
  412. /package/{dist → lib}/model/time.js +0 -0
  413. /package/{dist → lib}/plugins/MatcherEditor.d.ts +0 -0
  414. /package/{dist → lib}/plugins/MatcherEditor.js +0 -0
  415. /package/{dist → lib}/plugins/PrometheusDatasourceEditor.d.ts +0 -0
  416. /package/{dist → lib}/plugins/prometheus-datasource.d.ts +0 -0
  417. /package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.d.ts +0 -0
  418. /package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js +0 -0
  419. /package/{dist → lib}/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.d.ts +0 -0
  420. /package/{dist → lib}/plugins/prometheus-time-series-query/get-time-series-data.d.ts +0 -0
  421. /package/{dist → lib}/plugins/prometheus-time-series-query/query-editor-model.d.ts +0 -0
  422. /package/{dist → lib}/plugins/prometheus-time-series-query/query-editor-model.js +0 -0
  423. /package/{dist → lib}/plugins/prometheus-time-series-query/replace-prom-builtin-variables.d.ts +0 -0
  424. /package/{dist → lib}/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js +0 -0
  425. /package/{dist → lib}/plugins/prometheus-time-series-query/time-series-query-model.d.ts +0 -0
  426. /package/{dist → lib}/plugins/prometheus-time-series-query/time-series-query-model.js +0 -0
  427. /package/{dist → lib}/plugins/types.d.ts +0 -0
  428. /package/{dist → lib}/plugins/types.js +0 -0
  429. /package/{dist → lib}/plugins/variable.d.ts +0 -0
  430. /package/{dist → lib}/test/setup-tests.d.ts +0 -0
  431. /package/{dist → lib}/test/setup-tests.js +0 -0
  432. /package/{dist → lib}/utils/index.d.ts +0 -0
  433. /package/{dist → lib}/utils/index.js +0 -0
  434. /package/{dist → lib}/utils/utils.d.ts +0 -0
@@ -0,0 +1,423 @@
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
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ function _export(target, all) {
18
+ for(var name in all)Object.defineProperty(target, name, {
19
+ enumerable: true,
20
+ get: all[name]
21
+ });
22
+ }
23
+ _export(exports, {
24
+ LabelValuesRow: function() {
25
+ return LabelValuesRow;
26
+ },
27
+ LabelValuesTable: function() {
28
+ return LabelValuesTable;
29
+ },
30
+ OverviewTab: function() {
31
+ return OverviewTab;
32
+ }
33
+ });
34
+ const _jsxruntime = require("react/jsx-runtime");
35
+ const _react = require("react");
36
+ const _material = require("@mui/material");
37
+ const _Plus = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Plus"));
38
+ const _Check = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Check"));
39
+ const _Close = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/Close"));
40
+ const _components = require("@perses-dev/components");
41
+ const _FilterInputs = require("../../filter/FilterInputs");
42
+ const _utils = require("../../utils");
43
+ const _MetricChip = require("../../display/MetricChip");
44
+ function _interop_require_default(obj) {
45
+ return obj && obj.__esModule ? obj : {
46
+ default: obj
47
+ };
48
+ }
49
+ function LabelValuesRow({ label, valueCounters, onFilterAdd, ...props }) {
50
+ const [isAddingFilter, setIsAddingFilter] = (0, _react.useState)(false);
51
+ const [operator, setOperator] = (0, _react.useState)('=');
52
+ const [value, setValue] = (0, _react.useState)('');
53
+ const [showAllValues, setShowAllValues] = (0, _react.useState)(false);
54
+ const isMobileSize = (0, _material.useMediaQuery)((0, _material.useTheme)().breakpoints.down('md'));
55
+ const displayedValueCounters = (0, _react.useMemo)(()=>{
56
+ if (showAllValues) {
57
+ return valueCounters;
58
+ }
59
+ return valueCounters.slice(0, 5);
60
+ }, [
61
+ showAllValues,
62
+ valueCounters
63
+ ]);
64
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
65
+ sx: {
66
+ width: '100%'
67
+ },
68
+ direction: isMobileSize ? 'column' : 'row',
69
+ alignItems: "center",
70
+ gap: 2,
71
+ ...props,
72
+ children: [
73
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
74
+ sx: {
75
+ width: '100%',
76
+ height: '100%'
77
+ },
78
+ justifyContent: "space-between",
79
+ alignContent: "center",
80
+ direction: isMobileSize ? 'column' : 'row',
81
+ children: [
82
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
83
+ sx: {
84
+ fontFamily: 'monospace'
85
+ },
86
+ pl: isMobileSize ? 0 : 1,
87
+ children: label
88
+ }),
89
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
90
+ direction: "row",
91
+ gap: 1,
92
+ alignItems: "center",
93
+ children: isAddingFilter ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
94
+ children: [
95
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Select, {
96
+ size: "small",
97
+ value: operator,
98
+ variant: "outlined",
99
+ onChange: (event)=>{
100
+ setOperator(event.target.value);
101
+ },
102
+ children: [
103
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
104
+ value: "=",
105
+ children: "="
106
+ }),
107
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
108
+ value: "!=",
109
+ children: "!="
110
+ }),
111
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
112
+ value: "=~",
113
+ children: "=~"
114
+ }),
115
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.MenuItem, {
116
+ value: "!~",
117
+ children: "!~"
118
+ })
119
+ ]
120
+ }),
121
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Autocomplete, {
122
+ freeSolo: true,
123
+ limitTags: 1,
124
+ disableClearable: true,
125
+ options: valueCounters.map((counters)=>counters.labelValue),
126
+ value: value,
127
+ ListboxComponent: _FilterInputs.ListboxComponent,
128
+ sx: {
129
+ width: 250
130
+ },
131
+ renderInput: (params)=>{
132
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.TextField, {
133
+ ...params,
134
+ label: "Value",
135
+ variant: "outlined",
136
+ fullWidth: true,
137
+ size: "small"
138
+ });
139
+ },
140
+ onInputChange: (_, newValue)=>{
141
+ setValue(newValue);
142
+ }
143
+ }),
144
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
145
+ "aria-label": "confirm",
146
+ onClick: ()=>{
147
+ onFilterAdd({
148
+ label,
149
+ labelValues: [
150
+ value
151
+ ],
152
+ operator
153
+ });
154
+ setIsAddingFilter(false);
155
+ },
156
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Check.default, {})
157
+ }),
158
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.IconButton, {
159
+ "aria-label": "cancel",
160
+ onClick: ()=>{
161
+ setIsAddingFilter(false);
162
+ },
163
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Close.default, {})
164
+ })
165
+ ]
166
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Button, {
167
+ startIcon: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Plus.default, {}),
168
+ "aria-label": "add filter",
169
+ onClick: ()=>setIsAddingFilter(true),
170
+ children: "Add filter"
171
+ })
172
+ })
173
+ ]
174
+ }),
175
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
176
+ sx: {
177
+ width: '100%'
178
+ },
179
+ gap: 0.5,
180
+ children: [
181
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
182
+ direction: "row",
183
+ gap: 2,
184
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Typography, {
185
+ variant: "subtitle1",
186
+ children: [
187
+ valueCounters.length,
188
+ " values"
189
+ ]
190
+ })
191
+ }),
192
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
193
+ sx: {
194
+ overflow: isMobileSize ? 'auto' : 'unset'
195
+ },
196
+ children: displayedValueCounters.map((labelValueCounter)=>/*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
197
+ direction: "row",
198
+ gap: 2,
199
+ children: [
200
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
201
+ sx: {
202
+ color: (theme)=>theme.palette.success.main,
203
+ fontFamily: 'monospace',
204
+ ':hover': {
205
+ backgroundColor: 'rgba(127,127,127,0.35)',
206
+ cursor: 'pointer'
207
+ },
208
+ textWrap: isMobileSize ? 'nowrap' : 'unset'
209
+ },
210
+ onClick: ()=>onFilterAdd({
211
+ label,
212
+ labelValues: [
213
+ labelValueCounter.labelValue
214
+ ],
215
+ operator: '='
216
+ }),
217
+ children: labelValueCounter.labelValue
218
+ }),
219
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Typography, {
220
+ sx: {
221
+ textWrap: 'nowrap'
222
+ },
223
+ children: [
224
+ "(",
225
+ labelValueCounter.counter,
226
+ " series)"
227
+ ]
228
+ })
229
+ ]
230
+ }, `${label}-${labelValueCounter.labelValue}`))
231
+ }),
232
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
233
+ width: "100%",
234
+ textAlign: isMobileSize ? 'center' : 'unset',
235
+ children: showAllValues ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Button, {
236
+ variant: "text",
237
+ sx: {
238
+ width: 'fit-content'
239
+ },
240
+ onClick: ()=>setShowAllValues(false),
241
+ children: "Hide full values"
242
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
243
+ children: valueCounters.length > 5 && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Button, {
244
+ variant: "text",
245
+ sx: {
246
+ width: 'fit-content'
247
+ },
248
+ onClick: ()=>setShowAllValues(true),
249
+ children: [
250
+ "Show ",
251
+ valueCounters.length - 5,
252
+ " more values"
253
+ ]
254
+ })
255
+ })
256
+ })
257
+ ]
258
+ })
259
+ ]
260
+ }, label);
261
+ }
262
+ function LabelValuesTable({ labelValueCounters, isLoading, onFilterAdd, ...props }) {
263
+ const labels = (0, _react.useMemo)(()=>{
264
+ return [
265
+ ...labelValueCounters.keys()
266
+ ].sort();
267
+ }, [
268
+ labelValueCounters
269
+ ]);
270
+ if (isLoading) {
271
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
272
+ width: "100%",
273
+ sx: {
274
+ alignItems: 'center',
275
+ justifyContent: 'center'
276
+ },
277
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.CircularProgress, {})
278
+ });
279
+ }
280
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
281
+ sx: {
282
+ width: '100%'
283
+ },
284
+ divider: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Divider, {
285
+ flexItem: true,
286
+ orientation: "horizontal"
287
+ }),
288
+ gap: 2,
289
+ ...props,
290
+ children: [
291
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
292
+ gap: 2,
293
+ direction: "row",
294
+ sx: {
295
+ width: '100%'
296
+ },
297
+ children: [
298
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
299
+ sx: {
300
+ width: '100%'
301
+ },
302
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
303
+ variant: "h3",
304
+ children: "Label"
305
+ })
306
+ }),
307
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
308
+ sx: {
309
+ width: '100%'
310
+ },
311
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
312
+ variant: "h3",
313
+ children: "Values"
314
+ })
315
+ })
316
+ ]
317
+ }),
318
+ labels.map((label)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(LabelValuesRow, {
319
+ label: label,
320
+ valueCounters: labelValueCounters.get(label) ?? [],
321
+ onFilterAdd: onFilterAdd
322
+ }, label))
323
+ ]
324
+ });
325
+ }
326
+ function OverviewTab({ metricName, datasource, filters, onFilterAdd, ...props }) {
327
+ const { metadata, isLoading: isMetadataLoading, error: metadataError } = (0, _utils.useMetricMetadata)(metricName, datasource);
328
+ const { series, labelValueCounters, isLoading, error } = (0, _utils.useSeriesStates)(metricName, filters, datasource);
329
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
330
+ gap: 2,
331
+ ...props,
332
+ children: [
333
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
334
+ direction: "row",
335
+ gap: 3,
336
+ mt: 1,
337
+ justifyContent: "space-between",
338
+ children: [
339
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
340
+ gap: 1,
341
+ children: [
342
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
343
+ variant: "h1",
344
+ sx: {
345
+ fontFamily: 'monospace'
346
+ },
347
+ children: metricName
348
+ }),
349
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
350
+ children: "Description:"
351
+ }),
352
+ isMetadataLoading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Skeleton, {
353
+ variant: "text",
354
+ width: 180
355
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
356
+ style: {
357
+ fontStyle: metadata?.help ? 'initial' : 'italic'
358
+ },
359
+ children: metadataError ? 'Failed to fetch metadata' : metadata?.help ?? 'unknown'
360
+ })
361
+ ]
362
+ }),
363
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Stack, {
364
+ gap: 1,
365
+ justifyContent: "center",
366
+ children: [
367
+ isMetadataLoading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Skeleton, {
368
+ variant: "rounded",
369
+ width: 75
370
+ }) : metadataError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Chip, {
371
+ label: "failed to fetch",
372
+ color: "error",
373
+ sx: {
374
+ fontStyle: 'italic'
375
+ }
376
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_MetricChip.MetricChip, {
377
+ label: metadata?.type ?? 'unknown'
378
+ }),
379
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_material.Typography, {
380
+ children: [
381
+ "Result:",
382
+ ' ',
383
+ isLoading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Skeleton, {
384
+ variant: "text",
385
+ width: 20,
386
+ sx: {
387
+ display: 'inline-block'
388
+ }
389
+ }) : error ? /*#__PURE__*/ (0, _jsxruntime.jsx)("strong", {
390
+ children: "failed to fetch series"
391
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsxs)("strong", {
392
+ children: [
393
+ series?.length ?? 'unknown',
394
+ " series"
395
+ ]
396
+ })
397
+ ]
398
+ })
399
+ ]
400
+ })
401
+ ]
402
+ }),
403
+ error ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.ErrorAlert, {
404
+ error: {
405
+ name: `Failed to fetch series ${error?.status && `(${error.status})`}`,
406
+ message: error?.message ?? 'Failed to fetch series'
407
+ }
408
+ }) : series?.length === 0 ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
409
+ ...props,
410
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Typography, {
411
+ sx: {
412
+ color: (theme)=>theme.palette.warning.main
413
+ },
414
+ children: "No series found with current filters."
415
+ })
416
+ }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(LabelValuesTable, {
417
+ labelValueCounters: labelValueCounters,
418
+ onFilterAdd: onFilterAdd,
419
+ isLoading: isLoading
420
+ })
421
+ ]
422
+ });
423
+ }
@@ -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
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "SimilarTab", {
18
+ enumerable: true,
19
+ get: function() {
20
+ return SimilarTab;
21
+ }
22
+ });
23
+ const _jsxruntime = require("react/jsx-runtime");
24
+ const _material = require("@mui/material");
25
+ const _react = require("react");
26
+ const _MetricList = require("../../display/list/MetricList");
27
+ const _utils = require("../../utils");
28
+ function SimilarTab({ filters, datasource, isMetadataEnabled, onExplore, ...props }) {
29
+ const filtersWithoutName = (0, _react.useMemo)(()=>{
30
+ return filters.filter((filter)=>filter.label !== '__name__');
31
+ }, [
32
+ filters
33
+ ]);
34
+ const { data, isLoading } = (0, _utils.useLabelValues)('__name__', filtersWithoutName, datasource);
35
+ if (isLoading) {
36
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.Stack, {
37
+ width: "100%",
38
+ sx: {
39
+ alignItems: 'center',
40
+ justifyContent: 'center'
41
+ },
42
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_material.CircularProgress, {})
43
+ });
44
+ }
45
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_MetricList.MetricList, {
46
+ metricNames: data?.data ?? [],
47
+ datasource: datasource,
48
+ filters: filtersWithoutName,
49
+ isMetadataEnabled: isMetadataEnabled,
50
+ onExplore: onExplore,
51
+ ...props
52
+ });
53
+ }
@@ -0,0 +1,25 @@
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
+ "use strict";
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ Object.defineProperty(exports, "computeFilterExpr", {
18
+ enumerable: true,
19
+ get: function() {
20
+ return computeFilterExpr;
21
+ }
22
+ });
23
+ function computeFilterExpr(filters) {
24
+ return `${filters.map((filter)=>`${filter.label}${filter.operator}"${filter.labelValues.join('|')}"`).join(',')}`;
25
+ }