parse static method

Future<List<MetricPoint>> parse(
  1. String jsonFileName
)

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;
}