From b649c02d7548118ff4f052232a8e5bfbf00e7479 Mon Sep 17 00:00:00 2001 From: Christoph Alt <typ@ohnebild.com> Date: Fri, 14 Oct 2022 11:45:26 +0200 Subject: [PATCH] added filtering to the benchmark job runtime --- dashboards/dashboard_base.py | 9 +++++++-- dashboards/dashboard_list.py | 21 ++++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/dashboards/dashboard_base.py b/dashboards/dashboard_base.py index 6d3678c..65e1617 100644 --- a/dashboards/dashboard_base.py +++ b/dashboards/dashboard_base.py @@ -132,9 +132,10 @@ def get_stat_panel(title: str, stat_query: Query, repeat: Template = None, alias: str = "", + *, + maxPerRow=0, **kwargs): new_kwargs = { - **kwargs, 'alignment': 'center', 'colorMode': 'value', 'graphMode': 'area', @@ -142,8 +143,12 @@ def get_stat_panel(title: str, 'orientation': 'auto', 'transparent': True, } + new_kwargs.update(kwargs) if repeat: - new_kwargs.setdefault('repeat', Repeat('h', repeat.name)) + rep_args = ['h', repeat.name] + if maxPerRow: + rep_args.append(maxPerRow) + new_kwargs.setdefault('repeat', Repeat(*rep_args)) return Stat( title=title, dataSource=dataSource, diff --git a/dashboards/dashboard_list.py b/dashboards/dashboard_list.py index 7105adf..cf6c82c 100644 --- a/dashboards/dashboard_list.py +++ b/dashboards/dashboard_list.py @@ -214,12 +214,20 @@ def dashboard_general_infos(): show_tag_values("", 'host'), dataSource) + benchmark_var = get_dashboard_variable_query('benchmark', + show_tag_values(measurment_name, 'name'), + dataSource, + regex="/benchmark_(.*)_[^_]+/") + def get_query(name_base: str): + conds = [f'"name" =~ /{name_base}/', f'"name" =~ /${host_var.name}/'] + if name_base == "benchmark": + conds.append(f'"name" =~ /${benchmark_var.name}/') return Query( select_="duration", from_=measurment_name, where_=join_conditions( - [f'"name" =~ /{name_base}/', f'"name" =~ /${host_var.name}/'], + conds, "AND"), group_by=['name']) @@ -240,12 +248,15 @@ def dashboard_general_infos(): gridPos=get_grid_pos(12, 24, 0, 13), format='s', alias="$tag_name") - panel_benchmark = get_stat_panel("Benchmark Runtime", + panel_benchmark = get_stat_panel("Runtime $benchmark", dataSource, get_query("benchmark"), - gridPos=get_grid_pos(30, 24, 0, 26), + gridPos=get_grid_pos(10, 24, 0, 26), format='s', - alias="$tag_name") + repeat=benchmark_var, + alias="$tag_name", + colorMode="background", + maxPerRow=2) return build_dashboard(options, panels=[cpu_list, gpu_list, panel_build, panel_benchmark], - templating=[host_var]) + templating=[host_var, benchmark_var]) -- GitLab