mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Fix tracing of startup events (#59982)
When `retainPriorEvents` is passed as true, the current behavior still limits timeline events to the timestamp after `traceEvents` is called. This can cause startup events to be missing. This fixes it by passing null to `stopTracingAndDownloadTimeline` for the start and end time. Related: #58430
This commit is contained in:
parent
55abbb6be6
commit
dd6dd7aef1
@ -464,9 +464,19 @@ class VMServiceFlutterDriver extends FlutterDriver {
|
||||
List<TimelineStream> streams = const <TimelineStream>[TimelineStream.all],
|
||||
bool retainPriorEvents = false,
|
||||
}) async {
|
||||
if (!retainPriorEvents) {
|
||||
await clearTimeline();
|
||||
if (retainPriorEvents) {
|
||||
await startTracing(streams: streams);
|
||||
await action();
|
||||
|
||||
if (!(await _isPrecompiledMode())) {
|
||||
_log(_kDebugWarning);
|
||||
}
|
||||
|
||||
return stopTracingAndDownloadTimeline();
|
||||
}
|
||||
|
||||
await clearTimeline();
|
||||
|
||||
final Map<String, Object> startTimestamp = await _getVMTimelineMicros();
|
||||
await startTracing(streams: streams);
|
||||
await action();
|
||||
|
||||
@ -574,10 +574,8 @@ void main() {
|
||||
}, retainPriorEvents: true);
|
||||
|
||||
expect(log, const <String>[
|
||||
'getVMTimelineMicros',
|
||||
'startTracing',
|
||||
'action',
|
||||
'getVMTimelineMicros',
|
||||
'stopTracing',
|
||||
'download',
|
||||
]);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user