def main()

in analytics/s3_test_stats_analyze.py [0:0]


def main():
    parser = argparse.ArgumentParser(
        __file__,
        description="download and cache test stats locally, both raw and pandas format",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter,
    )
    parser.add_argument(
        '--lookback',
        type=int,
        help='lookback in # of hours',
        default=24,
    )
    parser.add_argument(
        '--output',
        help='output filename',
        default='cache/df.pickle',
    )
    parser.add_argument(
        '--cache_folder',
        help='cache folder',
        default='cache',
    )
    parser.add_argument(
        '--granularity',
        choices=['file', 'suite', 'case'],
        help='granularity of stats summary',
        default='file',
    )
    args = parser.parse_args()

    lookback = args.lookback
    cache_folder = args.cache_folder
    output = args.output
    granularity = args.granularity

    print("Downloading test stats")
    download_stats(cache_folder, lookback)
    print("Parsing test stats and write to pd dataframe")
    if not os.path.exists(output):
        dataframe = parse_and_export_stats(f'{cache_folder}/test_time/', granularity)
        dataframe.to_pickle(output)