record method
Records a single engine timing. This is public for deterministic host or test adapters that already receive FrameTiming from Flutter.
Implementation
void record(FrameTiming timing) {
if (!_running || _windowEnded) return;
final frame = _frame(timing, index: _seenFrames);
if (frame == null) {
_invalidFrames += 1;
return;
}
_seenFrames += 1;
if (_frames.length < maxFrames) {
_frames.add(frame);
}
for (final listener in List<CockpitPerformanceFrameListener>.of(
_frameListeners,
)) {
try {
listener(frame);
} on Object {
// A diagnostic sink must never change frame timing collection.
}
}
}