perfInsightContributors top-level property
Insight rules contributed by the host, run by ext.dusk.perf_end's
insight engine after its built-in rules.
dusk owns the rules it can judge from frames alone (budget, drops, a
dominant self-time block, a count outlier, coverage). Rules that need to
know what a wind counter or a magic notify MEANS belong to the package that
can see both, magic_devtools, which appends to this list.
Each contributor receives the report as built so far (every key except
insights) and returns zero or more insights shaped
{severity: 'info'|'warn'|'error', title, evidence: {metric, value, perFrame, threshold}, nextStep, estimatedSavingsMs?, summary?, detail?}.
The engine assigns the id; summary and detail stay behind
ext.dusk.perf_insight rather than inflating the report. A contributor
that throws, or returns an insight missing a required key, costs its own
insights and becomes one warn insight naming it; the report still
returns.
Contract: appended once per isolate from MagicPerfIntegration.install(),
cleared by MagicPerfIntegration.resetForTesting(). Defaults to empty.
Implementation
List<List<Map<String, Object?>> Function(Map<String, Object?> report)>
perfInsightContributors =
<List<Map<String, Object?>> Function(Map<String, Object?> report)>[];