🌐 AI搜索 & 代理 主页
Skip to content

Commit 19be9e5

Browse files
committed
Some simplifications
1 parent a276b42 commit 19be9e5

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

Lib/profiling/sampling/flamegraph.js

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ let currentThreadFilter = 'all';
1313
// ============================================================================
1414

1515
function resolveString(index) {
16+
if (index === null || index === undefined) {
17+
return null;
18+
}
1619
if (typeof index === 'number' && index >= 0 && index < stringTable.length) {
1720
return stringTable[index];
1821
}
@@ -338,14 +341,20 @@ function ensureLibraryLoaded() {
338341
}
339342
}
340343

344+
const HEAT_THRESHOLDS = [
345+
[0.6, 8],
346+
[0.35, 7],
347+
[0.18, 6],
348+
[0.12, 5],
349+
[0.06, 4],
350+
[0.03, 3],
351+
[0.01, 2],
352+
];
353+
341354
function getHeatLevel(percentage) {
342-
if (percentage >= 0.6) return 8;
343-
if (percentage >= 0.35) return 7;
344-
if (percentage >= 0.18) return 6;
345-
if (percentage >= 0.12) return 5;
346-
if (percentage >= 0.06) return 4;
347-
if (percentage >= 0.03) return 3;
348-
if (percentage >= 0.01) return 2;
355+
for (const [threshold, level] of HEAT_THRESHOLDS) {
356+
if (percentage >= threshold) return level;
357+
}
349358
return 1;
350359
}
351360

@@ -514,13 +523,11 @@ function clearSearch() {
514523
// Resize Handler
515524
// ============================================================================
516525

517-
function handleResize(chart, data) {
526+
function handleResize() {
518527
let resizeTimeout;
519528
window.addEventListener("resize", function () {
520529
clearTimeout(resizeTimeout);
521-
resizeTimeout = setTimeout(function () {
522-
resizeChart();
523-
}, 100);
530+
resizeTimeout = setTimeout(resizeChart, 100);
524531
});
525532
}
526533

@@ -735,11 +742,11 @@ function populateStats(data) {
735742
function collectFunctions(node) {
736743
if (!node) return;
737744

738-
let filename = typeof node.filename === 'number' ? resolveString(node.filename) : node.filename;
739-
let funcname = typeof node.funcname === 'number' ? resolveString(node.funcname) : node.funcname;
745+
let filename = resolveString(node.filename);
746+
let funcname = resolveString(node.funcname);
740747

741748
if (!filename || !funcname) {
742-
const nameStr = typeof node.name === 'number' ? resolveString(node.name) : node.name;
749+
const nameStr = resolveString(node.name);
743750
if (nameStr?.includes('(')) {
744751
const match = nameStr.match(/^(.+?)\s*\((.+?):(\d+)\)$/);
745752
if (match) {
@@ -993,7 +1000,7 @@ function initFlamegraph() {
9931000
renderFlamegraph(chart, processedData);
9941001
initSearchHandlers();
9951002
initSidebarResize();
996-
handleResize(chart, processedData);
1003+
handleResize();
9971004
}
9981005

9991006
if (document.readyState === "loading") {

0 commit comments

Comments
 (0)