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;