framePerfReader top-level property

Map<String, Object?> Function() framePerfReader
getter/setter pair

Reader for the current frame-performance data and liveness signal.

Defaults to a function returning an empty frame list and a liveness counter of 0, so a host without the perf integration wired gets a structurally-complete empty result rather than a null or a thrown error.

Hosts that ship fluttersdk_telescope wire the real source by writing:

framePerfReader = () => {
  'frames': TelescopeStore.recentFramePerf().map((r) => r.toJson()).toList(),
  'livenessCounter': FramePerfWatcher.livenessCounter,
};

Contract: set-once-per-isolate from MagicPerfIntegration.install(). Reset to this no-op default by MagicPerfIntegration.resetForTesting() so downstream tests asserting the missing-integration default do not see leaked bindings. Returns exactly {'frames': List<Map<String, Object?>>, 'livenessCounter': int}; the liveness counter is REQUIRED, not optional, because ext.dusk.perf_end's stalled-engine refusal is computed from it.

Implementation

Map<String, Object?> Function() framePerfReader = () => <String, Object?>{
      'frames': <Map<String, Object?>>[],
      'livenessCounter': 0,
    };