@parca/profile 0.16.400 → 0.16.401

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
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.401](https://github.com/parca-dev/parca/compare/@parca/profile@0.16.400...@parca/profile@0.16.401) (2024-07-03)
7
+
8
+ **Note:** Version bump only for package @parca/profile
9
+
6
10
  ## [0.16.400](https://github.com/parca-dev/parca/compare/@parca/profile@0.16.399...@parca/profile@0.16.400) (2024-07-02)
7
11
 
8
12
  **Note:** Version bump only for package @parca/profile
@@ -43,14 +43,16 @@ export const DockedGraphTooltip = ({ table, total, totalUnfiltered, row, level,
43
43
  if (graphTooltipData === null) {
44
44
  return _jsx(_Fragment, {});
45
45
  }
46
- const { name, cumulativeText, diffText, diff } = graphTooltipData;
46
+ const { name, cumulativeText, cumulativePerSecondText, flatText, flatPerSecondText, diffText, diff, } = graphTooltipData;
47
47
  const labels = labelPairs.map((l) => (_jsx("span", { className: "mr-3 inline-block rounded-lg bg-gray-200 px-2 py-1 text-xs font-bold text-gray-700 dark:bg-gray-700 dark:text-gray-400", children: `${l[0]}="${l[1]}"` }, l[0])));
48
48
  const isMappingBuildIDAvailable = mappingBuildID !== null && mappingBuildID !== '';
49
49
  const inlinedText = inlined === null ? 'merged' : inlined ? 'yes' : 'no';
50
50
  const addressText = locationAddress !== 0n ? hexifyAddress(locationAddress) : _jsx(NoData, {});
51
+ const cumulativeTextBoth = `${cumulativeText}\n${cumulativePerSecondText}`;
52
+ const flatTextBoth = `${flatText}\n${flatPerSecondText}`;
51
53
  return (_jsxs("div", { className: "fixed bottom-0 z-20 overflow-hidden rounded-t-lg border-l border-r border-t border-gray-400 bg-white bg-opacity-90 px-8 py-3 dark:border-gray-600 dark:bg-black dark:bg-opacity-80", style: { width }, children: [_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx("div", { className: "flex justify-between gap-4", children: row === 0 ? (_jsx("p", { children: "root" })) : (_jsx("p", { children: name !== ''
52
54
  ? name
53
55
  : locationAddress !== 0n
54
56
  ? hexifyAddress(locationAddress)
55
- : 'unknown' })) }), _jsxs("div", { className: "flex justify-between gap-3", children: [_jsx(InfoSection, { title: "Cumulative", value: cumulativeText, minWidth: "w-44" }), diff !== 0n ? _jsx(InfoSection, { title: "Diff", value: diffText, minWidth: "w-44" }) : null, _jsx(InfoSection, { title: "File", value: functionFilename !== '' ? truncateStringReverse(file, 45) : _jsx(NoData, {}), minWidth: 'w-[460px]' }), _jsx(InfoSection, { title: "Address", value: addressText, minWidth: "w-44" }), _jsx(InfoSection, { title: "Inlined", value: inlinedText, minWidth: "w-44" }), _jsx(InfoSection, { title: "Binary", value: (mappingFile != null ? getLastItem(mappingFile) : null) ?? _jsx(NoData, {}), minWidth: "w-44" }), _jsx(InfoSection, { title: "Build ID", value: isMappingBuildIDAvailable ? (_jsx("div", { children: truncateString(mappingBuildID, 28) })) : (_jsx(NoData, {})) })] }), _jsx("div", { children: _jsx("div", { className: "flex h-5 gap-1", children: labels }) })] }), _jsxs("div", { className: "flex w-full items-center gap-1 text-xs text-gray-500", children: [_jsx(Icon, { icon: "iconoir:mouse-button-right" }), _jsx("div", { children: "Right click to show context menu" })] })] }));
57
+ : 'unknown' })) }), _jsxs("div", { className: "flex justify-between gap-3", children: [_jsx(InfoSection, { title: "Cumulative", value: cumulativeTextBoth, minWidth: "w-44" }), _jsx(InfoSection, { title: "Flat", value: flatTextBoth, minWidth: "w-44" }), diff !== 0n ? _jsx(InfoSection, { title: "Diff", value: diffText, minWidth: "w-44" }) : null, _jsx(InfoSection, { title: "File", value: functionFilename !== '' ? truncateStringReverse(file, 45) : _jsx(NoData, {}), minWidth: 'w-[460px]' }), _jsx(InfoSection, { title: "Address", value: addressText, minWidth: "w-44" }), _jsx(InfoSection, { title: "Inlined", value: inlinedText, minWidth: "w-44" }), _jsx(InfoSection, { title: "Binary", value: (mappingFile != null ? getLastItem(mappingFile) : null) ?? _jsx(NoData, {}), minWidth: "w-44" }), _jsx(InfoSection, { title: "Build ID", value: isMappingBuildIDAvailable ? (_jsx("div", { children: truncateString(mappingBuildID, 28) })) : (_jsx(NoData, {})) })] }), _jsx("div", { children: _jsx("div", { className: "flex h-5 gap-1", children: labels }) })] }), _jsxs("div", { className: "flex w-full items-center gap-1 text-xs text-gray-500", children: [_jsx(Icon, { icon: "iconoir:mouse-button-right" }), _jsx("div", { children: "Right click to show context menu" })] })] }));
56
58
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parca/profile",
3
- "version": "0.16.400",
3
+ "version": "0.16.401",
4
4
  "description": "Profile viewing libraries",
