From a0d7e2d5234dd53d85a03f451150c49cd06f8efb Mon Sep 17 00:00:00 2001 From: Matthew Stidham Date: Wed, 28 Apr 2021 17:24:12 -0700 Subject: [PATCH] Create new Influx dashboards from a CSV Signed-off-by: Matthew Stidham --- py-scripts/csv_to_grafana.py | 16 +++++----------- py-scripts/csv_to_influx.py | 3 ++- py-scripts/grafana_profile.py | 9 +++++++++ py-scripts/wifi_cap_to_influx.sh | 0 4 files changed, 16 insertions(+), 12 deletions(-) create mode 100644 py-scripts/wifi_cap_to_influx.sh diff --git a/py-scripts/csv_to_grafana.py b/py-scripts/csv_to_grafana.py index d7b91576..c04134cf 100644 --- a/py-scripts/csv_to_grafana.py +++ b/py-scripts/csv_to_grafana.py @@ -252,17 +252,11 @@ def main(): scriptname = csvtoinflux.script_name() - if args.panel_name is None: - panel_name = scriptname - else: - panel_name = args.panel_name - - DataToGrafana = data_to_grafana(_bucket=args.influx_bucket, - _script=scriptname, - _panel_name=panel_name) - csvtoinflux.post_to_influx() - grafana_input = DataToGrafana.json_parser + GrafanaDB.create_custom_dashboard(scripts=[scriptname], + title=args.panel_name, + bucket=args.influx_bucket) - GrafanaDB.GR.create_dashboard_from_dict(dictionary=grafana_input) +if __name__ == "__main__": + main() diff --git a/py-scripts/csv_to_influx.py b/py-scripts/csv_to_influx.py index 6135dc5c..df924b5b 100755 --- a/py-scripts/csv_to_influx.py +++ b/py-scripts/csv_to_influx.py @@ -96,6 +96,7 @@ class CSVtoInflux(Realm): line = line.split('\t') test_id_index = line.index('test-id') line = fp.readline() + line.split('\t') return line[test_id_index] @@ -113,7 +114,7 @@ def main(): debug = False parser = argparse.ArgumentParser( - prog='test_l3_longevity.py', + prog='csv_to_influx.py', # formatter_class=argparse.RawDescriptionHelpFormatter, formatter_class=argparse.RawTextHelpFormatter, epilog=''' diff --git a/py-scripts/grafana_profile.py b/py-scripts/grafana_profile.py index 17bb179b..7059d267 100755 --- a/py-scripts/grafana_profile.py +++ b/py-scripts/grafana_profile.py @@ -145,6 +145,13 @@ class UseGrafana(LFCliBase): fieldConfig['defaults'] = dict() fieldConfig['overrides'] = list() + transformation = dict() + transformation['id'] = "renameByRegex" + transformation_options = dict() + transformation_options['regex'] = "(.*) value.*" + transformation_options['renamePattern'] = "$1" + transformation['options'] = transformation_options + xaxis = dict() xaxis['buckets'] = None xaxis['mode'] = "time" @@ -195,6 +202,8 @@ class UseGrafana(LFCliBase): panel['timeRegions'] = list() panel['timeShift'] = None panel['title'] = scriptname+' '+graph_group + panel['transformations'] = list() + panel['transformations'].append(transformation) panel['type'] = "graph" panel['xaxis'] = xaxis panel['yaxes'] = list() diff --git a/py-scripts/wifi_cap_to_influx.sh b/py-scripts/wifi_cap_to_influx.sh new file mode 100644 index 00000000..e69de29b