The parse_test_metrics.py script can be used to parse test metrics json files. Run the following
command to see a demo:
python parse_test_metrics.py CtsCameraTestCases.reportlog.json

To parse multiple files, list all files as arguments. Try the following:
python parse_test_metrics.py CtsCameraTestCases.reportlog.json CtsUiHostTestCases.reportlog.json
python parse_test_metrics.py *.json

Test metrics json files can be found in $CTS_ROOT/repository/results/$RESULT_DIR/report-log-files/
directory.

The MetricsParser class defines functions to parse a json file. The _Parse function takes a filename
as input, reads the json file and adds the json object to json_data. The _PrintJson function
takes the filename and corresponding json_data and prints out the streams as key, value pairs.