5
5
  "dependencies": {
6
6
  "@headlessui/react": "^1.7.19",
@@ -73,5 +73,5 @@
73
73
  "access": "public",
74
74
  "registry": "https://registry.npmjs.org/"
75
75
  },
76
- "gitHead": "9d13687d6648e70412369d67999b77633d384199"
76
+ "gitHead": "7f74fa47cdf9e7e5c805e4e32596625f47b0fee0"
77
77
  }
@@ -93,7 +93,15 @@ export const DockedGraphTooltip = ({
93
93
  return <></>;
94
94
  }
95
95
 
96
- const {name, cumulativeText, diffText, diff} = graphTooltipData;
96
+ const {
97
+ name,
98
+ cumulativeText,
99
+ cumulativePerSecondText,
100
+ flatText,
101
+ flatPerSecondText,
102
+ diffText,
103
+ diff,
104
+ } = graphTooltipData;
97
105
 
98
106
  const labels = labelPairs.map(
99
107
  (l): React.JSX.Element => (
@@ -110,6 +118,9 @@ export const DockedGraphTooltip = ({
110
118
  const inlinedText = inlined === null ? 'merged' : inlined ? 'yes' : 'no';
111
119
  const addressText = locationAddress !== 0n ? hexifyAddress(locationAddress) : <NoData />;
112
120
 
121
+ const cumulativeTextBoth = `${cumulativeText}\n${cumulativePerSecondText}`;
122
+ const flatTextBoth = `${flatText}\n${flatPerSecondText}`;
123
+
113
124
  return (
114
125
  <div
115
126
  className="fixed bottom-0 z-20 overflow-hidden rounded-t-lg border-l border-r border-t border-gray-400 bg-white bg-opacity-90 px-8 py-3 dark:border-gray-600 dark:bg-black dark:bg-opacity-80"
@@ -130,7 +141,8 @@ export const DockedGraphTooltip = ({
130
141
  )}
131
142
  </div>
132
143
  <div className="flex justify-between gap-3">
133
- <InfoSection title="Cumulative" value={cumulativeText} minWidth="w-44" />
144
+ <InfoSection title="Cumulative" value={cumulativeTextBoth} minWidth="w-44" />
145
+ <InfoSection title="Flat" value={flatTextBoth} minWidth="w-44" />
134
146
  {diff !== 0n ? <InfoSection title="Diff" value={diffText} minWidth="w-44" /> : null}
135
147
  <InfoSection
136
148
  title="File"