@parca/profile 0.19.139 → 0.19.142

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