@parca/profile 0.19.140 → 0.19.143

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 (182) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/GraphTooltipArrow/Content.js +224 -30
  3. package/dist/GraphTooltipArrow/DockedGraphTooltip/index.js +192 -33
  4. package/dist/GraphTooltipArrow/ExpandOnHoverValue.js +53 -3
  5. package/dist/GraphTooltipArrow/index.d.ts.map +1 -1
  6. package/dist/GraphTooltipArrow/index.js +86 -56
  7. package/dist/GraphTooltipArrow/useGraphTooltip/index.js +37 -37
  8. package/dist/GraphTooltipArrow/useGraphTooltipMetaInfo/index.js +94 -68
  9. package/dist/MatchersInput/SuggestionItem.js +91 -12
  10. package/dist/MatchersInput/SuggestionsList.d.ts +2 -1
  11. package/dist/MatchersInput/SuggestionsList.d.ts.map +1 -1
  12. package/dist/MatchersInput/SuggestionsList.js +371 -157
  13. package/dist/MatchersInput/SuggestionsList.test.d.ts +2 -0
  14. package/dist/MatchersInput/SuggestionsList.test.d.ts.map +1 -0
  15. package/dist/MatchersInput/index.js +308 -115
  16. package/dist/MetricsCircle/index.js +39 -3
  17. package/dist/MetricsGraph/MetricsContextMenu/index.js +119 -19
  18. package/dist/MetricsGraph/MetricsInfoPanel/index.js +81 -20
  19. package/dist/MetricsGraph/MetricsTooltip/index.d.ts.map +1 -1
  20. package/dist/MetricsGraph/MetricsTooltip/index.js +107 -74
  21. package/dist/MetricsGraph/index.js +552 -203
  22. package/dist/MetricsGraph/useMetricsGraphDimensions.js +46 -25
  23. package/dist/MetricsGraph/utils/colorMapping.js +24 -17
  24. package/dist/MetricsSeries/index.js +70 -7
  25. package/dist/PreSelectedMatchers/index.d.ts.map +1 -1
  26. package/dist/PreSelectedMatchers/index.js +249 -102
  27. package/dist/ProfileExplorer/ProfileExplorerCompare.d.ts.map +1 -1
  28. package/dist/ProfileExplorer/ProfileExplorerCompare.js +240 -45
  29. package/dist/ProfileExplorer/ProfileExplorerSingle.js +98 -11
  30. package/dist/ProfileExplorer/index.js +183 -32
  31. package/dist/ProfileFlameChart/SamplesStrips/SamplesGraph/index.js +333 -148
  32. package/dist/ProfileFlameChart/SamplesStrips/SamplesStrips.stories.js +69 -35
  33. package/dist/ProfileFlameChart/SamplesStrips/index.js +645 -134
  34. package/dist/ProfileFlameChart/SamplesStrips/labelSetUtils.js +114 -55
  35. package/dist/ProfileFlameChart/index.js +260 -126
  36. package/dist/ProfileFlameGraph/FlameGraphArrow/ContextMenu.js +283 -85
  37. package/dist/ProfileFlameGraph/FlameGraphArrow/ContextMenuWrapper.js +56 -20
  38. package/dist/ProfileFlameGraph/FlameGraphArrow/FlameGraphNodes.js +211 -140
  39. package/dist/ProfileFlameGraph/FlameGraphArrow/MemoizedTooltip.js +133 -38
  40. package/dist/ProfileFlameGraph/FlameGraphArrow/MiniMap.js +261 -216
  41. package/dist/ProfileFlameGraph/FlameGraphArrow/TextWithEllipsis.d.ts.map +1 -1
  42. package/dist/ProfileFlameGraph/FlameGraphArrow/TextWithEllipsis.js +71 -45
  43. package/dist/ProfileFlameGraph/FlameGraphArrow/TooltipContext.d.ts.map +1 -1
  44. package/dist/ProfileFlameGraph/FlameGraphArrow/TooltipContext.js +58 -28
  45. package/dist/ProfileFlameGraph/FlameGraphArrow/ZoomControls.d.ts.map +1 -1
  46. package/dist/ProfileFlameGraph/FlameGraphArrow/ZoomControls.js +59 -8
  47. package/dist/ProfileFlameGraph/FlameGraphArrow/index.js +396 -179
  48. package/dist/ProfileFlameGraph/FlameGraphArrow/useBatchedRendering.d.ts.map +1 -1
  49. package/dist/ProfileFlameGraph/FlameGraphArrow/useBatchedRendering.js +68 -50
  50. package/dist/ProfileFlameGraph/FlameGraphArrow/useMappingList.js +62 -38
  51. package/dist/ProfileFlameGraph/FlameGraphArrow/useNodeColor.js +14 -6
  52. package/dist/ProfileFlameGraph/FlameGraphArrow/useScrollViewport.js +124 -82
  53. package/dist/ProfileFlameGraph/FlameGraphArrow/useVisibleNodes.js +160 -98
  54. package/dist/ProfileFlameGraph/FlameGraphArrow/useZoom.js +232 -112
  55. package/dist/ProfileFlameGraph/FlameGraphArrow/utils.js +137 -114
  56. package/dist/ProfileFlameGraph/benchmarks/benchdata/populateData.js +85 -0
  57. package/dist/ProfileFlameGraph/index.js +322 -147
  58. package/dist/ProfileMetricsGraph/hooks/useQueryRange.js +140 -32
  59. package/dist/ProfileMetricsGraph/index.js +515 -256
  60. package/dist/ProfileSelector/CompareButton.js +132 -12
  61. package/dist/ProfileSelector/MetricsGraphSection.js +228 -63
  62. package/dist/ProfileSelector/index.d.ts +1 -1
  63. package/dist/ProfileSelector/index.d.ts.map +1 -1
  64. package/dist/ProfileSelector/index.js +734 -142
  65. package/dist/ProfileSelector/useAutoQuerySelector.d.ts +1 -3
  66. package/dist/ProfileSelector/useAutoQuerySelector.d.ts.map +1 -1
  67. package/dist/ProfileSelector/useAutoQuerySelector.js +280 -132
  68. package/dist/ProfileSource.js +230 -163
  69. package/dist/ProfileTypeSelector/index.js +214 -125
  70. package/dist/ProfileView/components/ActionButtons/GroupByDropdown.js +50 -4
  71. package/dist/ProfileView/components/ActionButtons/SortByDropdown.js +137 -32
  72. package/dist/ProfileView/components/ColorStackLegend.js +182 -54
  73. package/dist/ProfileView/components/DashboardItems/index.js +87 -28
  74. package/dist/ProfileView/components/DashboardLayout/index.js +108 -16
  75. package/dist/ProfileView/components/DiffLegend.js +172 -29
  76. package/dist/ProfileView/components/GroupByLabelsDropdown/index.js +199 -55
  77. package/dist/ProfileView/components/InvertCallStack/index.js +97 -9
  78. package/dist/ProfileView/components/ProfileFilters/filterPresets.js +260 -315
  79. package/dist/ProfileView/components/ProfileFilters/index.js +518 -215
  80. package/dist/ProfileView/components/ProfileFilters/useProfileFilters.js +370 -306
  81. package/dist/ProfileView/components/ProfileFilters/useProfileFiltersUrlState.js +191 -118
  82. package/dist/ProfileView/components/ProfileHeader/index.js +105 -11
  83. package/dist/ProfileView/components/ShareButton/ResultBox.js +119 -16
  84. package/dist/ProfileView/components/ShareButton/index.js +352 -62
  85. package/dist/ProfileView/components/Toolbars/MultiLevelDropdown.d.ts.map +1 -1
  86. package/dist/ProfileView/components/Toolbars/MultiLevelDropdown.js +664 -192
  87. package/dist/ProfileView/components/Toolbars/SwitchMenuItem.js +94 -7
  88. package/dist/ProfileView/components/Toolbars/TableColumnsDropdown.js +196 -155
  89. package/dist/ProfileView/components/Toolbars/index.js +441 -21
  90. package/dist/ProfileView/components/ViewSelector/Dropdown.js +233 -22
  91. package/dist/ProfileView/components/ViewSelector/index.js +186 -82
  92. package/dist/ProfileView/components/VisualizationContainer/index.d.ts.map +1 -1
  93. package/dist/ProfileView/components/VisualizationContainer/index.js +52 -7
  94. package/dist/ProfileView/components/VisualizationPanel.js +185 -8
  95. package/dist/ProfileView/context/DashboardContext.js +74 -26
  96. package/dist/ProfileView/context/ProfileViewContext.js +56 -15
  97. package/dist/ProfileView/hooks/useAutoSelectDimension.js +71 -41
  98. package/dist/ProfileView/hooks/useProfileMetadata.js +50 -18
  99. package/dist/ProfileView/hooks/useResetFlameGraphState.js +31 -10
  100. package/dist/ProfileView/hooks/useResetStateOnProfileTypeChange.js +71 -27
  101. package/dist/ProfileView/hooks/useResetStateOnSeriesChange.js +53 -17
  102. package/dist/ProfileView/hooks/useVisualizationState.js +229 -69
  103. package/dist/ProfileView/index.js +383 -45
  104. package/dist/ProfileView/types/visualization.js +1 -13
  105. package/dist/ProfileView/utils/colorUtils.js +8 -7
  106. package/dist/ProfileViewWithData.js +319 -225
  107. package/dist/QueryControls/index.js +418 -47
  108. package/dist/Sandwich/components/CalleesSection.js +54 -4
  109. package/dist/Sandwich/components/CallersSection.js +97 -27
  110. package/dist/Sandwich/components/TableSection.js +77 -4
  111. package/dist/Sandwich/index.js +125 -12
  112. package/dist/Sandwich/utils/processRowData.js +48 -39
  113. package/dist/SelectWithRefresh/index.js +102 -28
  114. package/dist/SimpleMatchers/Select.js +520 -187
  115. package/dist/SimpleMatchers/index.js +590 -288
  116. package/dist/SourceView/Highlighter.js +230 -70
  117. package/dist/SourceView/LineNo.js +72 -17
  118. package/dist/SourceView/index.js +177 -101
  119. package/dist/SourceView/lang-detector/ext-to-lang.json +798 -798
  120. package/dist/SourceView/lang-detector/index.js +28 -14
  121. package/dist/SourceView/useSelectedLineRange.js +72 -20
  122. package/dist/Table/ColorCell.js +42 -1
  123. package/dist/Table/ColumnsVisibility.js +114 -6
  124. package/dist/Table/MoreDropdown.js +107 -21
  125. package/dist/Table/TableContextMenu.js +144 -134
  126. package/dist/Table/TableContextMenuWrapper.js +59 -14
  127. package/dist/Table/hooks/useColorManagement.js +58 -16
  128. package/dist/Table/hooks/useTableConfiguration.d.ts.map +1 -1
  129. package/dist/Table/hooks/useTableConfiguration.js +323 -167
  130. package/dist/Table/index.js +217 -123
  131. package/dist/Table/utils/functions.js +169 -144
  132. package/dist/Table/utils/topAndBottomExpandedRowModel.js +69 -52
  133. package/dist/TimelineGuide/index.js +209 -16
  134. package/dist/TopTable/benchmarks/benchdata/populateData.js +91 -0
  135. package/dist/TopTable/index.js +325 -121
  136. package/dist/contexts/LabelsQueryProvider.js +94 -32
  137. package/dist/contexts/UnifiedLabelsContext.js +114 -49
  138. package/dist/contexts/utils.js +37 -15
  139. package/dist/hooks/urlParsers.js +27 -15
  140. package/dist/hooks/useColorBy.js +47 -10
  141. package/dist/hooks/useCompareModeMeta.js +112 -62
  142. package/dist/hooks/useDashboardItems.js +52 -11
  143. package/dist/hooks/useLabels.js +295 -52
  144. package/dist/hooks/useQueryState.d.ts +1 -1
  145. package/dist/hooks/useQueryState.d.ts.map +1 -1
  146. package/dist/hooks/useQueryState.js +375 -329
  147. package/dist/index.js +11 -6
  148. package/dist/testdata/fg-diff.json +3750 -0
  149. package/dist/testdata/fg-simple.json +1879 -0
  150. package/dist/testdata/link_data.json +56 -0
  151. package/dist/testdata/tabular.json +30 -0
  152. package/dist/testdata/test_flamegraph.json +26846 -0
  153. package/dist/testdata/test_graph.json +53 -0
  154. package/dist/useDelayedLoader.js +32 -18
  155. package/dist/useGrpcQuery/index.js +71 -11
  156. package/dist/useHasProfileData.js +90 -12
  157. package/dist/useQuery.js +205 -64
  158. package/dist/useSumBy.d.ts.map +1 -1
  159. package/dist/useSumBy.js +294 -138
  160. package/dist/utils.js +62 -30
  161. package/package.json +9 -9
  162. package/src/GraphTooltipArrow/index.tsx +3 -0
  163. package/src/MatchersInput/SuggestionsList.test.tsx +70 -0
  164. package/src/MatchersInput/SuggestionsList.tsx +11 -10
  165. package/src/MatchersInput/index.tsx +1 -1
  166. package/src/MetricsGraph/MetricsTooltip/index.tsx +22 -34
  167. package/src/PreSelectedMatchers/index.tsx +3 -0
  168. package/src/ProfileExplorer/ProfileExplorerCompare.tsx +9 -2
  169. package/src/ProfileFlameGraph/FlameGraphArrow/TextWithEllipsis.tsx +3 -0
  170. package/src/ProfileFlameGraph/FlameGraphArrow/TooltipContext.tsx +3 -0
  171. package/src/ProfileFlameGraph/FlameGraphArrow/ZoomControls.tsx +3 -0
  172. package/src/ProfileFlameGraph/FlameGraphArrow/useBatchedRendering.ts +3 -0
  173. package/src/ProfileSelector/index.tsx +31 -9
  174. package/src/ProfileSelector/useAutoQuerySelector.ts +64 -42
  175. package/src/ProfileView/components/Toolbars/MultiLevelDropdown.tsx +3 -0
  176. package/src/ProfileView/components/VisualizationContainer/index.tsx +3 -0
  177. package/src/Table/hooks/useTableConfiguration.tsx +7 -13
  178. package/src/hooks/useQueryState.ts +18 -3
  179. package/src/useDelayedLoader.ts +10 -10
  180. package/src/useSumBy.ts +12 -18
  181. package/dist/ProfileView/components/ProfileFilters/useProfileFiltersUrlState.test.js +0 -455
  182. package/dist/hooks/useQueryState.test.js +0 -868
