You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Fix inlined-frame iteration order in buildFlamegraphTree. Per blazesym,
an array entry in callframeSymbols is [outermost, ..., innermost] — the
real function at the address is at [0] and [i>0] are inlined callees. The
previous implementation iterated N→0, which inverted the call graph in the
flamegraph (inner inlined functions appeared as parents of the outer
function they were inlined into). Now iterates 0→N, matching caller→callee.
Skip nullish slots so sparse arrays (from out-of-order SymbolTableEntry
events) no longer produce phantom (unknown) tree levels.
2. Wrap showTaskDumpStack click in try/catch matching the
showIdleTimeFlamegraph pattern — errors now surface as a toast instead of
silently failing.
3. Extract renderFlamegraphInSidebar({title, subtitle, samples}) helper.
Both showTaskDumpStack and showIdleTimeFlamegraph now delegate to it,
removing ~40 lines of duplicated sidebar setup.
4. Extract drawCrossHatch(x, y, w, h) helper for the diagonal stripe pattern
used on idle periods that have a task dump.
5. Document taskDumps in the ParsedTrace schema
(dial9-trace-loading/SKILL.md) so agent skills can find it. Extend the
schema validator to understand Map<K, [{obj}]> (array-of-objects map
values).
6. Add unit tests in test_trace_analysis.js covering:
- Flamegraph inline frame ordering (catches the bug fixed in #1)
- Sparse inline arrays with undefined slots
- Unresolved address handling
- TaskDumpEvent parsing shape, sort order, task-id integrity
0 commit comments