perfExtrasReader top-level property
Reader for the magic-side performance extras, the source of the report's
counters.magic and summary.routeTransitions.
Defaults to a function returning an empty structure for every key, so a host without the perf integration wired gets a valid, empty section.
Contract: set-once-per-isolate from MagicPerfIntegration.install().
Reset to this default by MagicPerfIntegration.resetForTesting(). The key
set, every map a count since perfSessionBeginHook last ran:
controllerNotifies:Map<String, int>, controller runtime type to notifies.notifyCauses:Map<String, int>, notify cause to notifies.queryReloads:Map<String, int>, query to reloads.actions:Map<String, int>, action type to runs.events:Map<String, int>, event type to dispatches.casts:Map<String, int>, cast type to applications.timerTicks:Map<String, int>, timer owner to ticks.broadcasts:Map<String, int>, broadcast event to deliveries.routeTransitions:List<Map<String, Object?>>of{route, durationMicros, time}.
Every Map<String, int> is reported raw and per painted frame, ranked and
cut to the head with the cut counted in omitted; a numeric value is
reported raw and per painted frame; any other key is ignored rather than
failing the report, so a key added here before dusk ships support for it
costs nothing.
Implementation
Map<String, Object?> Function() perfExtrasReader = () => <String, Object?>{
'controllerNotifies': <String, int>{},
'notifyCauses': <String, int>{},
'queryReloads': <String, int>{},
'actions': <String, int>{},
'events': <String, int>{},
'casts': <String, int>{},
'timerTicks': <String, int>{},
'broadcasts': <String, int>{},
'routeTransitions': <Map<String, Object?>>[],
};