@parca/profile 0.16.116 → 0.16.118

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 (93) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/Callgraph/index.js +4 -4
  3. package/dist/Callgraph/utils.d.ts +1 -1
  4. package/dist/GraphTooltip/index.d.ts +1 -1
  5. package/dist/GraphTooltip/index.js +2 -2
  6. package/dist/MatchersInput/SuggestionItem.js +1 -1
  7. package/dist/MatchersInput/SuggestionsList.js +1 -1
  8. package/dist/MatchersInput/index.d.ts +1 -1
  9. package/dist/MatchersInput/index.js +2 -2
  10. package/dist/MetricsGraph/MetricsTooltip/index.js +1 -1
  11. package/dist/MetricsGraph/index.d.ts +1 -1
  12. package/dist/MetricsGraph/index.js +2 -3
  13. package/dist/ProfileExplorer/ProfileExplorerCompare.d.ts +1 -1
  14. package/dist/ProfileExplorer/ProfileExplorerSingle.d.ts +1 -1
  15. package/dist/ProfileExplorer/ProfileExplorerSingle.js +1 -1
  16. package/dist/ProfileExplorer/index.js +5 -5
  17. package/dist/ProfileIcicleGraph/IcicleGraph/ColorStackLegend.js +3 -3
  18. package/dist/ProfileIcicleGraph/IcicleGraph/IcicleGraphNodes.d.ts +1 -1
  19. package/dist/ProfileIcicleGraph/IcicleGraph/IcicleGraphNodes.js +3 -3
  20. package/dist/ProfileIcicleGraph/IcicleGraph/index.d.ts +1 -1
  21. package/dist/ProfileIcicleGraph/IcicleGraph/index.js +7 -7
  22. package/dist/ProfileIcicleGraph/IcicleGraph/useColoredGraph.js +2 -2
  23. package/dist/ProfileIcicleGraph/IcicleGraph/useNodeColor.js +1 -1
  24. package/dist/ProfileIcicleGraph/IcicleGraph/utils.d.ts +2 -2
  25. package/dist/ProfileIcicleGraph/IcicleGraph/utils.js +1 -1
  26. package/dist/ProfileIcicleGraph/index.d.ts +1 -1
  27. package/dist/ProfileIcicleGraph/index.js +14 -2
  28. package/dist/ProfileMetricsGraph/index.d.ts +2 -2
  29. package/dist/ProfileMetricsGraph/index.js +4 -4
  30. package/dist/ProfileSelector/index.d.ts +1 -1
  31. package/dist/ProfileSelector/index.js +6 -6
  32. package/dist/ProfileSource.d.ts +1 -1
  33. package/dist/ProfileSource.js +2 -2
  34. package/dist/ProfileTypeSelector/index.d.ts +1 -1
  35. package/dist/ProfileView/FilterByFunctionButton.js +2 -2
  36. package/dist/ProfileView/ViewSelector.js +12 -0
  37. package/dist/ProfileView/index.d.ts +1 -2
  38. package/dist/ProfileView/index.js +9 -10
  39. package/dist/ProfileViewWithData.d.ts +1 -1
  40. package/dist/ProfileViewWithData.js +3 -3
  41. package/dist/TopTable/index.d.ts +2 -3
  42. package/dist/TopTable/index.js +2 -3
  43. package/dist/components/DiffLegend.js +2 -2
  44. package/dist/components/ProfileShareButton/ResultBox.js +2 -2
  45. package/dist/components/ProfileShareButton/index.js +1 -1
  46. package/dist/index.d.ts +1 -1
  47. package/dist/styles.css +1 -1
  48. package/dist/useQuery.d.ts +1 -1
  49. package/dist/utils.d.ts +1 -1
  50. package/package.json +8 -8
  51. package/src/Callgraph/index.tsx +9 -7
  52. package/src/Callgraph/utils.ts +3 -1
  53. package/src/GraphTooltip/index.tsx +7 -5
  54. package/src/MatchersInput/SuggestionItem.tsx +2 -1
  55. package/src/MatchersInput/SuggestionsList.tsx +4 -1
  56. package/src/MatchersInput/index.tsx +4 -3
  57. package/src/MetricsGraph/MetricsTooltip/index.tsx +4 -3
  58. package/src/MetricsGraph/index.tsx +10 -5
  59. package/src/ProfileExplorer/ProfileExplorerCompare.tsx +2 -2
  60. package/src/ProfileExplorer/ProfileExplorerSingle.tsx +3 -3
  61. package/src/ProfileExplorer/index.tsx +9 -6
  62. package/src/ProfileIcicleGraph/IcicleGraph/ColorStackLegend.tsx +6 -4
  63. package/src/ProfileIcicleGraph/IcicleGraph/IcicleGraphNodes.tsx +7 -5
  64. package/src/ProfileIcicleGraph/IcicleGraph/index.tsx +8 -9
  65. package/src/ProfileIcicleGraph/IcicleGraph/useColoredGraph.ts +12 -4
  66. package/src/ProfileIcicleGraph/IcicleGraph/useNodeColor.ts +3 -1
  67. package/src/ProfileIcicleGraph/IcicleGraph/utils.ts +4 -4
  68. package/src/ProfileIcicleGraph/ProfileIcicleGraph.stories.mdx +5 -3
  69. package/src/ProfileIcicleGraph/index.tsx +3 -3
  70. package/src/ProfileMetricsGraph/index.tsx +8 -5
  71. package/src/ProfileSelector/CompareButton.tsx +2 -0
  72. package/src/ProfileSelector/index.tsx +14 -11
  73. package/src/ProfileSource.tsx +4 -4
  74. package/src/ProfileTypeSelector/index.tsx +4 -3
  75. package/src/ProfileView/FilterByFunctionButton.tsx +4 -2
  76. package/src/ProfileView/ViewSelector.tsx +1 -2
  77. package/src/ProfileView/index.tsx +17 -13
  78. package/src/ProfileViewWithData.tsx +8 -7
  79. package/src/TopTable/index.tsx +10 -7
  80. package/src/__tests__/suffix_params.test.ts +1 -1
  81. package/src/components/DiffLegend.tsx +4 -2
  82. package/src/components/ProfileShareButton/ResultBox.tsx +4 -2
  83. package/src/components/ProfileShareButton/index.tsx +4 -1
  84. package/src/index.tsx +3 -1
  85. package/src/useGrpcQuery/index.ts +1 -1
  86. package/src/useQuery.tsx +2 -1
  87. package/src/utils.ts +2 -1
  88. package/dist/ProfileSVG.module.css +0 -3
  89. package/dist/ProfileView.styles.css +0 -3
  90. package/dist/TopTable.styles.css +0 -7
  91. package/src/ProfileSVG.module.css +0 -3
  92. package/src/ProfileView.styles.css +0 -3
  93. package/src/TopTable.styles.css +0 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.16.118](https://github.com/parca-dev/parca/compare/@parca/profile@0.16.117...@parca/profile@0.16.118) (2023-02-16)
7
+
8
+ ### Reverts
9
+
10
+ - Revert "[pre-commit.ci lite] apply automatic fixes" ([8982724](https://github.com/parca-dev/parca/commit/8982724b9adc0630bcf2c15f9ebca31ba69b0cb6))
11
+
12
+ ## 0.16.117 (2023-02-16)
13
+
14
+ **Note:** Version bump only for package @parca/profile
15
+
6
16
  ## 0.16.116 (2023-02-15)
7
17
 
8
18
  **Note:** Version bump only for package @parca/profile
@@ -58,16 +58,16 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
58
58
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
59
59
  // See the License for the specific language governing permissions and
60
60
  // limitations under the License.
61
- import { useState, useEffect, useRef } from 'react';
61
+ import { useEffect, useRef, useState } from 'react';
62
62
  import cx from 'classnames';
63
- import graphviz from 'graphviz-wasm';
64
63
  import * as d3 from 'd3';
65
- import { Stage, Layer, Rect, Arrow, Text, Label } from 'react-konva';
64
+ import graphviz from 'graphviz-wasm';
65
+ import { Arrow, Label, Layer, Rect, Stage, Text } from 'react-konva';
66
66
  import { Button, useURLState } from '@parca/components';
67
- import { jsonToDot, getCurvePoints } from './utils';
68
67
  import { isSearchMatch, selectQueryParam } from '@parca/functions';
69
68
  import Tooltip from '../GraphTooltip';
70
69
  import { DEFAULT_NODE_HEIGHT, GRAPH_MARGIN } from './constants';
70
+ import { getCurvePoints, jsonToDot } from './utils';
71
71
  var Node = function (_a) {
72
72
  var node = _a.node, hoveredNode = _a.hoveredNode, setHoveredNode = _a.setHoveredNode, isCurrentSearchMatch = _a.isCurrentSearchMatch;
73
73
  var id = node.data.id, x = node.x, y = node.y, color = node.color, functionName = node.functionName, widthString = node.width, heightString = node.height;
@@ -1,4 +1,4 @@
1
- import { CallgraphNode, CallgraphEdge } from '@parca/client';
1
+ import { CallgraphEdge, CallgraphNode } from '@parca/client';
2
2
  export declare const pixelsToInches: (pixels: number) => number;
3
3
  export declare const getCurvePoints: ({ pos, xScale, yScale, source, target, offset, isSelfLoop, }: {
4
4
  pos: string;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CallgraphNode, FlamegraphNode, FlamegraphNodeMeta, FlamegraphRootNode } from '@parca/client';
3
- import { Function as ParcaFunction, Location, Mapping } from '@parca/client/dist/parca/metastore/v1alpha1/metastore';
3
+ import { Location, Mapping, Function as ParcaFunction } from '@parca/client/dist/parca/metastore/v1alpha1/metastore';
4
4
  interface GraphTooltipProps {
5
5
  x: number;
6
6
  y: number;
@@ -33,12 +33,12 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
33
33
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
34
  // See the License for the specific language governing permissions and
35
35
  // limitations under the License.
36
+ import { useEffect, useState } from 'react';
36
37
  import { CopyToClipboard } from 'react-copy-to-clipboard';
37
- import { useState, useEffect } from 'react';
38
38
  import { usePopper } from 'react-popper';
39
+ import { useKeyDown } from '@parca/components';
39
40
  import { getLastItem, valueFormatter } from '@parca/functions';
40
41
  import { hexifyAddress, truncateString } from '../';
41
- import { useKeyDown } from '@parca/components';
42
42
  var virtualElement = {
43
43
  getBoundingClientRect: function () {
44
44
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
@@ -22,8 +22,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
22
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
23
  // See the License for the specific language governing permissions and
24
24
  // limitations under the License.
25
- import cx from 'classnames';
26
25
  import { useEffect, useRef } from 'react';
26
+ import cx from 'classnames';
27
27
  var SuggestionItem = function (_a) {
28
28
  var isHighlighted = _a.isHighlighted, onHighlight = _a.onHighlight, onApplySuggestion = _a.onApplySuggestion, onResetHighlight = _a.onResetHighlight, value = _a.value;
29
29
  var ref = useRef(null);
@@ -24,9 +24,9 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
24
24
  // limitations under the License.
25
25
  import { Fragment, useCallback, useEffect, useState } from 'react';
26
26
  import { Transition } from '@headlessui/react';
27
- import SuggestionItem from './SuggestionItem';
28
27
  import { usePopper } from 'react-popper';
29
28
  import { useParcaContext } from '@parca/components';
29
+ import SuggestionItem from './SuggestionItem';
30
30
  var Suggestion = /** @class */ (function () {
31
31
  function Suggestion(type, typeahead, value) {
32
32
  this.type = type;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { Query } from '@parca/parser';
3
2
  import { LabelsResponse, QueryServiceClient } from '@parca/client';
3
+ import { Query } from '@parca/parser';
4
4
  interface MatchersInputProps {
5
5
  queryClient: QueryServiceClient;
6
6
  setMatchersString: (arg: string) => void;
@@ -22,9 +22,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
22
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
23
  // See the License for the specific language governing permissions and
24
24
  // limitations under the License.
25
- import { useState, useEffect, useMemo, useRef } from 'react';
26
- import TextareaAutosize from 'react-textarea-autosize';
25
+ import { useEffect, useMemo, useRef, useState } from 'react';
27
26
  import cx from 'classnames';
27
+ import TextareaAutosize from 'react-textarea-autosize';
28
28
  import { useGrpcMetadata } from '@parca/components';
29
29
  import { sanitizeLabelValue } from '@parca/functions';
30
30
  import { Query } from '@parca/parser';
@@ -36,7 +36,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
36
36
  import { useEffect, useState } from 'react';
37
37
  import { usePopper } from 'react-popper';
38
38
  import { TextWithTooltip } from '@parca/components';
39
- import { valueFormatter, formatDate } from '@parca/functions';
39
+ import { formatDate, valueFormatter } from '@parca/functions';
40
40
  import { timeFormat } from '../../';
41
41
  var virtualElement = {
42
42
  getBoundingClientRect: function () {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
+ import { Label, MetricsSeries as MetricsSeriesPb } from '@parca/client';
2
3
  import { DateTimeRange } from '@parca/components';
3
- import { MetricsSeries as MetricsSeriesPb, Label } from '@parca/client';
4
4
  import { MergedProfileSelection } from '..';
5
5
  interface Props {
6
6
  data: MetricsSeriesPb[];
@@ -28,10 +28,9 @@ import { pointer } from 'd3-selection';
28
28
  import throttle from 'lodash.throttle';
29
29
  import { DateTimeRange, useKeyDown } from '@parca/components';
30
30
  import { useContainerDimensions } from '@parca/dynamicsize';
31
- import { formatForTimespan } from '@parca/functions';
32
- import { valueFormatter, formatDate, sanitizeHighlightedValues } from '@parca/functions';
33
- import MetricsSeries from '../MetricsSeries';
31
+ import { formatDate, formatForTimespan, sanitizeHighlightedValues, valueFormatter, } from '@parca/functions';
34
32
  import MetricsCircle from '../MetricsCircle';
33
+ import MetricsSeries from '../MetricsSeries';
35
34
  import MetricsTooltip from './MetricsTooltip';
36
35
  var MetricsGraph = function (_a) {
37
36
  var data = _a.data, from = _a.from, to = _a.to, profile = _a.profile, onSampleClick = _a.onSampleClick, onLabelClick = _a.onLabelClick, setTimeRange = _a.setTimeRange, sampleUnit = _a.sampleUnit;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import type { NavigateFunction } from '@parca/functions';
3
2
  import { QueryServiceClient } from '@parca/client';
3
+ import type { NavigateFunction } from '@parca/functions';
4
4
  import { ProfileSelection } from '..';
5
5
  import { QuerySelection } from '../ProfileSelector';
6
6
  interface ProfileExplorerCompareProps {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import type { NavigateFunction } from '@parca/functions';
3
2
  import { QueryServiceClient } from '@parca/client';
3
+ import type { NavigateFunction } from '@parca/functions';
4
4
  import { ProfileSelection } from '..';
5
5
  import { QuerySelection } from '../ProfileSelector';
6
6
  interface ProfileExplorerSingleProps {
@@ -10,9 +10,9 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { KeyDownProvider } from '@parca/components';
13
14
  import { ProfileViewWithData } from '..';
14
15
  import ProfileSelector from '../ProfileSelector';
15
- import { KeyDownProvider } from '@parca/components';
16
16
  var ProfileExplorerSingle = function (_a) {
17
17
  var queryClient = _a.queryClient, query = _a.query, selectQuery = _a.selectQuery, selectProfile = _a.selectProfile, profile = _a.profile, compareProfile = _a.compareProfile, navigateTo = _a.navigateTo;
18
18
  return (_jsxs(KeyDownProvider, { children: [_jsx("div", __assign({ className: "grid grid-cols-1" }, { children: _jsx("div", { children: _jsx(ProfileSelector, { queryClient: queryClient, querySelection: query, selectQuery: selectQuery, selectProfile: selectProfile, closeProfile: function () { }, profileSelection: profile, comparing: false, onCompareProfile: compareProfile, enforcedProfileName: '' }) }) })), _jsx("div", __assign({ className: "grid grid-cols-1" }, { children: _jsx("div", { children: profile != null ? (_jsx(ProfileViewWithData, { queryClient: queryClient, profileSource: profile.ProfileSource(), navigateTo: navigateTo })) : (_jsx(_Fragment, {})) }) }))] }));
@@ -23,13 +23,13 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
23
23
  // See the License for the specific language governing permissions and
24
24
  // limitations under the License.
25
25
  import { useEffect, useState } from 'react';
26
- import { useProfileTypes } from '../ProfileSelector';
27
- import { ProfileSelectionFromParams, SuffixParams } from '..';
28
- import ProfileExplorerSingle from './ProfileExplorerSingle';
29
- import ProfileExplorerCompare from './ProfileExplorerCompare';
30
- import { store } from '@parca/store';
31
26
  import { Provider } from 'react-redux';
32
27
  import { DateTimeRange, useParcaContext } from '@parca/components';
28
+ import { store } from '@parca/store';
29
+ import { ProfileSelectionFromParams, SuffixParams } from '..';
30
+ import { useProfileTypes } from '../ProfileSelector';
31
+ import ProfileExplorerCompare from './ProfileExplorerCompare';
32
+ import ProfileExplorerSingle from './ProfileExplorerSingle';
33
33
  var getExpressionAsAString = function (expression) {
34
34
  var x = Array.isArray(expression) ? expression.join() : expression;
35
35
  return x;
@@ -22,12 +22,12 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
22
22
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
23
  // See the License for the specific language governing permissions and
24
24
  // limitations under the License.
25
- import cx from 'classnames';
25
+ import { useMemo } from 'react';
26
26
  import { Icon } from '@iconify/react';
27
+ import cx from 'classnames';
28
+ import { useURLState } from '@parca/components';
27
29
  import useUserPreference, { USER_PREFERENCES } from '@parca/functions/useUserPreference';
28
30
  import { EVERYTHING_ELSE, selectStackColors, useAppSelector } from '@parca/store';
29
- import { useMemo } from 'react';
30
- import { useURLState } from '@parca/components';
31
31
  var ColorStackLegend = function (_a) {
32
32
  var navigateTo = _a.navigateTo, _b = _a.compareMode, compareMode = _b === void 0 ? false : _b;
33
33
  var colorProfileName = useUserPreference(USER_PREFERENCES.FLAMEGRAPH_COLOR_PROFILE.key)[0];
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { Mapping, Function as ParcaFunction, Location } from '@parca/client/dist/parca/metastore/v1alpha1/metastore';
3
2
  import { FlamegraphNode, FlamegraphRootNode } from '@parca/client';
3
+ import { Location, Mapping, Function as ParcaFunction } from '@parca/client/dist/parca/metastore/v1alpha1/metastore';
4
4
  export declare const RowHeight = 26;
5
5
  interface IcicleGraphNodesProps {
6
6
  data: FlamegraphNode[];
@@ -25,11 +25,11 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
25
25
  import React, { useMemo } from 'react';
26
26
  import cx from 'classnames';
27
27
  import { scaleLinear } from 'd3-scale';
28
+ import { useKeyDown } from '@parca/components';
28
29
  import { isSearchMatch } from '@parca/functions';
29
- import { useAppSelector, selectBinaries } from '@parca/store';
30
- import { nodeLabel } from './utils';
30
+ import { selectBinaries, useAppSelector } from '@parca/store';
31
31
  import useNodeColor from './useNodeColor';
32
- import { useKeyDown } from '@parca/components';
32
+ import { nodeLabel } from './utils';
33
33
  export var RowHeight = 26;
34
34
  export var IcicleGraphNodes = React.memo(function IcicleGraphNodes(_a) {
35
35
  var data = _a.data, strings = _a.strings, mappings = _a.mappings, locations = _a.locations, functions = _a.functions, x = _a.x, y = _a.y, xScale = _a.xScale, total = _a.total, totalWidth = _a.totalWidth, level = _a.level, setHoveringNode = _a.setHoveringNode, path = _a.path, setCurPath = _a.setCurPath, curPath = _a.curPath, searchString = _a.searchString, compareMode = _a.compareMode;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Flamegraph } from '@parca/client';
3
- import type { NavigateFunction } from '@parca/functions';
3
+ import { type NavigateFunction } from '@parca/functions';
4
4
  interface IcicleGraphProps {
5
5
  graph: Flamegraph;
6
6
  sampleUnit: string;
@@ -24,16 +24,16 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
24
24
  // limitations under the License.
25
25
  import { memo, useEffect, useMemo, useRef, useState } from 'react';
26
26
  import cx from 'classnames';
27
- import { throttle } from 'lodash';
28
- import { pointer } from 'd3-selection';
29
27
  import { scaleLinear } from 'd3-scale';
30
- import GraphTooltip from '../../GraphTooltip';
28
+ import { pointer } from 'd3-selection';
29
+ import { throttle } from 'lodash';
31
30
  import { Button, useURLState } from '@parca/components';
32
- import { IcicleNode, RowHeight } from './IcicleGraphNodes';
33
- import useColoredGraph from './useColoredGraph';
34
31
  import { selectQueryParam } from '@parca/functions';
35
- import ColorStackLegend from './ColorStackLegend';
36
32
  import useUserPreference, { USER_PREFERENCES } from '@parca/functions/useUserPreference';
33
+ import GraphTooltip from '../../GraphTooltip';
34
+ import ColorStackLegend from './ColorStackLegend';
35
+ import { IcicleNode, RowHeight } from './IcicleGraphNodes';
36
+ import useColoredGraph from './useColoredGraph';
37
37
  export var IcicleGraph = memo(function IcicleGraph(_a) {
38
38
  var _b;
39
39
  var graph = _a.graph, width = _a.width, setCurPath = _a.setCurPath, curPath = _a.curPath, sampleUnit = _a.sampleUnit, navigateTo = _a.navigateTo, _c = _a.isTrimmed, isTrimmed = _c === void 0 ? false : _c;
@@ -74,7 +74,7 @@ export var IcicleGraph = memo(function IcicleGraph(_a) {
74
74
  var isColorStackLegendVisible = colorProfileName !== 'default';
75
75
  return (_jsxs("div", __assign({ onMouseLeave: function () { return setHoveringNode(undefined); } }, { children: [_jsx(ColorStackLegend, { navigateTo: navigateTo, compareMode: compareMode }), _jsx(GraphTooltip, { unit: sampleUnit, total: total, x: pos[0], y: pos[1], hoveringNode: hoveringNode, contextElement: svg.current, strings: coloredGraph.stringTable, mappings: coloredGraph.mapping, locations: coloredGraph.locations, functions: coloredGraph.function }), _jsx("div", __assign({ className: cx('flex justify-start absolute', {
76
76
  'top-[-48px]': dashboardItems.length <= 1 && !isTrimmed && !isColorStackLegendVisible,
77
- 'top-[-69px]': dashboardItems.length <= 1 && !isTrimmed,
77
+ 'top-[-69px]': dashboardItems.length <= 1 && !isTrimmed && isColorStackLegendVisible,
78
78
  'top-[-54px]': dashboardItems.length <= 1 && isTrimmed && isColorStackLegendVisible,
79
79
  'top-[-54px] ': dashboardItems.length <= 1 && isTrimmed && !isColorStackLegendVisible,
80
80
  'top-[-54px] left-[25px]': dashboardItems.length > 1 && isTrimmed && isColorStackLegendVisible,
@@ -21,9 +21,9 @@ var __assign = (this && this.__assign) || function () {
21
21
  };
22
22
  return __assign.apply(this, arguments);
23
23
  };
24
- import useUserPreference, { USER_PREFERENCES } from '@parca/functions/useUserPreference';
25
- import { setFeatures, useAppDispatch, useAppSelector, selectDarkMode } from '@parca/store';
26
24
  import { useEffect, useMemo } from 'react';
25
+ import useUserPreference, { USER_PREFERENCES } from '@parca/functions/useUserPreference';
26
+ import { selectDarkMode, setFeatures, useAppDispatch, useAppSelector, } from '@parca/store';
27
27
  import { extractFeature } from './utils';
28
28
  var colorNodes = function (nodes, strings, mappings, locations, functions, features) {
29
29
  if (nodes === undefined) {
@@ -10,9 +10,9 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
+ import { useMemo } from 'react';
13
14
  import { diffColor } from '@parca/functions';
14
15
  import { EVERYTHING_ELSE, selectDarkMode, selectStackColors, useAppSelector } from '@parca/store';
15
- import { useMemo } from 'react';
16
16
  var useNodeColor = function (_a) {
17
17
  var data = _a.data, compareMode = _a.compareMode;
18
18
  var colors = useAppSelector(selectStackColors);
@@ -1,6 +1,6 @@
1
1
  import { FlamegraphNode } from '@parca/client';
2
- import { Mapping, Function as ParcaFunction, Location } from '@parca/client/dist/parca/metastore/v1alpha1/metastore';
3
- import type { Feature } from '@parca/store';
2
+ import { Location, Mapping, Function as ParcaFunction } from '@parca/client/dist/parca/metastore/v1alpha1/metastore';
3
+ import { type Feature } from '@parca/store';
4
4
  export declare const getBinaryName: (node: FlamegraphNode, mappings: Mapping[], locations: Location[], strings: string[]) => string | undefined;
5
5
  export declare function nodeLabel(node: FlamegraphNode, strings: string[], mappings: Mapping[], locations: Location[], functions: ParcaFunction[], showBinaryName: boolean): string;
6
6
  export declare const extractFeature: (data: FlamegraphNode, mappings: Mapping[], locations: Location[], strings: string[], functions: ParcaFunction[]) => Feature;
@@ -11,8 +11,8 @@
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
13
  import { getLastItem } from '@parca/functions';
14
- import { hexifyAddress } from '../../utils';
15
14
  import { EVERYTHING_ELSE, FEATURE_TYPES } from '@parca/store';
15
+ import { hexifyAddress } from '../../utils';
16
16
  export var getBinaryName = function (node, mappings, locations, strings) {
17
17
  var _a, _b;
18
18
  if (((_a = node.meta) === null || _a === void 0 ? void 0 : _a.locationIndex) === undefined || ((_b = node.meta) === null || _b === void 0 ? void 0 : _b.locationIndex) === 0) {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { Flamegraph } from '@parca/client';
3
- import type { NavigateFunction } from '@parca/functions';
3
+ import { type NavigateFunction } from '@parca/functions';
4
4
  export type ResizeHandler = (width: number, height: number) => void;
5
5
  interface ProfileIcicleGraphProps {
6
6
  width?: number;
@@ -10,11 +10,23 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ // Copyright 2022 The Parca Authors
14
+ // Licensed under the Apache License, Version 2.0 (the "License");
15
+ // you may not use this file except in compliance with the License.
16
+ // You may obtain a copy of the License at
17
+ //
18
+ // http://www.apache.org/licenses/LICENSE-2.0
19
+ //
20
+ // Unless required by applicable law or agreed to in writing, software
21
+ // distributed under the License is distributed on an "AS IS" BASIS,
22
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
+ // See the License for the specific language governing permissions and
24
+ // limitations under the License.
25
+ import { useEffect, useMemo } from 'react';
13
26
  import { useContainerDimensions } from '@parca/dynamicsize';
27
+ import { selectQueryParam } from '@parca/functions';
14
28
  import DiffLegend from '../components/DiffLegend';
15
29
  import IcicleGraph from './IcicleGraph';
16
- import { selectQueryParam } from '@parca/functions';
17
- import { useEffect, useMemo } from 'react';
18
30
  var numberFormatter = new Intl.NumberFormat('en-US');
19
31
  var ProfileIcicleGraph = function (_a) {
20
32
  var graph = _a.graph, curPath = _a.curPath, setNewCurPath = _a.setNewCurPath, sampleUnit = _a.sampleUnit, onContainerResize = _a.onContainerResize, navigateTo = _a.navigateTo, loading = _a.loading;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { ProfileSelection } from '..';
3
- import { QueryServiceClient, QueryRangeResponse, Label } from '@parca/client';
4
2
  import { RpcError } from '@protobuf-ts/runtime-rpc';
3
+ import { Label, QueryRangeResponse, QueryServiceClient } from '@parca/client';
5
4
  import { DateTimeRange } from '@parca/components';
5
+ import { ProfileSelection } from '..';
6
6
  interface ProfileMetricsGraphProps {
7
7
  queryClient: QueryServiceClient;
8
8
  queryExpression: string;
@@ -58,13 +58,13 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
58
58
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
59
59
  // See the License for the specific language governing permissions and
60
60
  // limitations under the License.
61
- import { useState, useEffect } from 'react';
62
- import MetricsGraph from '../MetricsGraph';
63
- import { Timestamp, Duration } from '@parca/client';
61
+ import { useEffect, useState } from 'react';
62
+ import { Duration, Timestamp } from '@parca/client';
64
63
  import { useGrpcMetadata, useParcaContext } from '@parca/components';
64
+ import { getStepDuration } from '@parca/functions';
65
65
  import { Query } from '@parca/parser';
66
+ import MetricsGraph from '../MetricsGraph';
66
67
  import useDelayedLoader from '../useDelayedLoader';
67
- import { getStepDuration } from '@parca/functions';
68
68
  export var useQueryRange = function (client, queryExpression, start, end) {
69
69
  var _a = useState({
70
70
  response: null,
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { QueryServiceClient, ProfileTypesResponse } from '@parca/client';
3
2
  import { RpcError } from '@protobuf-ts/runtime-rpc';
3
+ import { ProfileTypesResponse, QueryServiceClient } from '@parca/client';
4
4
  import { ProfileSelection } from '..';
5
5
  export interface QuerySelection {
6
6
  expression: string;
@@ -22,16 +22,16 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
22
22
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
23
  // See the License for the specific language governing permissions and
24
24
  // limitations under the License.
25
- import { Query } from '@parca/parser';
25
+ import { useEffect, useState } from 'react';
26
+ import { Button, ButtonGroup, Card, DateTimeRange, DateTimeRangePicker, useGrpcMetadata, } from '@parca/components';
26
27
  import { getStepDuration, getStepDurationInMilliseconds } from '@parca/functions';
28
+ import { CloseIcon } from '@parca/icons';
29
+ import { Query } from '@parca/parser';
27
30
  import { MergedProfileSelection } from '..';
28
- import { useEffect, useState } from 'react';
29
- import ProfileMetricsGraph from '../ProfileMetricsGraph';
30
31
  import MatchersInput from '../MatchersInput/index';
31
- import CompareButton from './CompareButton';
32
- import { Card, DateTimeRangePicker, DateTimeRange, Button, ButtonGroup, useGrpcMetadata, } from '@parca/components';
33
- import { CloseIcon } from '@parca/icons';
32
+ import ProfileMetricsGraph from '../ProfileMetricsGraph';
34
33
  import ProfileTypeSelector from '../ProfileTypeSelector/index';
34
+ import CompareButton from './CompareButton';
35
35
  export var useProfileTypes = function (client) {
36
36
  var _a = useState(undefined), result = _a[0], setResult = _a[1];
37
37
  var _b = useState(undefined), error = _b[0], setError = _b[1];
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
+ import { Label, ProfileDiffSelection, QueryRequest } from '@parca/client';
2
3
  import { ProfileType } from '@parca/parser';
3
- import { Label, QueryRequest, ProfileDiffSelection } from '@parca/client';
4
4
  export interface ProfileSource {
5
5
  QueryRequest: () => QueryRequest;
6
6
  ProfileType: () => ProfileType;
@@ -11,9 +11,9 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
+ import { ProfileDiffSelection_Mode, QueryRequest_Mode, QueryRequest_ReportType, Timestamp, } from '@parca/client';
14
15
  import { formatDate } from '@parca/functions';
15
- import { Query, ProfileType } from '@parca/parser';
16
- import { QueryRequest_Mode, QueryRequest_ReportType, ProfileDiffSelection_Mode, Timestamp, } from '@parca/client';
16
+ import { ProfileType, Query } from '@parca/parser';
17
17
  export var timeFormat = "MMM d, 'at' h:mm:s a '(UTC)'";
18
18
  export var timeFormatShort = 'MMM d, h:mma';
19
19
  export function ParamsString(params) {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { ProfileType, ProfileTypesResponse } from '@parca/client';
3
2
  import { RpcError } from '@protobuf-ts/runtime-rpc';
3
+ import { ProfileType, ProfileTypesResponse } from '@parca/client';
4
4
  interface WellKnownProfile {
5
5
  name: string;
6
6
  help: string;
@@ -11,9 +11,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
- import { Input, useURLState } from '@parca/components';
15
- import { Icon } from '@iconify/react';
16
14
  import { useCallback, useMemo, useState } from 'react';
15
+ import { Icon } from '@iconify/react';
16
+ import { Input, useURLState } from '@parca/components';
17
17
  var FilterByFunctionButton = function (_a) {
18
18
  var navigateTo = _a.navigateTo;
19
19
  var _b = useURLState({ param: 'filter_by_function', navigateTo: navigateTo }), storeValue = _b[0], setStoreValue = _b[1];
@@ -10,6 +10,18 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ // Copyright 2022 The Parca Authors
14
+ // Licensed under the Apache License, Version 2.0 (the "License");
15
+ // you may not use this file except in compliance with the License.
16
+ // You may obtain a copy of the License at
17
+ //
18
+ // http://www.apache.org/licenses/LICENSE-2.0
19
+ //
20
+ // Unless required by applicable law or agreed to in writing, software
21
+ // distributed under the License is distributed on an "AS IS" BASIS,
22
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
+ // See the License for the specific language governing permissions and
24
+ // limitations under the License.
13
25
  import { Select, useURLState } from '@parca/components';
14
26
  import useUIFeatureFlag from '@parca/functions/useUIFeatureFlag';
15
27
  var ViewSelector = function (_a) {
@@ -1,8 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { QueryServiceClient, Flamegraph, Top, Callgraph as CallgraphType } from '@parca/client';
2
+ import { Callgraph as CallgraphType, Flamegraph, QueryServiceClient, Top } from '@parca/client';
3
3
  import { ResizeHandler } from '../ProfileIcicleGraph';
4
4
  import { ProfileSource } from '../ProfileSource';
5
- import '../ProfileView.styles.css';
6
5
  type NavigateFunction = (path: string, queryParams: any, options?: {
7
6
  replace?: boolean;
8
7
  }) => void;
@@ -33,23 +33,22 @@ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-run
33
33
  // See the License for the specific language governing permissions and
34
34
  // limitations under the License.
35
35
  import { Profiler, useEffect, useMemo, useState } from 'react';
36
- import { scaleLinear } from 'd3';
36
+ import { Icon } from '@iconify/react';
37
37
  import cx from 'classnames';
38
+ import { scaleLinear } from 'd3';
39
+ import { DragDropContext, Draggable, Droppable, } from 'react-beautiful-dnd';
40
+ import { Button, Card, KeyDownProvider, useParcaContext, useURLState } from '@parca/components';
41
+ import { useContainerDimensions } from '@parca/dynamicsize';
38
42
  import { getNewSpanColor } from '@parca/functions';
39
43
  import { CloseIcon } from '@parca/icons';
40
- import { Icon } from '@iconify/react';
41
- import { Button, Card, useParcaContext, KeyDownProvider, useURLState } from '@parca/components';
42
- import { useContainerDimensions } from '@parca/dynamicsize';
43
- import { useAppSelector, selectDarkMode } from '@parca/store';
44
- import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
44
+ import { selectDarkMode, useAppSelector } from '@parca/store';
45
45
  import { Callgraph } from '../';
46
- import ProfileShareButton from '../components/ProfileShareButton';
47
- import FilterByFunctionButton from './FilterByFunctionButton';
48
- import ViewSelector from './ViewSelector';
49
46
  import ProfileIcicleGraph from '../ProfileIcicleGraph';
50
47
  import { TopTable } from '../TopTable';
48
+ import ProfileShareButton from '../components/ProfileShareButton';
51
49
  import useDelayedLoader from '../useDelayedLoader';
52
- import '../ProfileView.styles.css';
50
+ import FilterByFunctionButton from './FilterByFunctionButton';
51
+ import ViewSelector from './ViewSelector';
53
52
  function arrayEquals(a, b) {
54
53
  return (Array.isArray(a) &&
55
54
  Array.isArray(b) &&
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { QueryServiceClient } from '@parca/client';
3
+ import { type NavigateFunction } from '@parca/functions';
3
4
  import { ProfileSource } from './ProfileSource';
4
- import type { NavigateFunction } from '@parca/functions';
5
5
  interface ProfileViewWithDataProps {
6
6
  queryClient: QueryServiceClient;
7
7
  profileSource: ProfileSource;
@@ -49,12 +49,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
49
49
  // limitations under the License.
50
50
  import { useEffect, useState } from 'react';
51
51
  import { QueryRequest_ReportType } from '@parca/client';
52
- import { useQuery } from './useQuery';
53
- import { ProfileView } from './ProfileView';
54
- import { downloadPprof } from './utils';
55
52
  import { useGrpcMetadata, useParcaContext, useURLState } from '@parca/components';
56
53
  import { saveAsBlob } from '@parca/functions';
57
54
  import useUserPreference, { USER_PREFERENCES } from '@parca/functions/useUserPreference';
55
+ import { ProfileView } from './ProfileView';
56
+ import { useQuery } from './useQuery';
57
+ import { downloadPprof } from './utils';
58
58
  export var ProfileViewWithData = function (_a) {
59
59
  var _b, _c;
60
60
  var queryClient = _a.queryClient, profileSource = _a.profileSource, navigateTo = _a.navigateTo;
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
- import type { NavigateFunction } from '@parca/functions';
3
- import { TopNodeMeta, Top } from '@parca/client';
4
- import '../TopTable.styles.css';
2
+ import { Top, TopNodeMeta } from '@parca/client';
3
+ import { type NavigateFunction } from '@parca/functions';
5
4
  interface TopTableProps {
6
5
  loading: boolean;
7
6
  data?: Top;
@@ -23,11 +23,10 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
23
23
  // See the License for the specific language governing permissions and
24
24
  // limitations under the License.
25
25
  import { useCallback, useMemo } from 'react';
26
- import { getLastItem, valueFormatter, isSearchMatch, parseParams } from '@parca/functions';
27
- import { Button, Table, useURLState } from '@parca/components';
28
26
  import { createColumnHelper } from '@tanstack/react-table';
27
+ import { Button, Table, useURLState } from '@parca/components';
28
+ import { getLastItem, isSearchMatch, parseParams, valueFormatter, } from '@parca/functions';
29
29
  import { hexifyAddress } from '../utils';
30
- import '../TopTable.styles.css';
31
30
  export var RowLabel = function (meta) {
32
31
  var _a, _b, _c, _d, _e, _f;
33
32
  if (meta === undefined)
@@ -24,9 +24,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
24
  // limitations under the License.
25
25
  import { Fragment, useState } from 'react';
26
26
  import { Popover, Transition } from '@headlessui/react';
27
- import { useAppSelector, selectDarkMode } from '@parca/store';
28
- import { getNewSpanColor, getIncreasedSpanColor, getReducedSpanColor } from '@parca/functions';
29
27
  import { usePopper } from 'react-popper';
28
+ import { getIncreasedSpanColor, getNewSpanColor, getReducedSpanColor } from '@parca/functions';
29
+ import { selectDarkMode, useAppSelector } from '@parca/store';
30
30
  var transparencyValues = [-100, -80, -60, -40, -20, 0, 20, 40, 60, 80, 100];
31
31
  var DiffLegendBar = function (_a) {
32
32
  var onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave;