Files
dolt/benchmark/perf_tools/python/push_output_to_dolthub.py
2020-11-30 14:48:20 -08:00

35 lines
1.3 KiB
Python

from doltpy.etl import get_df_table_writer, get_dolt_loader, load_to_dolthub
from doltpy.core.system_helpers import get_logger
import pandas as pd
import argparse
import os
RESULTS_TABLE_PKS = ['username', 'timestamp', 'committish', 'test_name']
RESULTS_TABLE = 'sysbench_benchmark'
logger = get_logger(__name__)
def write_results_to_dolt(results_file: str, remote: str, branch: str):
table_writer = get_df_table_writer(RESULTS_TABLE,
lambda: pd.read_csv(results_file),
RESULTS_TABLE_PKS,
import_mode='update')
loader = get_dolt_loader(table_writer, True, 'benchmark run', branch)
load_to_dolthub(loader, clone=True, push=True, remote_name='origin', remote_url=remote)
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--results-file', type=str, required=True)
parser.add_argument('--remote-results-db', type=str, required=True)
parser.add_argument('--remote-results-db-branch', type=str, required=False, default='master')
args = parser.parse_args()
logger.info('Writing the results of the tests')
write_results_to_dolt(args.results_file, args.remote_results_db, args.remote_results_db_branch)
if __name__ == '__main__':
main()