parse static method
Given a Google benchmark json output, parse its content into a list of MetricPoint.
Implementation
static Future<List<MetricPoint>> parse(String jsonFileName) async {
final Map<String, dynamic> jsonResult =
jsonDecode(File(jsonFileName).readAsStringSync())
as Map<String, dynamic>;
final Map<String, dynamic> rawContext =
jsonResult['context'] as Map<String, dynamic>;
final Map<String, String> context = rawContext.map<String, String>(
(String k, dynamic v) => MapEntry<String, String>(k, v.toString()),
)..removeWhere((String k, String v) => _kContextIgnoreKeys.contains(k));
final List<MetricPoint> points = <MetricPoint>[];
for (final dynamic item in jsonResult['benchmarks'] as List<dynamic>) {
_parseAnItem(item as Map<String, dynamic>, points, context);
}
return points;
}