From 4b46545e79a1a337203fc4097d4348bfdd704e81 Mon Sep 17 00:00:00 2001 From: Dan Field Date: Wed, 20 Jul 2022 11:37:57 -0700 Subject: [PATCH 1/3] Fix for RMS parsing --- .../lib/src/google_benchmark.dart | 2 +- .../test/example_google_benchmark.json | 27 +++++++++++++++++++ .../test/google_benchmark_test.dart | 7 +++-- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/packages/metrics_center/lib/src/google_benchmark.dart b/packages/metrics_center/lib/src/google_benchmark.dart index 809f9035cfd7..feb1f3622884 100644 --- a/packages/metrics_center/lib/src/google_benchmark.dart +++ b/packages/metrics_center/lib/src/google_benchmark.dart @@ -66,7 +66,7 @@ void _parseAnItem( ) { final String name = item[kNameKey] as String; final Map timeUnitMap = { - kUnitKey: item[_kTimeUnitKey] as String + if (item.containsKey(_kTimeUnitKey)) kUnitKey: item[_kTimeUnitKey] as String }; for (final String subResult in item.keys) { if (!_kNonNumericalValueSubResults.contains(subResult)) { diff --git a/packages/metrics_center/test/example_google_benchmark.json b/packages/metrics_center/test/example_google_benchmark.json index e2bf02837821..3a33678dd5ec 100644 --- a/packages/metrics_center/test/example_google_benchmark.json +++ b/packages/metrics_center/test/example_google_benchmark.json @@ -78,6 +78,33 @@ "real_coefficient": 6548, "big_o": "N", "time_unit": "ns" + }, + { + "name": "ParagraphFixture/TextBigO_BigO", + "family_index": 5, + "per_family_instance_index": 0, + "run_name": "ParagraphFixture/TextBigO", + "run_type": "aggregate", + "repetitions": 1, + "threads": 1, + "aggregate_name": "BigO", + "aggregate_unit": "time", + "cpu_coefficient": 3.8, + "real_coefficient": 3.89, + "big_o": "N", + "time_unit": "ns" + }, + { + "name": "ParagraphFixture/TextBigO_RMS", + "family_index": 5, + "per_family_instance_index": 0, + "run_name": "ParagraphFixture/TextBigO", + "run_type": "aggregate", + "repetitions": 1, + "threads": 1, + "aggregate_name": "RMS", + "aggregate_unit": "percentage", + "rms": 4.89 } ] } diff --git a/packages/metrics_center/test/google_benchmark_test.dart b/packages/metrics_center/test/google_benchmark_test.dart index 7dad807a92d3..5bb02cce4d5c 100644 --- a/packages/metrics_center/test/google_benchmark_test.dart +++ b/packages/metrics_center/test/google_benchmark_test.dart @@ -13,10 +13,10 @@ void main() { test('GoogleBenchmarkParser parses example json.', () async { final List points = await GoogleBenchmarkParser.parse('test/example_google_benchmark.json'); - expect(points.length, 6); + expect(points.length, 9); expectSetMatch( points.map((MetricPoint p) => p.value), - [101, 101, 4460, 4460, 6548, 6548], + [101, 101, 4460, 4460, 6548, 6548, 3.8, 3.89, 4.89], ); expectSetMatch( points.map((MetricPoint p) => p.tags[kSubResultKey]), @@ -25,6 +25,7 @@ void main() { 'real_time', 'cpu_coefficient', 'real_coefficient', + 'rms', ], ); expectSetMatch( @@ -33,6 +34,8 @@ void main() { 'BM_PaintRecordInit', 'SkParagraphFixture/ShortLayout', 'SkParagraphFixture/TextBigO_BigO', + 'ParagraphFixture/TextBigO_BigO', + 'ParagraphFixture/TextBigO_RMS', ], ); for (final MetricPoint p in points) { From 54e50dcabfe88c75a443b26ab9bbcce7b4e6c4ce Mon Sep 17 00:00:00 2001 From: Dan Field Date: Wed, 20 Jul 2022 12:41:26 -0700 Subject: [PATCH 2/3] versions --- packages/metrics_center/CHANGELOG.md | 4 ++++ packages/metrics_center/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/metrics_center/CHANGELOG.md b/packages/metrics_center/CHANGELOG.md index d4727adb0063..53d4b5159201 100644 --- a/packages/metrics_center/CHANGELOG.md +++ b/packages/metrics_center/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.5 (UNRELEASED) + +- Fix JSON parsing issue when running in sound null-safety mode. + ## 1.0.4 - Fix un-await-ed Future in `SkiaPerfDestination.update`. diff --git a/packages/metrics_center/pubspec.yaml b/packages/metrics_center/pubspec.yaml index b95ab33b8022..b147d6704580 100644 --- a/packages/metrics_center/pubspec.yaml +++ b/packages/metrics_center/pubspec.yaml @@ -1,5 +1,5 @@ name: metrics_center -version: 1.0.4 +version: 1.0.5-dev description: Support multiple performance metrics sources/formats and destinations. repository: https://github.com/flutter/packages/tree/main/packages/metrics_center From 26b421550cbc10990652f1de95b899a69484f3e0 Mon Sep 17 00:00:00 2001 From: Dan Field Date: Wed, 20 Jul 2022 12:51:56 -0700 Subject: [PATCH 3/3] make version check happy... --- packages/metrics_center/CHANGELOG.md | 2 +- packages/metrics_center/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/metrics_center/CHANGELOG.md b/packages/metrics_center/CHANGELOG.md index 53d4b5159201..ec99e057db12 100644 --- a/packages/metrics_center/CHANGELOG.md +++ b/packages/metrics_center/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.0.5 (UNRELEASED) +## 1.0.5 - Fix JSON parsing issue when running in sound null-safety mode. diff --git a/packages/metrics_center/pubspec.yaml b/packages/metrics_center/pubspec.yaml index b147d6704580..617eaddd995a 100644 --- a/packages/metrics_center/pubspec.yaml +++ b/packages/metrics_center/pubspec.yaml @@ -1,5 +1,5 @@ name: metrics_center -version: 1.0.5-dev +version: 1.0.5 description: Support multiple performance metrics sources/formats and destinations. repository: https://github.com/flutter/packages/tree/main/packages/metrics_center