#!/usr/bin/env python3 # Copyright 2016 gRPC authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Use to patch schema of existing scenario results tables (after adding fields). import argparse import json import os import sys gcp_utils_dir = os.path.abspath( os.path.join(os.path.dirname(__file__), "../../gcp/utils") ) sys.path.append(gcp_utils_dir) import big_query_utils _PROJECT_ID = "grpc-testing" def _patch_results_table(dataset_id, table_id): bq = big_query_utils.create_big_query() with open( os.path.dirname(__file__) + "/scenario_result_schema.json", "r" ) as f: table_schema = json.loads(f.read()) desc = "Results of performance benchmarks." return big_query_utils.patch_table( bq, _PROJECT_ID, dataset_id, table_id, table_schema ) argp = argparse.ArgumentParser( description="Patch schema of scenario results table." ) argp.add_argument( "--bq_result_table", required=True, default=None, type=str, help='Bigquery "dataset.table" to patch.', ) args = argp.parse_args() dataset_id, table_id = args.bq_result_table.split(".", 2) _patch_results_table(dataset_id, table_id) print("Successfully patched schema of %s.\n" % args.bq_result_table)