|
5 | 5 | faulthandler.enable(file=sys.__stderr__) # will catch segfaults and write to stderr |
6 | 6 |
|
7 | 7 | import argparse |
8 | | -from io import StringIO |
9 | 8 | import importlib |
10 | 9 |
|
11 | 10 | from lib.global_config import GlobalConfig |
12 | | -from lib.db import DB |
| 11 | +from lib import metric_importer |
| 12 | + |
13 | 13 |
|
14 | 14 | config = GlobalConfig().config |
15 | 15 |
|
@@ -44,11 +44,14 @@ def import_metric_provider(metric_provider): |
44 | 44 | metric_provider_obj._tmp_folder = '/non_existent_folder_which_should_never_be_accessed' |
45 | 45 | metric_provider_obj._filename = args.filename |
46 | 46 |
|
47 | | - |
48 | | - df = metric_provider_obj.read_metrics(run_id=args.run_id) |
49 | | - |
50 | | - if df is None or df.shape[0] == 0: |
51 | | - print(f"No metrics were able to be imported from: {args.filename}") |
52 | | - |
53 | | - f = StringIO(df.to_csv(index=False, header=False)) |
54 | | - DB().copy_from(file=f, table='measurements', columns=df.columns, sep=',') |
| 47 | + df = metric_provider_obj.read_metrics() |
| 48 | + |
| 49 | + if isinstance(df, list): |
| 50 | + for i, dfi in enumerate(df): |
| 51 | + if dfi is None or dfi.shape[0] == 0: |
| 52 | + print(f"No metrics were able to be imported from: {args.filename}") |
| 53 | + metric_importer.import_measurements(dfi, metric_provider_obj._sub_metrics_name[i], args.run_id) |
| 54 | + else: |
| 55 | + if df is None or df.shape[0] == 0: |
| 56 | + print(f"No metrics were able to be imported from: {args.filename}") |
| 57 | + metric_importer.import_measurements(df, metric_provider_obj._metric_name, args.run_id) |
0 commit comments