@@ -1,4 +1,20 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
10
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
14
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
15
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
16
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
17
+ import { c as _c } from "react-compiler-runtime";
2
18
  // Copyright 2022 The Parca Authors
3
19
  // Licensed under the Apache License, Version 2.0 (the "License");
4
20
  // you may not use this file except in compliance with the License.
@@ -11,14 +27,15 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
11
27
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
28
  // See the License for the specific language governing permissions and
13
29
  // limitations under the License.
14
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
30
+
31
+ import { useCallback, useMemo, useRef, useState } from 'react';
15
32
  import { useQueryState as useNuqsQueryState } from 'nuqs';
16
33
  import { DateTimeRange, IconButton, useGrpcMetadata, useParcaContext } from '@parca/components';
17
34
  import { CloseIcon } from '@parca/icons';
18
35
  import { Query } from '@parca/parser';
19
36
  import { TEST_IDS, testId } from '@parca/test-utils';
20
37
  import { millisToProtoTimestamp } from '@parca/utilities';
21
- import { useProfileFilters, } from '../ProfileView/components/ProfileFilters/useProfileFilters';
38
+ import { useProfileFilters } from '../ProfileView/components/ProfileFilters/useProfileFilters';
22
39
  import { QueryControls } from '../QueryControls';
23
40
  import { LabelsQueryProvider, useLabelsQueryProvider } from '../contexts/LabelsQueryProvider';
