diff --git a/dev/devicelab/lib/tasks/perf_tests.dart b/dev/devicelab/lib/tasks/perf_tests.dart index 83c106dcd4..2a33ec8075 100644 --- a/dev/devicelab/lib/tasks/perf_tests.dart +++ b/dev/devicelab/lib/tasks/perf_tests.dart @@ -936,6 +936,7 @@ class PerfTest { this.timelineFileName, { this.measureCpuGpu = true, this.measureMemory = true, + this.measureTotalGCTime = true, this.saveTraceFile = false, this.testDriver, this.needsFullTimeline = true, @@ -953,6 +954,7 @@ class PerfTest { this.testTarget, { this.measureCpuGpu = false, this.measureMemory = false, + this.measureTotalGCTime = false, this.testDriver = 'test_driver/e2e_test.dart', this.needsFullTimeline = false, this.benchmarkScoreKeys = _kCommonScoreKeys, @@ -979,6 +981,8 @@ class PerfTest { final bool measureCpuGpu; /// Whether to collect memory metrics. final bool measureMemory; + /// Whether to summarize total GC time on the UI thread from the timeline. + final bool measureTotalGCTime; /// Whether to collect full timeline, meaning if `--trace-startup` flag is needed. final bool needsFullTimeline; /// Whether to save the trace timeline file `*.timeline.json`. @@ -1114,6 +1118,7 @@ class PerfTest { if (data['90th_percentile_memory_usage'] != null) '90th_percentile_memory_usage', if (data['99th_percentile_memory_usage'] != null) '99th_percentile_memory_usage', ], + if (measureTotalGCTime) 'total_ui_gc_time', if (data['30hz_frame_percentage'] != null) '30hz_frame_percentage', if (data['60hz_frame_percentage'] != null) '60hz_frame_percentage', if (data['80hz_frame_percentage'] != null) '80hz_frame_percentage', diff --git a/dev/devicelab/test/perf_tests_test.dart b/dev/devicelab/test/perf_tests_test.dart index 4e923f046b..237cffb1c8 100644 --- a/dev/devicelab/test/perf_tests_test.dart +++ b/dev/devicelab/test/perf_tests_test.dart @@ -52,6 +52,7 @@ void main() { '90th_percentile_picture_cache_memory': 1, '99th_percentile_picture_cache_memory': 1, 'worst_picture_cache_memory': 1, + 'total_ui_gc_time': 1, 'new_gen_gc_count': 1, 'old_gen_gc_count': 1, 'average_vsync_transitions_missed': 1, @@ -95,6 +96,7 @@ void main() { '90th_percentile_picture_cache_memory': 1, '99th_percentile_picture_cache_memory': 1, 'worst_picture_cache_memory': 1, + 'total_ui_gc_time': 1, 'new_gen_gc_count': 1, 'old_gen_gc_count': 1, 'average_vsync_transitions_missed': 1,