@kylincloud/flamegraph 0.35.28 → 0.35.29
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 +18 -0
- package/dist/FlameGraph/FlameGraphComponent/Flamegraph.d.ts +16 -2
- package/dist/FlameGraph/FlameGraphComponent/Flamegraph.d.ts.map +1 -1
- package/dist/FlameGraph/FlameGraphComponent/Flamegraph_render.d.ts +15 -2
- package/dist/FlameGraph/FlameGraphComponent/Flamegraph_render.d.ts.map +1 -1
- package/dist/FlameGraph/FlameGraphComponent/Highlight.d.ts.map +1 -1
- package/dist/FlameGraph/FlameGraphComponent/index.d.ts.map +1 -1
- package/dist/FlameGraph/normalize.d.ts.map +1 -1
- package/dist/FlameGraph/uniqueness.d.ts.map +1 -1
- package/dist/ProfilerTable.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/flamegraphRenderWorker.js +2 -0
- package/dist/flamegraphRenderWorker.js.map +1 -0
- package/dist/index.cjs.js +4 -4
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +4 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.node.cjs.js +4 -4
- package/dist/index.node.cjs.js.map +1 -1
- package/dist/index.node.esm.js +4 -4
- package/dist/index.node.esm.js.map +1 -1
- package/dist/shims/Table.d.ts +15 -1
- package/dist/shims/Table.d.ts.map +1 -1
- package/dist/workers/createFlamegraphRenderWorker.d.ts +2 -0
- package/dist/workers/createFlamegraphRenderWorker.d.ts.map +1 -0
- package/dist/workers/flamegraphRenderWorker.d.ts +2 -0
- package/dist/workers/flamegraphRenderWorker.d.ts.map +1 -0
- package/dist/workers/profilerTableWorker.d.ts +73 -0
- package/dist/workers/profilerTableWorker.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/FlameGraph/FlameGraphComponent/Flamegraph.ts +33 -8
- package/src/FlameGraph/FlameGraphComponent/Flamegraph_render.ts +289 -85
- package/src/FlameGraph/FlameGraphComponent/Highlight.tsx +43 -17
- package/src/FlameGraph/FlameGraphComponent/index.tsx +150 -1
- package/src/FlameGraph/normalize.ts +9 -7
- package/src/FlameGraph/uniqueness.ts +69 -59
- package/src/ProfilerTable.tsx +463 -33
- package/src/Tooltip/Tooltip.tsx +49 -16
- package/src/shims/Table.module.scss +5 -0
- package/src/shims/Table.tsx +195 -5
- package/src/workers/createFlamegraphRenderWorker.ts +7 -0
- package/src/workers/flamegraphRenderWorker.ts +198 -0
- package/src/workers/profilerTableWorker.ts +368 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.35.29](/compare/v0.35.28...v0.35.29) (2026-01-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes | Bug 修复
|
|
7
|
+
|
|
8
|
+
* 修复旧tooltip没被隐藏从而出现重叠的问题 8d480c43
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### ⚡ Performance Improvements | 性能优化
|
|
12
|
+
|
|
13
|
+
* **flamegraph-table:** 优化首屏渲染,避免全量行导致卡顿 91fc9138
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### ✨ Features | 新功能
|
|
17
|
+
|
|
18
|
+
* **perf:** flamegraph 渲染分片并引入 worker 优化大数据性能 49d0fb24
|
|
19
|
+
* 性能优化差分火焰图解码去重、签名轻量化、表格虚拟化降卡顿 834d1548
|
|
20
|
+
|
|
3
21
|
## [0.35.28](/compare/v0.35.27...v0.35.28) (2026-01-23)
|
|
4
22
|
|
|
5
23
|
|
|
@@ -30,7 +30,7 @@ export default class Flamegraph {
|
|
|
30
30
|
private ff;
|
|
31
31
|
private cachedRange;
|
|
32
32
|
private cachedPxPerTick;
|
|
33
|
-
constructor(flamebearer: Flamebearer, canvas: HTMLCanvasElement,
|
|
33
|
+
constructor(flamebearer: Flamebearer, canvas: HTMLCanvasElement | OffscreenCanvas,
|
|
34
34
|
/**
|
|
35
35
|
* What node to be 'focused'
|
|
36
36
|
* ie what node to start the tree
|
|
@@ -59,7 +59,21 @@ export default class Flamegraph {
|
|
|
59
59
|
render(options?: {
|
|
60
60
|
renderRects?: boolean;
|
|
61
61
|
renderText?: boolean;
|
|
62
|
-
|
|
62
|
+
highlightQueryOverride?: string;
|
|
63
|
+
renderMode?: 'normal' | 'highlightOnly' | 'forceGrey';
|
|
64
|
+
levelStart?: number;
|
|
65
|
+
levelEnd?: number;
|
|
66
|
+
startI?: number;
|
|
67
|
+
startJ?: number;
|
|
68
|
+
timeBudgetMs?: number;
|
|
69
|
+
skipCanvasResize?: boolean;
|
|
70
|
+
skipDprScale?: boolean;
|
|
71
|
+
devicePixelRatio?: number;
|
|
72
|
+
}): {
|
|
73
|
+
done: boolean;
|
|
74
|
+
nextI: number;
|
|
75
|
+
nextJ: number;
|
|
76
|
+
};
|
|
63
77
|
private pxPerTick;
|
|
64
78
|
private tickToX;
|
|
65
79
|
private updateCachedMetrics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flamegraph.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/Flamegraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAEL,WAAW,EAIZ,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AASvE,MAAM,CAAC,OAAO,OAAO,UAAU;IAM3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,MAAM;IACd;;;OAGG;IACH,OAAO,CAAC,WAAW;IACnB;;;OAGG;IAEH,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,IAAI;IAEZ,OAAO,CAAC,OAAO;IAEf,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC;IA9BnB,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,eAAe,CAAuB;gBAG3B,WAAW,EAAE,WAAW,EACjC,MAAM,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"Flamegraph.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/Flamegraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAEL,WAAW,EAIZ,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AASvE,MAAM,CAAC,OAAO,OAAO,UAAU;IAM3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,MAAM;IACd;;;OAGG;IACH,OAAO,CAAC,WAAW;IACnB;;;OAGG;IAEH,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,IAAI;IAEZ,OAAO,CAAC,OAAO;IAEf,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC;IA9BnB,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,WAAW,CAAuD;IAC1E,OAAO,CAAC,eAAe,CAAuB;gBAG3B,WAAW,EAAE,WAAW,EACjC,MAAM,EAAE,iBAAiB,GAAG,eAAe;IACnD;;;OAGG;IACK,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE;;;OAGG;IAEc,OAAO,EAAE,MAAM,GAAG,MAAM;IACzC;;;;;OAKG;IACc,cAAc,EAAE,MAAM,EAC/B,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,EAEnD,OAAO,EAAE,iBAAiB;IAElC,yCAAyC;IACjC,QAAQ,CAAC,EAAE,kBAAkB;IAuBhC,MAAM,CAAC,OAAO,CAAC,EAAE;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,UAAU,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,WAAW,CAAC;QACtD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAiEnD,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,OAAO,CAMb;IAEF,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,QAAQ;IA2FhB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,YAAY;IAmEpB,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,eAAe,CA4BrB;IAEF,OAAO,CAAC,WAAW,CAoCjB;IAEK,cAAc,MAAO,MAAM,KAAK,MAAM,aAe3C;IAMK,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcpC"}
|
|
@@ -8,13 +8,22 @@ export interface CanvasI18nMessages {
|
|
|
8
8
|
isZh?: boolean;
|
|
9
9
|
}
|
|
10
10
|
type CanvasRendererConfig = Flamebearer & {
|
|
11
|
-
canvas: HTMLCanvasElement;
|
|
11
|
+
canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
12
12
|
focusedNode: ConstructorParameters<typeof Flamegraph>[2];
|
|
13
13
|
fitMode: ConstructorParameters<typeof Flamegraph>[3];
|
|
14
14
|
highlightQuery: ConstructorParameters<typeof Flamegraph>[4];
|
|
15
15
|
zoom: ConstructorParameters<typeof Flamegraph>[5];
|
|
16
16
|
renderRects?: boolean;
|
|
17
17
|
renderText?: boolean;
|
|
18
|
+
renderMode?: 'normal' | 'highlightOnly' | 'forceGrey';
|
|
19
|
+
levelStart?: number;
|
|
20
|
+
levelEnd?: number;
|
|
21
|
+
startI?: number;
|
|
22
|
+
startJ?: number;
|
|
23
|
+
timeBudgetMs?: number;
|
|
24
|
+
skipCanvasResize?: boolean;
|
|
25
|
+
skipDprScale?: boolean;
|
|
26
|
+
devicePixelRatio?: number;
|
|
18
27
|
/**
|
|
19
28
|
* Used when zooming, values between 0 and 1.
|
|
20
29
|
* For illustration, in a non zoomed state it has the value of 0
|
|
@@ -32,6 +41,10 @@ type CanvasRendererConfig = Flamebearer & {
|
|
|
32
41
|
/** i18n messages for collapsed text */
|
|
33
42
|
messages?: CanvasI18nMessages;
|
|
34
43
|
};
|
|
35
|
-
export default function RenderCanvas(props: CanvasRendererConfig):
|
|
44
|
+
export default function RenderCanvas(props: CanvasRendererConfig): {
|
|
45
|
+
done: boolean;
|
|
46
|
+
nextI: number;
|
|
47
|
+
nextJ: number;
|
|
48
|
+
};
|
|
36
49
|
export {};
|
|
37
50
|
//# sourceMappingURL=Flamegraph_render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flamegraph_render.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/Flamegraph_render.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAY,WAAW,EAAW,MAAM,cAAc,CAAC;AAuB9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"Flamegraph_render.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/Flamegraph_render.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAY,WAAW,EAAW,MAAM,cAAc,CAAC;AAuB9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuHD,KAAK,oBAAoB,GAAG,WAAW,GAAG;IACxC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;IAC5C,WAAW,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,cAAc,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,QAAQ,GAAG,eAAe,GAAG,WAAW,CAAC;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAE/B,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAeF,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,KAAK,EAAE,oBAAoB,GAC1B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsWjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Highlight.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/Highlight.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,WAAW,cAAc;IAE7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACpD,iBAAiB,EAAE,CACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,KACN,KAAK,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IAEH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AACD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"Highlight.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/Highlight.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,WAAW,cAAc;IAE7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACpD,iBAAiB,EAAE,CACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,KACN,KAAK,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IAEH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AACD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,cAAc,2CAmGtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,UAAU,MAAM,cAAc,CAAC;AAStC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/FlameGraph/FlameGraphComponent/index.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,UAAU,MAAM,cAAc,CAAC;AAStC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AAMrE,UAAU,eAAe;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,cAAc,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,EAAE,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5B,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACvD,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,aAAa,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAEpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC;IAEvB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,UAAU,CAAC,EAAE;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QACtC,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,IAAI,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,eAAe,2CAukBjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/FlameGraph/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKjD,wBAAgB,SAAS,CAAC,CAAC,EAAE;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/FlameGraph/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKjD,wBAAgB,SAAS,CAAC,CAAC,EAAE;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,GAAG,WAAW,CAqDd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniqueness.d.ts","sourceRoot":"","sources":["../../src/FlameGraph/uniqueness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"uniqueness.d.ts","sourceRoot":"","sources":["../../src/FlameGraph/uniqueness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,WAAW,WAKvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilerTable.d.ts","sourceRoot":"","sources":["../src/ProfilerTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAU,SAAS,
|
|
1
|
+
{"version":3,"file":"ProfilerTable.d.ts","sourceRoot":"","sources":["../src/ProfilerTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAU,SAAS,EAA6C,MAAM,OAAO,CAAC;AAC5F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAKvC,OAAO,EAAsB,WAAW,EAAY,MAAM,UAAU,CAAC;AAerE,OAAO,EAAoB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAMvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AA0M5E,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,CAAC,OAAO,KAAK,CAAC,EACjC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GACf,KAAK,CAAC,aAAa,CA4BrB;AAwMD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,QAAQ,CAAC;IAClB,oBAAoB,EAAE,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5B,YAAY,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAGjD,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAEpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAslBD,QAAA,MAAM,aAAa,sEAyEjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAc,EAEZ,SAAS,EAOT,QAAQ,EACR,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAOxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAGxF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,YAAY,CAAC;CACrC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,SAAS,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,CAAC;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,iBAAiB,EAAE,CACjB,UAAU,EAAE,QAAQ,CAClB,cAAc,CAAC;QACb,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC;gBACb,KAAK,EAAE,MAAM,CAAC;aACf,CAAC;SACH,CAAC;QACF,WAAW,EAAE,WAAW,EAAE,CAAC;KAC5B,CAAC,CACH,EACD,UAAU,EAAE,MAAM,IAAI,EACtB,CAAC,EAAE,UAAU,KACV,IAAI,CAAC;CACX;AAgID,wBAAgB,OAAO,CAAC,EACtB,gBAAuB,EACvB,eAAsB,EACtB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,OAAO,GACR,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AACA,OAAc,EAEZ,SAAS,EAOT,QAAQ,EACR,cAAc,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAOxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAGxF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,GAAG,YAAY,CAAC;CACrC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,SAAS,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,CAAC;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,iBAAiB,EAAE,CACjB,UAAU,EAAE,QAAQ,CAClB,cAAc,CAAC;QACb,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC;gBACb,KAAK,EAAE,MAAM,CAAC;aACf,CAAC;SACH,CAAC;QACF,WAAW,EAAE,WAAW,EAAE,CAAC;KAC5B,CAAC,CACH,EACD,UAAU,EAAE,MAAM,IAAI,EACtB,CAAC,EAAE,UAAU,KACV,IAAI,CAAC;CACX;AAgID,wBAAgB,OAAO,CAAC,EACtB,gBAAuB,EACvB,eAAsB,EACtB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,OAAO,GACR,EAAE,YAAY,2CA0Jd"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"color";import{Maybe as t}from"true-myth";import{z as n}from"zod";import{scaleLinear as r}from"d3-scale";const i=["dotnetspy","ebpfspy","gospy","phpspy","pyspy","rbspy","nodespy","javaspy","pyroscope-rs","scrape","tracing","unknown"],s=n.preprocess(e=>e&&i.includes(e)?e:"unknown",n.enum(i).default("unknown")),a=["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples","exceptions"],o=n.preprocess(e=>"string"==typeof e&&a.includes(e)?e:"unknown",n.enum(["samples","objects","goroutines","bytes","lock_samples","lock_nanoseconds","trace_samples","exceptions","unknown"])),l=n.object({names:n.array(n.preprocess(e=>e||"unknown",n.string().min(1))),levels:n.array(n.array(n.number())),numTicks:n.number(),maxSelf:n.number()}),c=n.object({appName:n.string().optional(),name:n.string().optional(),startTime:n.number().optional(),endTime:n.number().optional(),query:n.string().optional(),maxNodes:n.number().optional(),format:n.enum(["single","double"]),sampleRate:n.number(),spyName:s,units:o});n.object({version:n.number().min(1).max(1).default(1),flamebearer:l,metadata:c,leftTicks:n.number().optional(),rightTicks:n.number().optional()});const u={format:"single",jStep:4,jName:3,getBarOffset:(e,t)=>e[t],getBarTotal:(e,t)=>e[t+1],getBarTotalDiff:(e,t)=>0,getBarSelf:(e,t)=>e[t+2],getBarSelfDiff:(e,t)=>0,getBarName:(e,t)=>e[t+3]},h={format:"double",jStep:7,jName:6,getBarOffset:(e,t)=>e[t]+e[t+3],getBarTotal:(e,t)=>e[t+4]+e[t+1],getBarTotalLeft:(e,t)=>e[t+1],getBarTotalRght:(e,t)=>e[t+4],getBarTotalDiff:(e,t)=>e[t+4]-e[t+1],getBarSelf:(e,t)=>e[t+5]+e[t+2],getBarSelfLeft:(e,t)=>e[t+2],getBarSelfRght:(e,t)=>e[t+5],getBarSelfDiff:(e,t)=>e[t+5]-e[t+2],getBarName:(e,t)=>e[t+6]};function f(e){switch(e){case"single":return u;case"double":return h;default:throw new Error(`Unsupported type: '${e}'`)}}const d=n.object({refType:n.string(),traceID:n.string(),spanID:n.string()}),g=n.object({key:n.string(),type:n.string(),value:n.union([n.boolean(),n.number(),n.string()])}),m=n.object({traceID:n.string(),spanID:n.string(),flags:n.string(),operationName:n.string(),references:n.array(d),startTime:n.number(),duration:n.number(),tags:n.array(g),logs:n.object({timestamp:n.number(),fields:n.array(g)}),processID:n.string(),warnings:n.any()}),p=n.object({serviceName:n.string(),tags:n.array(g)});n.object({traceID:n.string(),spans:n.array(m),processes:n.record(p),warnings:n.any()});const x=n.object({watermark:n.object({}).optional(),startTime:n.number(),samples:n.array(n.number()),durationDelta:n.number()});n.record(n.string(),x);const v=22,b=21.5;function y(e,t=!1){if(!e||!t)return e;const n=function(e){if(null==e)return null;if("number"==typeof e)return{value:e,unit:"",hasLessThan:!1,sign:""};let t=String(e).trim().replace(/\u2212/g,"-");if(!t)return null;let n=!1;t.startsWith("<")&&(n=!0,t=t.slice(1).trim());const r=t.match(/^([+\-]?)(\d*\.?\d+)\s*(.*)$/);if(!r)return null;const i=r[1]||"",s=r[2],a=(r[3]||"").trim(),o=parseFloat(s);return Number.isFinite(o)?{value:o,unit:a,hasLessThan:n,sign:i}:null}(e);if(!n)return e;const{unit:r}=n;let i=r;const s=r.toLowerCase();"ms"===s?i="毫秒":"μs"===s||"µs"===s||"us"===s?i="微秒":"second"===s||"seconds"===s?i="秒":"minute"===s||"minutes"===s||"min"===s||"mins"===s?i="分钟":"hour"===s||"hours"===s?i="小时":"day"===s||"days"===s?i="天":"month"===s||"months"===s?i="月":"year"!==s&&"years"!==s||(i="年");const a=String(e).match(/^([<\s]*)([+\-]?\d*\.?\d+)(.*)$/);if(!a)return e;return`${a[1]||""}${a[2]||""} ${i}`.trim()}function k(e){return Math.round(1e4*e)/100}class T{constructor(e,t,n){this.divider=1,this.enableSubsecondPrecision=!1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],this.units="",n&&(this.enableSubsecondPrecision=n,this.durations=[[1e3,"ms"],[1e3,"second"],...this.durations],this.suffix="μs",e*=1e6),this.units=t||"";for(let t=0;t<this.durations.length;t++){const n=this.durations[t];if(!n){console.warn("Could not calculate level");break}if(!(e>=n[0]))break;this.divider*=n[0],e/=n[0],this.suffix=n[1]}}format(e,t,n=!0){this.enableSubsecondPrecision&&(t/=1e6);const r=e/t/this.divider;let i=r.toFixed(2);return 0===r?i="0.00":(r>=0&&r<.01||r<=0&&r>-.01)&&(i="< 0.01"),n?`${i} ${this.units||`${this.suffix}${1===r||2===this.suffix.length?"":"s"}`}`:i}formatPrecise(e,t){this.enableSubsecondPrecision&&(t/=1e6);const n=e/t/this.divider;return`${parseFloat(n.toFixed(5))} ${this.units||`${this.suffix}${1===n||2===this.suffix.length?"":"s"}`}`}}class w{constructor(e){this.divider=1,this.multiplier=1,this.suffix="second",this.durations=[[60,"minute"],[60,"hour"],[24,"day"],[30,"month"],[12,"year"]],e/=1e9;for(let t=0;t<this.durations.length;t++){const n=this.durations[t];if(!n){console.warn("Could not calculate level");break}if(!(e>=n[0]))break;this.divider*=n[0],e/=n[0],this.suffix=n[1]}}format(e){const t=e/1e9/this.divider;let n=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(n="< 0.01"),`${n} ${this.suffix}${1===t?"":"s"}`}formatPrecise(e){const t=e/1e9/this.divider;return`${parseFloat(t.toFixed(5))} ${this.suffix}${1===t?"":"s"}`}}class C{constructor(e){this.divider=1,this.suffix="",this.objects=[[1e3,"K"],[1e3,"M"],[1e3,"G"],[1e3,"T"],[1e3,"P"]];for(let t=0;t<this.objects.length;t++){const n=this.objects[t];if(!n){console.warn("Could not calculate level");break}if(!(e>=n[0]))break;this.divider*=n[0],e/=n[0],this.suffix=n[1]}}format(e){const t=e/this.divider;let n=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(n="< 0.01"),`${n} ${this.suffix}`}formatPrecise(e){const t=e/this.divider;return`${parseFloat(t.toFixed(5))} ${this.suffix}`}}class B{constructor(e){this.divider=1,this.suffix="bytes",this.bytes=[[1024,"KB"],[1024,"MB"],[1024,"GB"],[1024,"TB"],[1024,"PB"]];for(let t=0;t<this.bytes.length;t++){const n=this.bytes[t];if(!n){console.warn("Could not calculate level");break}if(!(e>=n[0]))break;{this.divider*=n[0],e/=n[0];const t=n[1];t?this.suffix=t:(console.warn("Could not calculate suffix"),this.suffix="")}}}format(e){const t=e/this.divider;let n=t.toFixed(2);return(t>=0&&t<.01||t<=0&&t>-.01)&&(n="< 0.01"),`${n} ${this.suffix}`}formatPrecise(e){const t=e/this.divider;return`${parseFloat(t.toFixed(5))} ${this.suffix}`}}function M({mode:e,charSize:t,rectWidth:n,fullText:r,shortText:i}){if("TAIL"===e){if(t*r.length<=n)return{mode:e,text:r,marginLeft:3};const s=t*i.length;return s<=n?{mode:e,text:i,marginLeft:3}:{mode:e,text:i,marginLeft:-(s-n+3)}}return{mode:e,text:r,marginLeft:3}}function j(e,t){if(e===t)return 0;if(0===e)return 100;const n=(t-e)/e*100;return n>100?100:n<-100?-100:n}function S(t,n){return e.rgb(t,t,t).alpha(n)}function N(e,t){if(0===t.length)return t;const n=function(e){switch(e){case"dotnetspy":return/^(?<packageName>.+)\.(.+)\.(.+)\(.*\)$/;case"ebpfspy":case"unknown":return/^(?<packageName>.+)$/;case"gospy":case"scrape":return/^(?<packageName>.*?\/.*?\.|.*?\.|.+)(?<functionName>.*)$/;case"phpspy":return/^(?<packageName>(.*\/)*)(?<filename>.*\.php+)(?<line_info>.*)$/;case"pyspy":return/^(?<packageName>(.*\/)*)(?<filename>.*\.py+)(?<line_info>.*)$/;case"rbspy":return/^(?<packageName>(.*\/)*)(?<filename>.*\.rb+)(?<line_info>.*)$/;case"nodespy":return/^(\.\/node_modules\/)?(?<packageName>[^/]*)(?<filename>.*\.?(jsx?|tsx?)?):(?<functionName>.*):(?<line_info>.*)$/;case"tracing":return/^(?<packageName>.+?):.*$/;case"javaspy":return/^(?<packageName>.+\/)(?<filename>.+\.)(?<functionName>.+)$/;case"pyroscope-rs":return/^(?<packageName>[^::]+)/}return/^(?<packageName>.+)$/}(e),r=t.match(n);return r&&r.groups?r.groups.packageName||"":t}function $(e,t){const n=function(e,t=0){let n,r,i,s,a,o,l,c;for(n=3&e.length,r=e.length-n,i=t,a=3432918353,o=461845907,c=0;c<r;)l=255&e.charCodeAt(c)|(255&e.charCodeAt(++c))<<8|(255&e.charCodeAt(++c))<<16|(255&e.charCodeAt(++c))<<24,++c,l=(65535&l)*a+(((l>>>16)*a&65535)<<16)&4294967295,l=l<<15|l>>>17,l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295,i^=l,i=i<<13|i>>>19,s=5*(65535&i)+((5*(i>>>16)&65535)<<16)&4294967295,i=27492+(65535&s)+(((s>>>16)+58964&65535)<<16);switch(l=0,n){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:l^=255&e.charCodeAt(c);default:l=(65535&l)*a+(((l>>>16)*a&65535)<<16)&4294967295,l=l<<15|l>>>17,l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295,i^=l}return i^=e.length,i^=i>>>16,i=2246822507*(65535&i)+((2246822507*(i>>>16)&65535)<<16)&4294967295,i^=i>>>13,i=3266489909*(65535&i)+((3266489909*(i>>>16)&65535)<<16)&4294967295,i^=i>>>16,i>>>0}(t,0)%e.colors.length,r=e.colors[n];return r||(console.warn("Could not calculate color. Defaulting to the first one"),e.colors[0])}function P(t){const{goodColor:n,neutralColor:i,badColor:s}=t,a=r().domain([-100,0,100]).range([n.rgb().toString(),i.rgb().toString(),s.rgb().toString()]);return t=>e(a(t).toString())}e.rgb(148,142,142),e.rgb(200,0,0),e.rgb(0,170,0),e("#48CE73");const R=new WeakMap,I=new WeakMap,J=new WeakMap,L=new WeakMap;const O={collapsedLevelsSingular:"total (1 level collapsed)",collapsedLevelsPlural:"total ({n} levels collapsed)",isZh:!1};function E(e){var t,n,r,i,s,a,o,l;const c=performance.now(),u=!1!==e.renderRects,d=!1!==e.renderText,g=null!==(t=e.renderMode)&&void 0!==t?t:"normal",m=e.timeBudgetMs,{canvas:p,fitMode:x,units:y,tickToX:E,levels:z,palette:_}=e,{numTicks:A,sampleRate:Q,pxPerTick:X}=e,{rangeMin:U,rangeMax:G}=e,{focusedNode:Z,zoom:q}=e,H=e.messages||O,K=e.skipCanvasResize?p.width:function(e){if("clientWidth"in e&&"number"==typeof e.clientWidth)return e.clientWidth;return e.width}(p);if(e.skipCanvasResize||(p.width=K),U>=G)throw new Error("'rangeMin' should be strictly smaller than 'rangeMax'");const{format:Y}=e,V=f(Y),ee=p.getContext("2d");if(!ee)throw new Error("Could not get ctx");const te=q.mapOrElse(()=>0,e=>e.i),ne=function(e,t,n){switch(n){case"samples":return new T(e/t);case"objects":case"goroutines":case"lock_samples":case"exceptions":return new C(e);case"bytes":return new B(e);case"lock_nanoseconds":return new w(e);case"trace_samples":return new T(e/t,"",!0);default:return console.warn(`Unsupported unit: '${n}'. Defaulting to ''`),new T(e/t," ")}}(A,Q,y),re=Z.isJust,ie=Z.mapOrElse(()=>0,e=>e.i),se=re?b:0,ae=!!e.highlightQuery&&e.highlightQuery.length>0,oe=v*(z.length-ie)+(re?b:0);e.skipCanvasResize||(p.height=oe);const le="number"==typeof e.devicePixelRatio?e.devicePixelRatio:"undefined"!=typeof devicePixelRatio?devicePixelRatio:1;!e.skipDprScale&&le>1&&(p.width*=le,p.height*=le,ee.scale(le,le)),ee.textBaseline="middle",ee.font="400 11.5px SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace";const ce=ee.measureText("a").width,{names:ue}=e,he=function(e){const t=R.get(e);if(t)return t;const n=new Map;return R.set(e,n),n}(p),fe=ae?function(e,t){const n=I.get(e);if(n){const e=n.get(t);if(e)return e}const r=t.toLowerCase(),i=new Uint8Array(e.length);for(let t=1;t<e.length;t+=1){const n=e[t];n&&n.toLowerCase().includes(r)&&(i[t]=1)}const s=null!=n?n:new Map;return s.set(t,i),I.set(e,s),i}(ue,e.highlightQuery):null,de="single"===e.format?function(e,t,n){const r=`${t}|${n.name}`,i=J.get(e);if(i){const e=i.get(r);if(e)return e}const s=new Array(e.length);for(let r=0;r<e.length;r+=1){const i=N(t,e[r]||"")||"";s[r]=$(n,i)}const a=null!=i?i:new Map;return a.set(r,s),J.set(e,a),s}(ue,e.spyName,_):null,ge="double"===e.format?P({name:_.name,goodColor:_.goodColor,neutralColor:_.neutralColor,badColor:_.badColor}):null,me=(e,t)=>{const n=e[t+V.jName];return!(!n||n<0||!fe)&&1===fe[n]},pe=null!==(n=e.startI)&&void 0!==n?n:0,xe=null!==(r=e.startJ)&&void 0!==r?r:0;if(re&&"highlightOnly"!==g&&0===(null!==(i=e.levelStart)&&void 0!==i?i:0)&&0===pe&&0===xe){const e=A*X;u&&(ee.beginPath(),ee.rect(0,0,A*X,b),ee.fillStyle=S(200,1).rgb().string(),ee.fill());const t=Z.mapOrElse(()=>"total",e=>function(e,t){return 1===e?t.collapsedLevelsSingular:t.collapsedLevelsPlural.replace("{n}",String(e))}(e.i-1,H)),n=M({mode:x,charSize:ce,rectWidth:e,fullText:t,shortText:t}),r=0,i=0,s=b;if(d){ee.beginPath(),ee.rect(0,0,e,b),ee.save(),ee.clip(),ee.fillStyle="black";const t=Math.round(Math.max(r,0));ee.fillText(n.text,t+n.marginLeft,i+s/2+1),ee.restore()}}const ve=Math.max(0,null!==(s=e.levelStart)&&void 0!==s?s:0),be=z.length-ie,ye=Math.min(be,null!==(a=e.levelEnd)&&void 0!==a?a:be),ke=Math.max(ve,null!==(o=e.startI)&&void 0!==o?o:ve),Te=Math.max(0,null!==(l=e.startJ)&&void 0!==l?l:0),{spyName:we}=e,Ce=(t,n,r,i,s)=>{const a={level:t,j:n,i:r+Z.mapOrElse(()=>0,e=>e.i),names:ue,collapsed:i,selectedLevel:te,highlightModeOn:ae,isHighlighted:s,spyName:we,palette:_,colorByNameIndex:de,diffColorFn:ge};switch(Y){case"single":return function(e){const t=W(e);if(t)return t;const n=f("single"),r=e.selectedLevel>e.i?.33:1;let i=e.level[e.j+n.jName];void 0===i&&(console.warn("Could nto find level",{l:e.j,jName:n.jName,level:e.level}),i=-1);if(e.colorByNameIndex&&i>=0&&e.colorByNameIndex[i])return e.colorByNameIndex[i].alpha(r);const s=e.names[i]||"",a=N(e.spyName,s)||"";return $(e.palette,a).alpha(r)}({...a});case"double":return function(e){const t=W(e);if(t)return t;const n=e.selectedLevel>e.i?.33:1,{leftRatio:r,rightRatio:i}=function(e,t,n,r){const i=h;return n&&r?{leftRatio:i.getBarTotalLeft(e,t)/n,rightRatio:i.getBarTotalRght(e,t)/r}:(console.error("Properties 'rightTicks' and 'leftTicks' are required. Can't calculate ratio."),{leftRatio:0,rightRatio:0})}(e.level,e.j,e.leftTicks,e.rightTicks),s=k(r),a=k(i);if(e.diffColorFn)return e.diffColorFn(j(s,a)).alpha(n);return function(e,t,n){const r=j(t,n);return P(e)(r)}(e.palette,s,a).alpha(n)}({...a,leftTicks:e.leftTicks,rightTicks:e.rightTicks});default:throw new Error(`Unsupported format: ${Y}`)}};if("highlightOnly"===g&&ae&&u){const e=function(e,t){const n=L.get(e);if(n)return n;const r=f(t),i=new Map;for(let t=0;t<e.length;t+=1){const n=e[t];for(let e=0;e<n.length;e+=r.jStep){const s=r.getBarName(n,e);if(void 0===s||s<0)continue;const a=i.get(s);a?a.push({i:t,j:e}):i.set(s,[{i:t,j:e}])}}return L.set(e,i),i}(z,Y),t=[];for(let e=1;e<ue.length;e+=1)fe&&1===fe[e]&&t.push(e);for(let n=0;n<t.length;n+=1){const r=t[n],i=e.get(r);if(i)for(let e=0;e<i.length;e+=1){const t=i[e],n=t.i-ie;if(t.i<ie||n<ve||n>=ye)continue;const r=z[t.i],s=E(V.getBarOffset(r,t.j)),a=n*v+se,o=b,l=V.getBarTotal(r,t.j),c=l*X<=5,u=l*X-(c?0:.5);if(u<=0)continue;ee.beginPath(),ee.rect(s,a,u,o);const h=Ce(r,t.j,n,c,!0);ee.fillStyle=h.string(),ee.fill()}}return{done:!0,nextI:ye,nextJ:0}}for(let e=ke;e<ye;e+=1){const t=z[ie+e];if(!t)throw new Error(`Could not find level: ${ie+e}`);let n=e===ke?Te:0;for(;n<t.length;n+=V.jStep){const r=V.getBarOffset(t,n),i=E(r),s=e*v+se,a=b,o=ae&&me(t,n);let l=V.getBarTotal(t,n);const h=l*X<=5;if(h)for(;n<t.length-V.jStep&&r+l===V.getBarOffset(t,n+V.jStep)&&V.getBarTotal(t,n+V.jStep)*X<=5&&o===(ae&&me(t,n+V.jStep));)n+=V.jStep,l+=V.getBarTotal(t,n);const f=l*X-(h?0:.5);if(ee.beginPath(),ee.rect(i,s,f,a),u){if("forceGrey"===g)ee.fillStyle=S(200,.66).rgb().string();else{const r=Ce(t,n,e,h,o);ee.fillStyle=r.string()}ee.fill()}if(!d||h||"forceGrey"===g){if(m&&performance.now()-c>m)return{done:!1,nextI:e,nextJ:n+V.jStep};continue}if(f<20)continue;const p=F(ue,n,Y,t),y=M({mode:x,charSize:ce,rectWidth:f,fullText:D(p,l,Q,ne,H,he),shortText:p});ee.save(),ee.clip(),ee.fillStyle="black";const k=Math.round(Math.max(i,0));if(ee.fillText(y.text,k+y.marginLeft,s+a/2+1),ee.restore(),m&&performance.now()-c>m)return{done:!1,nextI:e,nextJ:n+V.jStep}}if(m&&performance.now()-c>m)return{done:!1,nextI:e+1,nextJ:0}}return{done:!0,nextI:ye,nextJ:0}}function F(e,t,n,r){let i=r[t+f(n).jName];void 0===i&&(i=-1);const s=e[i];return s||(console.warn("Could not find function name for",{j:t,format:n,level:r,names:e}),"")}function D(e,t,n,r,i,s){let a=null==s?void 0:s.get(t);if(!a){const e=r.format(t,n);a=y(e,!!i.isZh)||e,null==s||s.set(t,a)}return`${e} (${a})`}function W({collapsed:e,highlightModeOn:t,isHighlighted:n}){return e||t&&!n?S(200,.66):null}class z{constructor(e,t,n,r,i,s,a,o){if(this.flamebearer=e,this.canvas=t,this.focusedNode=n,this.fitMode=r,this.highlightQuery=i,this.zoom=s,this.palette=a,this.messages=o,this.cachedRange=null,this.cachedPxPerTick=null,this.tickToX=e=>{var t;const n=this.cachedRange?this.cachedRange.rangeMin:this.getRange().rangeMin,r=null!==(t=this.cachedPxPerTick)&&void 0!==t?t:this.pxPerTick();return(e-this.flamebearer.numTicks*n)*r},this.xyToBarPosition=e=>{const{ff:t}=this,{i:n,j:r}=this.xyToBarIndex(e.x,e.y),i=this.focusedNode.mapOrElse(()=>0,e=>e.i<0?0:e.i-1),s=this.flamebearer.levels[n];if(!s)throw new Error(`Could not find level: '${n}'`);const a=Math.max(this.tickToX(t.getBarOffset(s,r)),0);return{x:a,y:Math.max((n-i)*v,0),width:Math.min(this.tickToX(t.getBarOffset(s,r)+t.getBarTotal(s,r))-a,this.getCanvasWidth())}},this.xyToBarData=e=>{const{i:t,j:n}=this.xyToBarIndex(e.x,e.y),r=this.flamebearer.levels[t];if(!r)throw new Error(`Could not find level: '${t}'`);switch(this.flamebearer.format){case"single":{const e=u;return{format:"single",name:this.flamebearer.names[e.getBarName(r,n)],self:e.getBarSelf(r,n),offset:e.getBarOffset(r,n),total:e.getBarTotal(r,n)}}case"double":{const e=h;return{format:"double",barTotal:e.getBarTotal(r,n),totalLeft:e.getBarTotalLeft(r,n),totalRight:e.getBarTotalRght(r,n),totalDiff:e.getBarTotalDiff(r,n),name:this.flamebearer.names[e.getBarName(r,n)]}}default:throw new Error("Unsupported type")}},this.isWithinBounds=(e,t)=>{if(e<0||e>this.getCanvasWidth())return!1;try{const{i:n,j:r}=this.xyToBarIndex(e,t);if(-1===r||-1===n)return!1}catch(e){return!1}return!0},this.zoom=s,this.focusedNode=n,this.flamebearer=e,this.canvas=t,this.highlightQuery=i,this.ff=f(e.format),this.palette=a,this.messages=o,n.isJust&&s.isJust&&s.value.i<n.value.i)throw new Error("Zoom i level should be bigger than Focus")}render(e){var t;const{rangeMin:n,rangeMax:r,pxPerTick:i}=this.updateCachedMetrics(),s=null!==(t=null==e?void 0:e.highlightQueryOverride)&&void 0!==t?t:this.highlightQuery,a={canvas:this.canvas,format:this.flamebearer.format,numTicks:this.flamebearer.numTicks,sampleRate:this.flamebearer.sampleRate,names:this.flamebearer.names,levels:this.flamebearer.levels,spyName:this.flamebearer.spyName,units:this.flamebearer.units,maxSelf:this.flamebearer.maxSelf,rangeMin:n,rangeMax:r,fitMode:this.fitMode,highlightQuery:s,zoom:this.zoom,focusedNode:this.focusedNode,pxPerTick:i,tickToX:e=>(e-this.flamebearer.numTicks*n)*i,palette:this.palette,messages:this.messages,renderRects:null==e?void 0:e.renderRects,renderText:null==e?void 0:e.renderText,renderMode:null==e?void 0:e.renderMode,levelStart:null==e?void 0:e.levelStart,levelEnd:null==e?void 0:e.levelEnd,startI:null==e?void 0:e.startI,startJ:null==e?void 0:e.startJ,timeBudgetMs:null==e?void 0:e.timeBudgetMs,skipCanvasResize:null==e?void 0:e.skipCanvasResize,skipDprScale:null==e?void 0:e.skipDprScale,devicePixelRatio:null==e?void 0:e.devicePixelRatio},{format:o}=this.flamebearer;switch(o){case"single":return E({...a,format:"single"});case"double":return E({...a,leftTicks:this.flamebearer.leftTicks,rightTicks:this.flamebearer.rightTicks});default:throw new Error(`Invalid format: '${o}'`)}}pxPerTick(){if(null!==this.cachedPxPerTick)return this.cachedPxPerTick;const{rangeMin:e,rangeMax:t}=this.getRange(),n=this.getCanvasWidth()/this.flamebearer.numTicks/(t-e);return this.cachedRange={rangeMin:e,rangeMax:t},this.cachedPxPerTick=n,n}updateCachedMetrics(){const{rangeMin:e,rangeMax:t}=this.getRange(),n=this.getCanvasWidth()/this.flamebearer.numTicks/(t-e);return this.cachedRange={rangeMin:e,rangeMax:t},this.cachedPxPerTick=n,{rangeMin:e,rangeMax:t,pxPerTick:n}}getRange(){const{ff:e}=this,t=t=>{const n=this.flamebearer.levels[t.i];if(!n)throw new Error(`Could not find level: '${t.i}'`);return{rangeMin:e.getBarOffset(n,t.j)/this.flamebearer.numTicks,rangeMax:(e.getBarOffset(n,t.j)+e.getBarTotal(n,t.j))/this.flamebearer.numTicks}},n=t=>{const n=this.flamebearer.levels[t.i];if(!n)throw new Error(`Could not find level: '${t.i}'`);return{rangeMin:e.getBarOffset(n,t.j)/this.flamebearer.numTicks,rangeMax:(e.getBarOffset(n,t.j)+e.getBarTotal(n,t.j))/this.flamebearer.numTicks}},{zoom:r,focusedNode:i}=this;return r.match({Just:e=>i.match({Just:r=>{const i=n(r),s=t(e);return i.rangeMax-i.rangeMin<s.rangeMax-s.rangeMin?(console.warn("Focus is smaller than range, this shouldnt happen. Verify that the zoom is always bigger than the focus."),n(r)):t(e)},Nothing:()=>t(e)}),Nothing:()=>i.match({Just:e=>n(e),Nothing:()=>({rangeMin:0,rangeMax:1})})})}getCanvasWidth(){return"clientWidth"in this.canvas&&"number"==typeof this.canvas.clientWidth?this.canvas.clientWidth:this.canvas.width}isFocused(){return this.focusedNode.isJust}binarySearchLevel(e,t){const{ff:n}=this;let r=0,i=t.length-n.jStep;for(;r<=i;){const s=n.jStep*(r/n.jStep+i/n.jStep>>1),a=this.tickToX(n.getBarOffset(t,s)),o=this.tickToX(n.getBarOffset(t,s)+n.getBarTotal(t,s));if(a<=e&&o>=e)return o-a>5?s:-1;a>e?i=s-n.jStep:r=s+n.jStep}return-1}xyToBarIndex(e,t){if(e<0||t<0)throw new Error(`x and y must be bigger than 0. x = ${e}, y = ${t}`);if(this.isFocused()&&t<=b)return{i:0,j:0};const n=this.isFocused()?t-b:t,r=this.focusedNode.mapOrElse(()=>0,e=>e.i<=0?0:e.i),i=this.zoom.match({Just:()=>this.focusedNode.match({Just:()=>r,Nothing:()=>0}),Nothing:()=>this.focusedNode.match({Just:()=>r,Nothing:()=>0})}),s=Math.floor(n/v)+i;if(s>=0&&s<this.flamebearer.levels.length){const t=this.flamebearer.levels[s];if(!t)throw new Error(`Could not find level: '${s}'`);return{i:s,j:this.binarySearchLevel(e,t)}}return{i:0,j:0}}parseXY(e,n){const r={x:e,y:n};return this.isWithinBounds(e,n)?t.of(r):t.nothing()}xyToBar(e,t){return this.parseXY(e,t).map(n=>{const{i:r,j:i}=this.xyToBarIndex(e,t);return{i:r,j:i,...this.xyToBarPosition(n),...this.xyToBarData(n)}})}}const _={rectCanvas:null,textCanvas:null,renderState:{rect:{token:0,running:!1,nextI:0,nextJ:0,firstChunk:!0,payload:null,flamegraph:null},text:{token:0,running:!1,nextI:0,nextJ:0,firstChunk:!0,payload:null,flamegraph:null}}},A=e=>e?t.just(e):t.nothing(),Q=(t,n)=>{const r=_.renderState[t],i=r.payload;if(!i||r.token!==n)return;const s="rect"===t?_.rectCanvas:_.textCanvas;if(!s)return console.debug("[flamegraph-worker] missing canvas for",t),void(r.running=!1);r.flamegraph||(r.flamegraph=new z(i.flamebearer,s,A(i.focusedNode),i.fitMode,i.highlightQuery,A(i.zoom),(t=>({name:t.name,goodColor:e.rgb(...t.goodColor),neutralColor:e.rgb(...t.neutralColor),badColor:e.rgb(...t.badColor),colors:t.colors.map(t=>e.rgb(...t))}))(i.palette),i.messages));const a=r.flamegraph.render({renderRects:i.renderRects,renderText:i.renderText,timeBudgetMs:"rect"===t?12:8,startI:r.nextI,startJ:r.nextJ,skipCanvasResize:!r.firstChunk,skipDprScale:!r.firstChunk,devicePixelRatio:i.devicePixelRatio});if(r.firstChunk=!1,!a.done)return r.nextI=a.nextI,r.nextJ=a.nextJ,void setTimeout(()=>Q(t,n),0);r.running=!1,r.nextI=0,r.nextJ=0,r.firstChunk=!0,r.flamegraph=null};self.onmessage=e=>{const t=e.data;if(t&&t.type)return"init"===t.type?("rect"===t.payload.kind?_.rectCanvas=t.payload.canvas:_.textCanvas=t.payload.canvas,void console.debug("[flamegraph-worker] init",t.payload.kind)):void("render"===t.type&&(e=>{const t="rect"===e.kind?_.rectCanvas:_.textCanvas;if(!t)return void console.debug("[flamegraph-worker] missing canvas for",e.kind);e.width>0&&(t.width=e.width);const n=_.renderState[e.kind];n.token+=1,n.running=!0,n.nextI=0,n.nextJ=0,n.firstChunk=!0,n.payload=e,n.flamegraph=null;const r=n.token;setTimeout(()=>Q(e.kind,r),0)})(t.payload))};
|
|
2
|
+
//# sourceMappingURL=flamegraphRenderWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flamegraphRenderWorker.js","sources":["../src/models/spyName.ts","../src/models/units.ts","../src/models/profile.ts","../src/models/flamebearer.ts","../src/models/trace.ts","../src/models/groups.ts","../src/FlameGraph/FlameGraphComponent/constants.ts","../src/format/format.ts","../src/fitMode/fitMode.ts","../src/FlameGraph/FlameGraphComponent/color.ts","../src/FlameGraph/FlameGraphComponent/murmur3.ts","../src/FlameGraph/FlameGraphComponent/Flamegraph_render.ts","../src/FlameGraph/FlameGraphComponent/utils.ts","../src/FlameGraph/FlameGraphComponent/Flamegraph.ts","../src/workers/flamegraphRenderWorker.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AllSpyNames","SpyNameSchema","z","preprocess","val","includes","enum","default","units","UnitsSchema","u","FlamebearerSchema","object","names","array","n","string","min","levels","number","numTicks","maxSelf","MetadataSchema","appName","optional","name","startTime","endTime","query","maxNodes","format","sampleRate","spyName","version","max","flamebearer","metadata","leftTicks","rightTicks","singleFF","jStep","jName","getBarOffset","level","j","getBarTotal","getBarTotalDiff","getBarSelf","getBarSelfDiff","getBarName","doubleFF","getBarTotalLeft","getBarTotalRght","getBarSelfLeft","getBarSelfRght","createFF","viewType","Error","ReferencesSchema","refType","traceID","spanID","TagsSchema","key","type","value","union","boolean","TraceSpanSchema","flags","operationName","references","duration","tags","logs","timestamp","fields","processID","warnings","any","ProcessSchema","serviceName","spans","processes","record","GroupSchema","watermark","samples","durationDelta","PX_PER_LEVEL","BAR_HEIGHT","localizeDurationString","input","isZh","parsed","unit","hasLessThan","sign","s","String","trim","replace","startsWith","slice","m","match","numStr","parseFloat","Number","isFinite","parseNumericWithUnit","unitZh","toLowerCase","ratioToPercent","ratio","Math","round","DurationFormatter","constructor","maxDur","enableSubsecondPrecision","this","divider","suffix","durations","i","length","console","warn","withUnits","nStr","toFixed","formatPrecise","NanosecondsFormatter","multiplier","ObjectsFormatter","maxObjects","objects","BytesFormatter","maxBytes","bytes","fitToCanvasRect","mode","charSize","rectWidth","fullText","shortText","text","marginLeft","shortTextWidth","diffPercent","leftPercent","rightPercent","result","colorGreyscale","v","a","Color","rgb","alpha","getPackageNameFromStackTrace","stackTrace","regexp","spyToRegex","fullStackGroups","groups","colorBasedOnPackageName","palette","colorIndex","seed","remainder","h1","h1b","c1","c2","k1","charCodeAt","murmurhash3_32_gc","colors","baseClr","NewDiffColor","props","goodColor","neutralColor","badColor","color","scaleLinear","domain","range","toString","formattedValueCacheByCanvas","WeakMap","highlightCacheByNames","colorCacheByNames","barIndexByLevels","defaultCanvasMessages","collapsedLevelsSingular","collapsedLevelsPlural","RenderCanvas","renderStart","performance","now","renderRects","renderText","renderMode","_a","timeBudgetMs","canvas","fitMode","tickToX","pxPerTick","rangeMin","rangeMax","focusedNode","zoom","messages","graphWidth","skipCanvasResize","width","clientWidth","getCanvasWidth","ff","ctx","getContext","selectedLevel","mapOrElse","formatter","getFormatter","isFocused","isJust","topLevel","f","focusOffset","highlightModeOn","highlightQuery","canvasHeight","height","dpr","devicePixelRatio","skipDprScale","scale","textBaseline","font","characterSize","measureText","formattedValueCache","cached","get","next","Map","set","getFormattedValueCache","highlightByNameIndex","cachedByQuery","queryLower","matches","Uint8Array","nextMap","getHighlightByNameIndex","colorByNameIndex","cachedByPalette","Array","packageName","getColorByNameIndexCached","diffColorFn","isHighlightedAt","nameIndex","initialStartI","_b","startI","initialStartJ","_c","startJ","_d","levelStart","beginPath","rect","fillStyle","fill","shortName","levelCount","getCollapsedText","fitCalc","x","y","sh","save","clip","namePosX","fillText","restore","_e","maxLevels","levelEnd","_f","renderStartI","_g","renderStartJ","_h","getColorForBar","collapsed","isHighlighted","common","cfg","getColorCommon","l","undefined","getColorSingle","leftRatio","rightRatio","error","getRatios","colorBasedOnDiffPercent","getColorDouble","barIndex","index","list","push","getBarIndex","highlightNameIndices","entries","k","entry","relativeLevel","numBarTicks","sw","done","nextI","nextJ","getFunctionName","getLongName","cachedValue","formatted","Flamegraph","cachedRange","cachedPxPerTick","getRange","xyToBarPosition","xy","xyToBarIndex","node","posX","xyToBarData","self","offset","total","barTotal","totalLeft","totalRight","totalDiff","isWithinBounds","e","render","options","updateCachedMetrics","highlightQueryOverride","calculatedZoomRange","calculatedFocusRange","Just","fRange","zRange","Nothing","binarySearchLevel","x0","x1","computedY","compensatedFocusedY","compensation","floor","parseXY","Maybe","of","nothing","xyToBar","map","xyWithinBounds","state","rectCanvas","textCanvas","renderState","token","running","firstChunk","payload","flamegraph","toMaybe","just","runChunk","kind","debug","c","buildPalette","setTimeout","onmessage","event","msg","data","renderFlamegraph"],"mappings":"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"}
|