24
41
  import { UnifiedLabelsProvider } from '../contexts/UnifiedLabelsContext';
@@ -28,154 +45,729 @@ import { useQueryState } from '../hooks/useQueryState';
28
45
  import useGrpcQuery from '../useGrpcQuery';
29
46
  import { MetricsGraphSection } from './MetricsGraphSection';
30
47
  import { useAutoQuerySelector } from './useAutoQuerySelector';
31
- export const useProfileTypes = (client, start, end) => {
32
- const metadata = useGrpcMetadata();
33
- const metadataString = useMemo(() => JSON.stringify(metadata), [metadata]);
34
- const request = {};
48
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
49
+ export var useProfileTypes = function useProfileTypes(client, start, end) {
50
+ var $ = _c(24);
51
+ var metadata = useGrpcMetadata();
52
+ var t0;
53
+ if ($[0] !== metadata) {
54
+ t0 = JSON.stringify(metadata);
55
+ $[0] = metadata;
56
+ $[1] = t0;
57
+ } else {
58
+ t0 = $[1];
59
+ }
60
+ var metadataString = t0;
61
+ var request;
62
+ if ($[2] !== end || $[3] !== start) {
63
+ request = {};
35
64
  if (start != null && end != null) {
36
- request.start = millisToProtoTimestamp(start);
37
- request.end = millisToProtoTimestamp(end);
65
+ var _t;
66
+ if ($[5] !== start) {
67
+ _t = millisToProtoTimestamp(start);
68
+ $[5] = start;
69
+ $[6] = _t;
70
+ } else {
71
+ _t = $[6];
72
+ }
73
+ request.start = _t;
74
+ var _t2;
75
+ if ($[7] !== end) {
76
+ _t2 = millisToProtoTimestamp(end);
77
+ $[7] = end;
78
+ $[8] = _t2;
79
+ } else {
80
+ _t2 = $[8];
81
+ }
82
+ request.end = _t2;
38
83
  }
39
- const { isLoading, data, error } = useGrpcQuery({
40
- key: ['profileTypes', metadataString, start, end],
41
- queryFn: async (abort) => {
42
- const { response } = await client.profileTypes(request, {
84
+ $[2] = end;
85
+ $[3] = start;
86
+ $[4] = request;
87
+ } else {
88
+ request = $[4];
89
+ }
90
+ var t1;
91
+ if ($[9] !== end || $[10] !== metadataString || $[11] !== start) {
92
+ t1 = ["profileTypes", metadataString, start, end];
93
+ $[9] = end;
94
+ $[10] = metadataString;
95
+ $[11] = start;
96
+ $[12] = t1;
97
+ } else {
98
+ t1 = $[12];
99
+ }
100
+ var t2;
101
+ if ($[13] !== client || $[14] !== metadata || $[15] !== request) {
102
+ t2 = /*#__PURE__*/function () {
103
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(abort) {
104
+ var _yield$client$profile, response;
105
+ return _regenerator().w(function (_context) {
106
+ while (1) switch (_context.n) {
107
+ case 0:
108
+ _context.n = 1;
109
+ return client.profileTypes(request, {
43
110
  meta: metadata,
44
- abort,
45
- });
46
- return response;
47
- },
48
- });
49
- return { loading: isLoading, data, error: error };
111
+ abort: abort
112
+ });
113
+ case 1:
114
+ _yield$client$profile = _context.v;
115
+ response = _yield$client$profile.response;
116
+ return _context.a(2, response);
117
+ }
118
+ }, _callee);
119
+ }));
120
+ return function t2(_x) {
121
+ return _ref.apply(this, arguments);
122
+ };
123
+ }();
124
+ $[13] = client;
125
+ $[14] = metadata;
126
+ $[15] = request;
127
+ $[16] = t2;
128
+ } else {
129
+ t2 = $[16];
130
+ }
131
+ var t3;
132
+ if ($[17] !== t1 || $[18] !== t2) {
133
+ t3 = {
134
+ key: t1,
135
+ queryFn: t2
136
+ };
137
+ $[17] = t1;
138
+ $[18] = t2;
139
+ $[19] = t3;
140
+ } else {
141
+ t3 = $[19];
142
+ }
143
+ var _useGrpcQuery = useGrpcQuery(t3),
144
+ isLoading = _useGrpcQuery.isLoading,
145
+ data = _useGrpcQuery.data,
146
+ error = _useGrpcQuery.error;
147
+ var t4 = error;
148
+ var t5;
149
+ if ($[20] !== data || $[21] !== isLoading || $[22] !== t4) {
150
+ t5 = {
151
+ loading: isLoading,
152
+ data: data,
153
+ error: t4
154
+ };
155
+ $[20] = data;
156
+ $[21] = isLoading;
157
+ $[22] = t4;
158
+ $[23] = t5;
159
+ } else {
160
+ t5 = $[23];
161
+ }
162
+ return t5;
50
163
  };
