Why
Heap is the one governor limit with no attribution. Only the single final heapSize figure survives a parse, so "reduce heap" is advice a caller cannot act on — there is nothing to point at.
The standalone parser measures heap on every node, self and total, in three distinct ways:
heapPeak — maximum live heap. The governor-comparable one.
heapAllocated — signed net, so an allocate-then-free nets out.
heapGross — positive-only churn, that is, garbage-collection pressure.
Do
Report all three. Net alone hides churn, and churn alone overstates the cost, so one number cannot replace the set.
Two routes for the shape:
- Add heap columns to the slowest-methods table.
- Add a
sortBy: "selfTime" | "heap" parameter, so one table can be ranked either way.
Three more columns on a 13-column table will breach TOKEN_BUDGET for analyze_apex_log_performance/governor-heavy, which is 290. So route 1 is a deliberate budget edit recorded in the changelog. Route 2 looks cheaper: a few definition tokens, and no response tokens at all for callers who do not ask.
Effort
S–M. Blocked on #97.
Shares a release with #63 and #64, which reshape and rename the same table. Choose the route once, alongside those, rather than twice.
Supersedes the last bullet of #62, "once the parser gains granular heap tracking, add the top heap-consuming methods underneath".
Why
Heap is the one governor limit with no attribution. Only the single final
heapSizefigure survives a parse, so "reduce heap" is advice a caller cannot act on — there is nothing to point at.The standalone parser measures heap on every node, self and total, in three distinct ways:
heapPeak— maximum live heap. The governor-comparable one.heapAllocated— signed net, so an allocate-then-free nets out.heapGross— positive-only churn, that is, garbage-collection pressure.Do
Report all three. Net alone hides churn, and churn alone overstates the cost, so one number cannot replace the set.
Two routes for the shape:
sortBy: "selfTime" | "heap"parameter, so one table can be ranked either way.Three more columns on a 13-column table will breach
TOKEN_BUDGETforanalyze_apex_log_performance/governor-heavy, which is 290. So route 1 is a deliberate budget edit recorded in the changelog. Route 2 looks cheaper: a few definition tokens, and no response tokens at all for callers who do not ask.Effort
S–M. Blocked on #97.
Shares a release with #63 and #64, which reshape and rename the same table. Choose the route once, alongside those, rather than twice.
Supersedes the last bullet of #62, "once the parser gains granular heap tracking, add the top heap-consuming methods underneath".