Add a flag to enable tracing to systrace. (#27208)
diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart index 9f9833f..9644887 100644 --- a/packages/flutter_tools/lib/src/android/android_device.dart +++ b/packages/flutter_tools/lib/src/android/android_device.dart
@@ -428,6 +428,8 @@ cmd.addAll(<String>['--ez', 'skia-deterministic-rendering', 'true']); if (debuggingOptions.traceSkia) cmd.addAll(<String>['--ez', 'trace-skia', 'true']); + if (debuggingOptions.traceSystrace) + cmd.addAll(<String>['--ez', 'trace-systrace', 'true']); if (debuggingOptions.debuggingEnabled) { if (debuggingOptions.buildInfo.isDebug) cmd.addAll(<String>['--ez', 'enable-checked-mode', 'true']);
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index 16b764e..352d819 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -90,6 +90,11 @@ help: 'Enable tracing of Skia code. This is useful when debugging ' 'the GPU thread. By default, Flutter will not log skia code.', ) + ..addFlag('trace-systrace', + negatable: false, + help: 'Enable tracing to the system tracer. This is only useful on ' + 'platforms where such a tracer is available (Android and Fuchsia).', + ) ..addFlag('await-first-frame-when-tracing', defaultsTo: true, help: 'Whether to wait for the first frame when tracing startup ("--trace-startup"), ' @@ -249,6 +254,7 @@ enableSoftwareRendering: argResults['enable-software-rendering'], skiaDeterministicRendering: argResults['skia-deterministic-rendering'], traceSkia: argResults['trace-skia'], + traceSystrace: argResults['trace-systrace'], observatoryPort: observatoryPort, ); }
diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart index 94030fe..9d46ffe 100644 --- a/packages/flutter_tools/lib/src/device.dart +++ b/packages/flutter_tools/lib/src/device.dart
@@ -356,6 +356,7 @@ this.enableSoftwareRendering = false, this.skiaDeterministicRendering = false, this.traceSkia = false, + this.traceSystrace = false, this.useTestFonts = false, this.observatoryPort, }) : debuggingEnabled = true; @@ -367,6 +368,7 @@ enableSoftwareRendering = false, skiaDeterministicRendering = false, traceSkia = false, + traceSystrace = false, observatoryPort = null; final bool debuggingEnabled; @@ -376,6 +378,7 @@ final bool enableSoftwareRendering; final bool skiaDeterministicRendering; final bool traceSkia; + final bool traceSystrace; final bool useTestFonts; final int observatoryPort;