51
- const ProfileSelector = ({ queryClient, closeProfile, enforcedProfileName, comparing, navigateTo, showMetricsGraph = true, showSumBySelector = true, showProfileTypeSelector = true, setDisplayHideMetricsGraphButton, suffix, onSearchHook, }) => {
52
- const { externalProfilerComponent, additionalMetricsGraph } = useParcaContext();
53
- const [queryBrowserMode, setRawQueryBrowserMode] = useNuqsQueryState('query_browser_mode', stringParam);
54
- const setQueryBrowserMode = useCallback((mode) => {
55
- void setRawQueryBrowserMode(mode);
56
- }, [setRawQueryBrowserMode]);
57
- const profileFilterDefaults = externalProfilerComponent?.profileFilterDefaults;
58
- const { forceApplyFilters } = useProfileFilters();
59
- const handleProfileTypeChange = useCallback(() => {
60
- if (profileFilterDefaults != null && profileFilterDefaults.length > 0) {
61
- forceApplyFilters(profileFilterDefaults);
62
- }
63
- }, [forceApplyFilters, profileFilterDefaults]);
64
- // Use the new useQueryState hook - reads directly from URL params
65
- const { querySelection, draftSelection, setDraftExpression, setDraftTimeRange, setDraftSumBy, setDraftProfileName, setDraftMatchers, commitDraft, profileSelection, setProfileSelection, sumByLoading, draftParsedQuery, } = useQueryState({ suffix, onProfileTypeChange: handleProfileTypeChange });
66
- // Use draft state for local state instead of committed state
67
- const [timeRangeSelection, setTimeRangeSelection] = useState(DateTimeRange.fromRangeKey(draftSelection.timeSelection, draftSelection.from, draftSelection.to));
68
- // Sync local timeRangeSelection when URL state changes externally (e.g., "Switch to 1 minute" button)
69
- useEffect(() => {
70
- setTimeRangeSelection(DateTimeRange.fromRangeKey(querySelection.timeSelection, querySelection.from, querySelection.to));
71
- }, [querySelection.timeSelection, querySelection.from, querySelection.to]);
72
- const [queryExpressionString, setQueryExpressionString] = useState(draftSelection.expression);
73
- const [advancedModeForQueryBrowser, setAdvancedModeForQueryBrowser] = useState(queryBrowserMode === 'advanced');
74
- // Handler to update draft when time range changes
75
- const handleTimeRangeChange = useCallback((range) => {
76
- setTimeRangeSelection(range);
77
- setDraftTimeRange(range.getFromMs(), range.getToMs(), range.getRangeKey());
78
- }, [setDraftTimeRange]);
79
- const profileType = useMemo(() => {
80
- return Query.parse(queryExpressionString).profileType();
81
- }, [queryExpressionString]);
82
- const from = timeRangeSelection.getFromMs();
83
- const to = timeRangeSelection.getToMs();
84
- const { loading: profileTypesLoading, data: profileTypesData, error, } = useProfileTypes(queryClient, from, to);
85
- const { result } = useLabelNames(queryClient, profileType.toString(), from, to);
86
- const labels = useMemo(() => {
87
- return result.response?.labelNames === undefined ? [] : result.response.labelNames;
88
- }, [result]);
89
- useEffect(() => {
90
- if (enforcedProfileName !== '') {
91
- const [q, changed] = Query.parse(querySelection.expression).setProfileName(enforcedProfileName);
92
- if (changed) {
93
- setQueryExpressionString(q.toString());
94
- return;
95
- }
96
- }
164
+ var ProfileSelector = function ProfileSelector(t0) {
165
+ var $ = _c(132);
166
+ var queryClient = t0.queryClient,
167
+ closeProfile = t0.closeProfile,
168
+ enforcedProfileName = t0.enforcedProfileName,
169
+ comparing = t0.comparing,
170
+ t1 = t0.showMetricsGraph,
171
+ t2 = t0.showSumBySelector,
172
+ t3 = t0.showProfileTypeSelector,
173
+ setDisplayHideMetricsGraphButton = t0.setDisplayHideMetricsGraphButton,
174
+ suffix = t0.suffix,
175
+ onSearchHook = t0.onSearchHook;
176
+ var showMetricsGraph = t1 === undefined ? true : t1;
177
+ var showSumBySelector = t2 === undefined ? true : t2;
178
+ var showProfileTypeSelector = t3 === undefined ? true : t3;
179
+ var _useParcaContext = useParcaContext(),
180
+ externalProfilerComponent = _useParcaContext.externalProfilerComponent,
181
+ additionalMetricsGraph = _useParcaContext.additionalMetricsGraph;
182
+ var _useNuqsQueryState = useNuqsQueryState("query_browser_mode", stringParam),
183
+ _useNuqsQueryState2 = _slicedToArray(_useNuqsQueryState, 2),
184
+ queryBrowserMode = _useNuqsQueryState2[0],
185
+ setRawQueryBrowserMode = _useNuqsQueryState2[1];
186
+ var t4;
187
+ if ($[0] !== setRawQueryBrowserMode) {
188
+ t4 = function t4(mode) {
189
+ setRawQueryBrowserMode(mode);
190
+ };
191
+ $[0] = setRawQueryBrowserMode;
192
+ $[1] = t4;
193
+ } else {
194
+ t4 = $[1];
195
+ }
196
+ var setQueryBrowserMode = t4;
197
+ var profileFilterDefaults = externalProfilerComponent === null || externalProfilerComponent === void 0 ? void 0 : externalProfilerComponent.profileFilterDefaults;
198
+ var _useProfileFilters = useProfileFilters(),
199
+ forceApplyFilters = _useProfileFilters.forceApplyFilters;
200
+ var t5;
201
+ if ($[2] !== forceApplyFilters || $[3] !== profileFilterDefaults) {
202
+ t5 = function t5() {
203
+ if (profileFilterDefaults != null && profileFilterDefaults.length > 0) {
204
+ forceApplyFilters(profileFilterDefaults);
205
+ }
206
+ };
207
+ $[2] = forceApplyFilters;
208
+ $[3] = profileFilterDefaults;
209
+ $[4] = t5;
210
+ } else {
211
+ t5 = $[4];
212
+ }
213
+ var handleProfileTypeChange = t5;
214
+ var t6;
215
+ if ($[5] !== handleProfileTypeChange || $[6] !== suffix) {
216
+ t6 = {
217
+ suffix: suffix,
218
+ onProfileTypeChange: handleProfileTypeChange
219
+ };
220
+ $[5] = handleProfileTypeChange;
221
+ $[6] = suffix;
222
+ $[7] = t6;
223
+ } else {
224
+ t6 = $[7];
225
+ }
226
+ var _useQueryState = useQueryState(t6),
227
+ querySelection = _useQueryState.querySelection,
228
+ draftSelection = _useQueryState.draftSelection,
229
+ setDraftExpression = _useQueryState.setDraftExpression,
230
+ setDraftTimeRange = _useQueryState.setDraftTimeRange,
231
+ setDraftSumBy = _useQueryState.setDraftSumBy,
232
+ setDraftProfileName = _useQueryState.setDraftProfileName,
233
+ setDraftMatchers = _useQueryState.setDraftMatchers,
234
+ commitDraft = _useQueryState.commitDraft,
235
+ profileSelection = _useQueryState.profileSelection,
236
+ setProfileSelection = _useQueryState.setProfileSelection,
237
+ sumByLoading = _useQueryState.sumByLoading,
238
+ draftParsedQuery = _useQueryState.draftParsedQuery;
239
+ var t7;
240
+ if ($[8] !== draftSelection.from || $[9] !== draftSelection.timeSelection || $[10] !== draftSelection.to) {
241
+ t7 = DateTimeRange.fromRangeKey(draftSelection.timeSelection, draftSelection.from, draftSelection.to);
242
+ $[8] = draftSelection.from;
243
+ $[9] = draftSelection.timeSelection;
244
+ $[10] = draftSelection.to;
245
+ $[11] = t7;
246
+ } else {
247
+ t7 = $[11];
248
+ }
249
+ var _useState = useState(t7),
250
+ _useState2 = _slicedToArray(_useState, 2),
251
+ timeRangeSelection = _useState2[0],
252
+ setTimeRangeSelection = _useState2[1];
253
+ var _useState3 = useState(querySelection.timeSelection),
254
+ _useState4 = _slicedToArray(_useState3, 2),
255
+ prevQueryTimeSelection = _useState4[0],
256
+ setPrevQueryTimeSelection = _useState4[1];
257
+ var _useState5 = useState(querySelection.from),
258
+ _useState6 = _slicedToArray(_useState5, 2),
259
+ prevQueryFrom = _useState6[0],
260
+ setPrevQueryFrom = _useState6[1];
261
+ var _useState7 = useState(querySelection.to),
262
+ _useState8 = _slicedToArray(_useState7, 2),
263
+ prevQueryTo = _useState8[0],
264
+ setPrevQueryTo = _useState8[1];
265
+ if (prevQueryTimeSelection !== querySelection.timeSelection || prevQueryFrom !== querySelection.from || prevQueryTo !== querySelection.to) {
266
+ setPrevQueryTimeSelection(querySelection.timeSelection);
267
+ setPrevQueryFrom(querySelection.from);
268
+ setPrevQueryTo(querySelection.to);
269
+ setTimeRangeSelection(DateTimeRange.fromRangeKey(querySelection.timeSelection, querySelection.from, querySelection.to));
270
+ }
271
+ var _useState9 = useState(draftSelection.expression),
272
+ _useState0 = _slicedToArray(_useState9, 2),
273
+ queryExpressionString = _useState0[0],
274
+ setQueryExpressionString = _useState0[1];
275
+ var _useState1 = useState(queryBrowserMode === "advanced"),
276
+ _useState10 = _slicedToArray(_useState1, 2),
277
+ advancedModeForQueryBrowser = _useState10[0],
278
+ setAdvancedModeForQueryBrowser = _useState10[1];
279
+ var t8;
280
+ if ($[12] !== setDraftTimeRange) {
281
+ t8 = function t8(range) {
282
+ setTimeRangeSelection(range);
283
+ setDraftTimeRange(range.getFromMs(), range.getToMs(), range.getRangeKey());
284
+ };
285
+ $[12] = setDraftTimeRange;
286
+ $[13] = t8;
287
+ } else {
288
+ t8 = $[13];
289
+ }
290
+ var handleTimeRangeChange = t8;
291
+ var t9;
292
+ if ($[14] !== queryExpressionString) {
293
+ t9 = Query.parse(queryExpressionString).profileType();
294
+ $[14] = queryExpressionString;
295
+ $[15] = t9;
296
+ } else {
297
+ t9 = $[15];
298
+ }
299
+ var profileType = t9;
300
+ var t10;
301
+ if ($[16] !== timeRangeSelection) {
302
+ t10 = timeRangeSelection.getFromMs();
303
+ $[16] = timeRangeSelection;
304
+ $[17] = t10;
305
+ } else {
306
+ t10 = $[17];
307
+ }
308
+ var from = t10;
309
+ var t11;
310
+ if ($[18] !== timeRangeSelection) {
311
+ t11 = timeRangeSelection.getToMs();
312
+ $[18] = timeRangeSelection;
313
+ $[19] = t11;
314
+ } else {
315
+ t11 = $[19];
316
+ }
317
+ var to = t11;
318
+ var _useProfileTypes = useProfileTypes(queryClient, from, to),
319
+ profileTypesLoading = _useProfileTypes.loading,
320
+ profileTypesData = _useProfileTypes.data,
321
+ error = _useProfileTypes.error;
322
+ var t12;
323
+ if ($[20] !== profileType) {
324
+ t12 = profileType.toString();
325
+ $[20] = profileType;
326
+ $[21] = t12;
327
+ } else {
328
+ t12 = $[21];
329
+ }
330
+ var _useLabelNames = useLabelNames(queryClient, t12, from, to),
331
+ result = _useLabelNames.result;
332
+ var t13;
333
+ if ($[22] !== result.response) {
334
+ var _result$response;
335
+ t13 = ((_result$response = result.response) === null || _result$response === void 0 ? void 0 : _result$response.labelNames) === undefined ? [] : result.response.labelNames;
336
+ $[22] = result.response;
337
+ $[23] = t13;
338
+ } else {
339
+ t13 = $[23];
340
+ }
341
+ var labels = t13;
342
+ var _useState11 = useState(enforcedProfileName),
343
+ _useState12 = _slicedToArray(_useState11, 2),
344
+ prevEnforcedProfileName = _useState12[0],
345
+ setPrevEnforcedProfileName = _useState12[1];
346
+ var _useState13 = useState(querySelection.expression),
347
+ _useState14 = _slicedToArray(_useState13, 2),
348
+ prevQueryExpression = _useState14[0],
349
+ setPrevQueryExpression = _useState14[1];
350
+ if (prevEnforcedProfileName !== enforcedProfileName || prevQueryExpression !== querySelection.expression) {
351
+ setPrevEnforcedProfileName(enforcedProfileName);
352
+ setPrevQueryExpression(querySelection.expression);
353
+ if (enforcedProfileName !== "") {
354
+ var _Query$parse$setProfi = Query.parse(querySelection.expression).setProfileName(enforcedProfileName),
355
+ _Query$parse$setProfi2 = _slicedToArray(_Query$parse$setProfi, 2),
356
+ q = _Query$parse$setProfi2[0],
357
+ changed = _Query$parse$setProfi2[1];
358
+ if (changed) {
359
+ setQueryExpressionString(q.toString());
360
+ } else {
97
361
  setQueryExpressionString(querySelection.expression);
98
- }, [enforcedProfileName, querySelection.expression]);
99
- const enforcedProfileNameQuery = () => {
100
- const pq = Query.parse(queryExpressionString);
101
- const [q] = pq.setProfileName(enforcedProfileName);
102
- return q;
362
+ }
363
+ } else {
364
+ setQueryExpressionString(querySelection.expression);
365
+ }
366
+ }
367
+ var t14;
368
+ if ($[24] !== enforcedProfileName || $[25] !== queryExpressionString) {
369
+ t14 = function t14() {
370
+ var pq = Query.parse(queryExpressionString);
371
+ var _pq$setProfileName = pq.setProfileName(enforcedProfileName),
372
+ _pq$setProfileName2 = _slicedToArray(_pq$setProfileName, 1),
373
+ q_0 = _pq$setProfileName2[0];
374
+ return q_0;
103
375
  };
104
- const query = enforcedProfileName !== '' ? enforcedProfileNameQuery() : Query.parse(queryExpressionString);
105
- const selectedProfileName = query.profileName();
106
- const setQueryExpression = (updateTs = false) => {
107
- if (onSearchHook != null) {
108
- onSearchHook();
109
- }
110
- // When updateTs is true, re-evaluate the time range to current values
111
- if (updateTs) {
112
- // Force re-evaluation of time range (important for relative ranges like "last 15 minutes")
113
- const currentFrom = timeRangeSelection.getFromMs(true);
114
- const currentTo = timeRangeSelection.getToMs(true);
115
- const currentRangeKey = timeRangeSelection.getRangeKey();
116
- // Commit with refreshed time range
117
- commitDraft({
118
- from: currentFrom,
119
- to: currentTo,
120
- timeSelection: currentRangeKey,
121
- });
122
- }
123
- else {
124
- // Commit the draft with existing values
125
- commitDraft();
126
- }
376
+ $[24] = enforcedProfileName;
377
+ $[25] = queryExpressionString;
378
+ $[26] = t14;
379
+ } else {
380
+ t14 = $[26];
381
+ }
382
+ var enforcedProfileNameQuery = t14;
383
+ var query;
384
+ var t15;
385
+ if ($[27] !== enforcedProfileName || $[28] !== enforcedProfileNameQuery || $[29] !== queryExpressionString) {
386
+ query = enforcedProfileName !== "" ? enforcedProfileNameQuery() : Query.parse(queryExpressionString);
387
+ t15 = query.profileName();
388
+ $[27] = enforcedProfileName;
389
+ $[28] = enforcedProfileNameQuery;
390
+ $[29] = queryExpressionString;
391
+ $[30] = query;
392
+ $[31] = t15;
393
+ } else {
394
+ query = $[30];
395
+ t15 = $[31];
396
+ }
397
+ var selectedProfileName = t15;
398
+ var t16;
399
+ if ($[32] !== commitDraft || $[33] !== onSearchHook || $[34] !== timeRangeSelection) {
400
+ t16 = function t16(t17) {
401
+ var updateTs = t17 === undefined ? false : t17;
402
+ if (onSearchHook != null) {
403
+ onSearchHook();
404
+ }
405
+ if (updateTs) {
406
+ var currentFrom = timeRangeSelection.getFromMs(true);
407
+ var currentTo = timeRangeSelection.getToMs(true);
408
+ var currentRangeKey = timeRangeSelection.getRangeKey();
409
+ commitDraft({
410
+ from: currentFrom,
411
+ to: currentTo,
412
+ timeSelection: currentRangeKey
413
+ });
414
+ } else {
415
+ commitDraft();
416
+ }
127
417
  };
128
- const setMatchersString = (matchers) => {
129
- // Update draft state only
130
- setDraftMatchers(matchers);
131
- setQueryExpressionString(`${selectedProfileName}{${matchers}}`);
418
+ $[32] = commitDraft;
419
+ $[33] = onSearchHook;
420
+ $[34] = timeRangeSelection;
421
+ $[35] = t16;
422
+ } else {
423
+ t16 = $[35];
424
+ }
425
+ var setQueryExpression = t16;
426
+ var t17;
427
+ if ($[36] !== selectedProfileName || $[37] !== setDraftMatchers) {
428
+ t17 = function t17(matchers) {
429
+ setDraftMatchers(matchers);
430
+ setQueryExpressionString("".concat(selectedProfileName, "{").concat(matchers, "}"));
132
431
  };
133
- const setProfileName = (profileName) => {
134
- if (profileName === undefined) {
135
- return;
136
- }
137
- // Update draft state only
138
- setDraftProfileName(profileName);
139
- const [newQuery, changed] = query.setProfileName(profileName);
140
- if (changed) {
141
- const q = newQuery.toString();
142
- setQueryExpressionString(q);
143
- }
432
+ $[36] = selectedProfileName;
433
+ $[37] = setDraftMatchers;
434
+ $[38] = t17;
435
+ } else {
436
+ t17 = $[38];
437
+ }
438
+ var setMatchersString = t17;
439
+ var t18;
440
+ if ($[39] !== query || $[40] !== setDraftProfileName) {
441
+ t18 = function t18(profileName) {
442
+ if (profileName === undefined) {
443
+ return;
444
+ }
445
+ setDraftProfileName(profileName);
446
+ var _query$setProfileName = query.setProfileName(profileName),
447
+ _query$setProfileName2 = _slicedToArray(_query$setProfileName, 2),
448
+ newQuery = _query$setProfileName2[0],
449
+ changed_0 = _query$setProfileName2[1];
450
+ if (changed_0) {
451
+ var q_1 = newQuery.toString();
452
+ setQueryExpressionString(q_1);
453
+ }
144
454
  };
145
- useAutoQuerySelector({
146
- selectedProfileName,
147
- profileTypesData,
148
- setProfileName,
149
- setQueryExpression,
150
- querySelection,
151
- navigateTo,
152
- loading: sumByLoading,
153
- defaultProfileType: externalProfilerComponent?.defaultProfileType,
455
+ $[39] = query;
456
+ $[40] = setDraftProfileName;
457
+ $[41] = t18;
458
+ } else {
459
+ t18 = $[41];
460
+ }
461
+ var setProfileName = t18;
462
+ var t19 = externalProfilerComponent === null || externalProfilerComponent === void 0 ? void 0 : externalProfilerComponent.defaultProfileType;
463
+ var t20;
464
+ if ($[42] !== profileTypesData || $[43] !== querySelection || $[44] !== selectedProfileName || $[45] !== setProfileName || $[46] !== setQueryExpression || $[47] !== sumByLoading || $[48] !== t19) {
465
+ t20 = {
466
+ selectedProfileName: selectedProfileName,
467
+ profileTypesData: profileTypesData,
468
+ setProfileName: setProfileName,
469
+ setQueryExpression: setQueryExpression,
470
+ querySelection: querySelection,
471
+ loading: sumByLoading,
472
+ defaultProfileType: t19
473
+ };
474
+ $[42] = profileTypesData;
475
+ $[43] = querySelection;
476
+ $[44] = selectedProfileName;
477
+ $[45] = setProfileName;
478
+ $[46] = setQueryExpression;
479
+ $[47] = sumByLoading;
480
+ $[48] = t19;
481
+ $[49] = t20;
482
+ } else {
483
+ t20 = $[49];
484
+ }
485
+ useAutoQuerySelector(t20);
486
+ var searchDisabled = queryExpressionString === undefined || queryExpressionString === "" || queryExpressionString === "{}";
487
+ var queryBrowserRef = useRef(null);
488
+ var sumByRef = useRef(null);
489
+ var t21;
490
+ if ($[50] !== additionalMetricsGraph || $[51] !== commitDraft || $[52] !== handleTimeRangeChange || $[53] !== queryClient || $[54] !== querySelection || $[55] !== setQueryExpression || $[56] !== suffix || $[57] !== timeRangeSelection) {
491
+ t21 = additionalMetricsGraph === null || additionalMetricsGraph === void 0 ? void 0 : additionalMetricsGraph({
492
+ querySelection: querySelection,
493
+ queryClient: queryClient,
494
+ suffix: suffix,
495
+ timeRange: timeRangeSelection,
496
+ onTimeRangeChange: handleTimeRangeChange,
497
+ commitTimeRange: function commitTimeRange() {
498
+ return setQueryExpression(true);
499
+ },
500
+ selectTimeRange: function selectTimeRange(range_0) {
501
+ commitDraft({
502
+ from: range_0.getFromMs(),
503
+ to: range_0.getToMs(),
504
+ timeSelection: range_0.getRangeKey()
505
+ });
506
+ }
507
+ });
508
+ $[50] = additionalMetricsGraph;
509
+ $[51] = commitDraft;
510
+ $[52] = handleTimeRangeChange;
511
+ $[53] = queryClient;
512
+ $[54] = querySelection;
513
+ $[55] = setQueryExpression;
514
+ $[56] = suffix;
515
+ $[57] = timeRangeSelection;
516
+ $[58] = t21;
517
+ } else {
518
+ t21 = $[58];
519
+ }
520
+ var t22;
521
+ if ($[59] !== profileType || $[60] !== selectedProfileName) {
522
+ t22 = selectedProfileName !== null && selectedProfileName !== void 0 ? selectedProfileName : profileType.toString();
523
+ $[59] = profileType;
524
+ $[60] = selectedProfileName;
525
+ $[61] = t22;
526
+ } else {
527
+ t22 = $[61];
528
+ }
529
+ var t23;
530
+ if ($[62] !== timeRangeSelection) {
531
+ t23 = timeRangeSelection.getFromMs();
532
+ $[62] = timeRangeSelection;
533
+ $[63] = t23;
534
+ } else {
535
+ t23 = $[63];
536
+ }
537
+ var t24;
538
+ if ($[64] !== timeRangeSelection) {
539
+ t24 = timeRangeSelection.getToMs();
540
+ $[64] = timeRangeSelection;
541
+ $[65] = t24;
542
+ } else {
543
+ t24 = $[65];
544
+ }
545
+ var t25;
546
+ if ($[66] !== draftSelection.sumBy) {
547
+ var _draftSelection$sumBy;
548
+ t25 = (_draftSelection$sumBy = draftSelection.sumBy) !== null && _draftSelection$sumBy !== void 0 ? _draftSelection$sumBy : [];
549
+ $[66] = draftSelection.sumBy;
550
+ $[67] = t25;
551
+ } else {
552
+ t25 = $[67];
553
+ }
554
+ var t26;
555
+ if ($[68] !== advancedModeForQueryBrowser || $[69] !== commitDraft || $[70] !== draftParsedQuery || $[71] !== draftSelection || $[72] !== error || $[73] !== externalProfilerComponent || $[74] !== handleTimeRangeChange || $[75] !== labels || $[76] !== profileType || $[77] !== profileTypesData || $[78] !== profileTypesLoading || $[79] !== query || $[80] !== queryClient || $[81] !== searchDisabled || $[82] !== selectedProfileName || $[83] !== setDraftMatchers || $[84] !== setDraftSumBy || $[85] !== setMatchersString || $[86] !== setProfileName || $[87] !== setQueryBrowserMode || $[88] !== setQueryExpression || $[89] !== showProfileTypeSelector || $[90] !== showSumBySelector || $[91] !== sumByLoading || $[92] !== t25 || $[93] !== timeRangeSelection) {
556
+ t26 = /*#__PURE__*/_jsx(LabelsSource, {
557
+ children: /*#__PURE__*/_jsx(QueryControls, {
558
+ showProfileTypeSelector: showProfileTypeSelector,
559
+ showSumBySelector: showSumBySelector,
560
+ profileTypesData: profileTypesData,
561
+ profileTypesLoading: profileTypesLoading,
562
+ selectedProfileName: selectedProfileName,
563
+ setProfileName: setProfileName,
564
+ setMatchersString: setMatchersString,
565
+ setQueryExpression: setQueryExpression,
566
+ query: query,
567
+ queryBrowserRef: queryBrowserRef,
568
+ timeRangeSelection: timeRangeSelection,
569
+ setTimeRangeSelection: handleTimeRangeChange,
570
+ searchDisabled: searchDisabled,
571
+ setQueryBrowserMode: setQueryBrowserMode,
572
+ advancedModeForQueryBrowser: advancedModeForQueryBrowser,
573
+ setAdvancedModeForQueryBrowser: setAdvancedModeForQueryBrowser,
574
+ queryClient: queryClient,
575
+ sumByRef: sumByRef,
576
+ labels: labels,
577
+ sumBySelection: t25,
578
+ sumBySelectionLoading: sumByLoading,
579
+ setUserSumBySelection: setDraftSumBy,
580
+ profileType: profileType,
581
+ profileTypesError: error,
582
+ externalProfilerComponent: externalProfilerComponent,
583
+ draftSelection: draftSelection,
584
+ setDraftMatchers: setDraftMatchers,
585
+ draftParsedQuery: draftParsedQuery,
586
+ commitDraft: commitDraft
587
+ })
588
+ });
589
+ $[68] = advancedModeForQueryBrowser;
590
+ $[69] = commitDraft;
591
+ $[70] = draftParsedQuery;
592
+ $[71] = draftSelection;
593
+ $[72] = error;
594
+ $[73] = externalProfilerComponent;
595
+ $[74] = handleTimeRangeChange;
596
+ $[75] = labels;
597
+ $[76] = profileType;
598
+ $[77] = profileTypesData;
599
+ $[78] = profileTypesLoading;
600
+ $[79] = query;
601
+ $[80] = queryClient;
602
+ $[81] = searchDisabled;
603
+ $[82] = selectedProfileName;
604
+ $[83] = setDraftMatchers;
605
+ $[84] = setDraftSumBy;
606
+ $[85] = setMatchersString;
607
+ $[86] = setProfileName;
608
+ $[87] = setQueryBrowserMode;
609
+ $[88] = setQueryExpression;
610
+ $[89] = showProfileTypeSelector;
611
+ $[90] = showSumBySelector;
612
+ $[91] = sumByLoading;
613
+ $[92] = t25;
614
+ $[93] = timeRangeSelection;
615
+ $[94] = t26;
616
+ } else {
617
+ t26 = $[94];
618
+ }
619
+ var t27;
620
+ if ($[95] !== query || $[96] !== queryClient || $[97] !== setMatchersString || $[98] !== setQueryExpression || $[99] !== suffix || $[100] !== t22 || $[101] !== t23 || $[102] !== t24 || $[103] !== t26) {
621
+ t27 = /*#__PURE__*/_jsx(LabelsQueryProvider, {
622
+ setMatchersString: setMatchersString,
623
+ runQuery: setQueryExpression,
624
+ currentQuery: query,
625
+ profileType: t22,
626
+ queryClient: queryClient,
627
+ start: t23,
628
+ end: t24,
629
+ suffix: suffix,
630
+ children: t26
631
+ });
632
+ $[95] = query;
633
+ $[96] = queryClient;
634
+ $[97] = setMatchersString;
635
+ $[98] = setQueryExpression;
636
+ $[99] = suffix;
637
+ $[100] = t22;
638
+ $[101] = t23;
639
+ $[102] = t24;
640
+ $[103] = t26;
641
+ $[104] = t27;
642
+ } else {
643
+ t27 = $[104];
644
+ }
645
+ var t28;
646
+ if ($[105] !== closeProfile || $[106] !== comparing) {
647
+ t28 = comparing && /*#__PURE__*/_jsx("div", {
648
+ children: /*#__PURE__*/_jsx(IconButton, _objectSpread({
649
+ onClick: function onClick() {
650
+ return closeProfile();
651
+ },
652
+ icon: /*#__PURE__*/_jsx(CloseIcon, {})
653
+ }, testId(TEST_IDS.COMPARE_CLOSE_BUTTON)))
154
654
  });
155
- const searchDisabled = queryExpressionString === undefined ||
156
- queryExpressionString === '' ||
157
- queryExpressionString === '{}';
158
- const queryBrowserRef = useRef(null);
159
- const sumByRef = useRef(null);
160
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mb-2 flex flex-col", children: [additionalMetricsGraph?.({
161
- querySelection,
162
- queryClient,
163
- suffix,
164
- timeRange: timeRangeSelection,
165
- onTimeRangeChange: handleTimeRangeChange,
166
- commitTimeRange: () => setQueryExpression(true),
167
- selectTimeRange: (range) => {
168
- commitDraft({
169
- from: range.getFromMs(),
170
- to: range.getToMs(),
171
- timeSelection: range.getRangeKey(),
172
- });
173
- },
174
- }), _jsx(LabelsQueryProvider, { setMatchersString: setMatchersString, runQuery: setQueryExpression, currentQuery: query, profileType: selectedProfileName ?? profileType.toString(), queryClient: queryClient, start: timeRangeSelection.getFromMs(), end: timeRangeSelection.getToMs(), suffix: suffix, children: _jsx(LabelsSource, { children: _jsx(QueryControls, { showProfileTypeSelector: showProfileTypeSelector, showSumBySelector: showSumBySelector, profileTypesData: profileTypesData, profileTypesLoading: profileTypesLoading, selectedProfileName: selectedProfileName, setProfileName: setProfileName, setMatchersString: setMatchersString, setQueryExpression: setQueryExpression, query: query, queryBrowserRef: queryBrowserRef, timeRangeSelection: timeRangeSelection, setTimeRangeSelection: handleTimeRangeChange, searchDisabled: searchDisabled, setQueryBrowserMode: setQueryBrowserMode, advancedModeForQueryBrowser: advancedModeForQueryBrowser, setAdvancedModeForQueryBrowser: setAdvancedModeForQueryBrowser, queryClient: queryClient, sumByRef: sumByRef, labels: labels, sumBySelection: draftSelection.sumBy ?? [], sumBySelectionLoading: sumByLoading, setUserSumBySelection: setDraftSumBy, profileType: profileType, profileTypesError: error, externalProfilerComponent: externalProfilerComponent, draftSelection: draftSelection, setDraftMatchers: setDraftMatchers, draftParsedQuery: draftParsedQuery, commitDraft: commitDraft }) }) }), comparing && (_jsx("div", { children: _jsx(IconButton, { onClick: () => closeProfile(), icon: _jsx(CloseIcon, {}), ...testId(TEST_IDS.COMPARE_CLOSE_BUTTON) }) }))] }), _jsx(MetricsGraphSection, { showMetricsGraph: showMetricsGraph, setDisplayHideMetricsGraphButton: setDisplayHideMetricsGraphButton, querySelection: querySelection, profileSelection: profileSelection, comparing: comparing, sumBy: querySelection.sumBy, defaultSumByLoading: sumByLoading, queryClient: queryClient, queryExpressionString: queryExpressionString, setTimeRangeSelection: handleTimeRangeChange, selectQuery: commitDraft, setProfileSelection: setProfileSelection, query: query, setQueryExpression: setQueryExpression, setNewQueryExpression: setDraftExpression, commitDraft: commitDraft, profileTypesLoading: profileTypesLoading, hasNoProfileTypes: !profileTypesLoading &&
175
- (profileTypesData?.types == null || profileTypesData.types.length === 0) })] }));
655
+ $[105] = closeProfile;
656
+ $[106] = comparing;
657
+ $[107] = t28;
658
+ } else {
659
+ t28 = $[107];
660
+ }
661
+ var t29;
662
+ if ($[108] !== t21 || $[109] !== t27 || $[110] !== t28) {
663
+ t29 = /*#__PURE__*/_jsxs("div", {
664
+ className: "mb-2 flex flex-col",
665
+ children: [t21, t27, t28]
666
+ });
667
+ $[108] = t21;
668
+ $[109] = t27;
669
+ $[110] = t28;
670
+ $[111] = t29;
671
+ } else {
672
+ t29 = $[111];
673
+ }
674
+ var t30 = !profileTypesLoading && ((profileTypesData === null || profileTypesData === void 0 ? void 0 : profileTypesData.types) == null || profileTypesData.types.length === 0);
675
+ var t31;
676
+ if ($[112] !== commitDraft || $[113] !== comparing || $[114] !== handleTimeRangeChange || $[115] !== profileSelection || $[116] !== profileTypesLoading || $[117] !== query || $[118] !== queryClient || $[119] !== queryExpressionString || $[120] !== querySelection || $[121] !== setDisplayHideMetricsGraphButton || $[122] !== setDraftExpression || $[123] !== setProfileSelection || $[124] !== setQueryExpression || $[125] !== showMetricsGraph || $[126] !== sumByLoading || $[127] !== t30) {
677
+ t31 = /*#__PURE__*/_jsx(MetricsGraphSection, {
678
+ showMetricsGraph: showMetricsGraph,
679
+ setDisplayHideMetricsGraphButton: setDisplayHideMetricsGraphButton,
680
+ querySelection: querySelection,
681
+ profileSelection: profileSelection,
682
+ comparing: comparing,
683
+ sumBy: querySelection.sumBy,
684
+ defaultSumByLoading: sumByLoading,
685
+ queryClient: queryClient,
686
+ queryExpressionString: queryExpressionString,
687
+ setTimeRangeSelection: handleTimeRangeChange,
688
+ selectQuery: commitDraft,
689
+ setProfileSelection: setProfileSelection,
690
+ query: query,
691
+ setQueryExpression: setQueryExpression,
692
+ setNewQueryExpression: setDraftExpression,
693
+ commitDraft: commitDraft,
694
+ profileTypesLoading: profileTypesLoading,
695
+ hasNoProfileTypes: t30
696
+ });
697
+ $[112] = commitDraft;
698
+ $[113] = comparing;
699
+ $[114] = handleTimeRangeChange;
700
+ $[115] = profileSelection;
701
+ $[116] = profileTypesLoading;
702
+ $[117] = query;
703
+ $[118] = queryClient;
704
+ $[119] = queryExpressionString;
705
+ $[120] = querySelection;
706
+ $[121] = setDisplayHideMetricsGraphButton;
707
+ $[122] = setDraftExpression;
708
+ $[123] = setProfileSelection;
709
+ $[124] = setQueryExpression;
710
+ $[125] = showMetricsGraph;
711
+ $[126] = sumByLoading;
712
+ $[127] = t30;
713
+ $[128] = t31;
714
+ } else {
715
+ t31 = $[128];
716
+ }
717
+ var t32;
718
+ if ($[129] !== t29 || $[130] !== t31) {
719
+ t32 = /*#__PURE__*/_jsxs(_Fragment, {
720
+ children: [t29, t31]
721
+ });
722
+ $[129] = t29;
723
+ $[130] = t31;
724
+ $[131] = t32;
725
+ } else {
726
+ t32 = $[131];
727
+ }
728
+ return t32;
176
729
  };
177
730
  export default ProfileSelector;
178
- const LabelsSource = ({ children }) => {
179
- const { labelNames, labelValues, isLabelNamesLoading, isLabelValuesLoading, refetchLabelValues, refetchLabelNames, currentLabelName, setCurrentLabelName, suffix, } = useLabelsQueryProvider();
180
- return (_jsx(UnifiedLabelsProvider, { labelNames: labelNames, labelValues: labelValues, isLabelNamesLoading: isLabelNamesLoading, isLabelValuesLoading: isLabelValuesLoading, refetchLabelValues: refetchLabelValues, refetchLabelNames: refetchLabelNames, currentLabelName: currentLabelName, setCurrentLabelName: setCurrentLabelName, suffix: suffix, children: children }));
181
- };
731
+ var LabelsSource = function LabelsSource(t0) {
732
+ var $ = _c(11);
733
+ var children = t0.children;
734
+ var _useLabelsQueryProvid = useLabelsQueryProvider(),
735
+ labelNames = _useLabelsQueryProvid.labelNames,
736
+ labelValues = _useLabelsQueryProvid.labelValues,
737
+ isLabelNamesLoading = _useLabelsQueryProvid.isLabelNamesLoading,
738
+ isLabelValuesLoading = _useLabelsQueryProvid.isLabelValuesLoading,
739
+ refetchLabelValues = _useLabelsQueryProvid.refetchLabelValues,
740
+ refetchLabelNames = _useLabelsQueryProvid.refetchLabelNames,
741
+ currentLabelName = _useLabelsQueryProvid.currentLabelName,
742
+ setCurrentLabelName = _useLabelsQueryProvid.setCurrentLabelName,
743
+ suffix = _useLabelsQueryProvid.suffix;
744
+ var t1;
745
+ if ($[0] !== children || $[1] !== currentLabelName || $[2] !== isLabelNamesLoading || $[3] !== isLabelValuesLoading || $[4] !== labelNames || $[5] !== labelValues || $[6] !== refetchLabelNames || $[7] !== refetchLabelValues || $[8] !== setCurrentLabelName || $[9] !== suffix) {
746
+ t1 = /*#__PURE__*/_jsx(UnifiedLabelsProvider, {
747
+ labelNames: labelNames,
748
+ labelValues: labelValues,
749
+ isLabelNamesLoading: isLabelNamesLoading,
750
+ isLabelValuesLoading: isLabelValuesLoading,
751
+ refetchLabelValues: refetchLabelValues,
752
+ refetchLabelNames: refetchLabelNames,
753
+ currentLabelName: currentLabelName,
754
+ setCurrentLabelName: setCurrentLabelName,
755
+ suffix: suffix,
756
+ children: children
757
+ });
758
+ $[0] = children;
759
+ $[1] = currentLabelName;
760
+ $[2] = isLabelNamesLoading;
761
+ $[3] = isLabelValuesLoading;
762
+ $[4] = labelNames;
763
+ $[5] = labelValues;
764
+ $[6] = refetchLabelNames;
765
+ $[7] = refetchLabelValues;
766
+ $[8] = setCurrentLabelName;
767
+ $[9] = suffix;
768
+ $[10] = t1;
769
+ } else {
770
+ t1 = $[10];
771
+ }
772
+ return t1;
773
+ };