Skip to content
Snippets Groups Projects
Commit 9f915a21 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

Only add aggregate panels if targets exist for it

parent 82b7b86b
No related branches found
No related tags found
No related merge requests found
...@@ -5,8 +5,7 @@ from concurrent.futures import ProcessPoolExecutor ...@@ -5,8 +5,7 @@ from concurrent.futures import ProcessPoolExecutor
from brian_dashboard_manager.templating.render import create_dropdown_panel from brian_dashboard_manager.templating.render import create_dropdown_panel
from brian_dashboard_manager.templating.helpers import \ from brian_dashboard_manager.templating.helpers import \
is_aggregate_interface, is_logical_interface, is_physical_interface, \ is_aggregate_interface, is_logical_interface, is_physical_interface, \
num_generator, gridPos_generator, get_aggregate_targets, \ num_generator, gridPos_generator, get_panel_fields, create_aggregate_panel
get_panel_fields
def get_nrens(interfaces): def get_nrens(interfaces):
...@@ -58,9 +57,7 @@ def get_nrens(interfaces): ...@@ -58,9 +57,7 @@ def get_nrens(interfaces):
return result return result
# start IDs from 3 since aggregate id_gen = num_generator(start=1)
# panels have hardcoded IDs (1, 2).
id_gen = num_generator(start=3)
# aggregate panels have y=0, start generating at 1*height # aggregate panels have y=0, start generating at 1*height
gridPos = gridPos_generator(id_gen, start=1) gridPos = gridPos_generator(id_gen, start=1)
...@@ -81,7 +78,16 @@ def get_panel_definitions(panels, datasource, errors=False): ...@@ -81,7 +78,16 @@ def get_panel_definitions(panels, datasource, errors=False):
def build_data(nren, data, datasource): def build_data(nren, data, datasource):
agg_ingress, agg_egress = get_aggregate_targets(data['AGGREGATES']) global gridPos
if len(data['AGGREGATES']) > 0:
agg_panels = create_aggregate_panel(
f'Aggregate - {nren}',
gridPos_generator(id_gen, agg=True),
data['AGGREGATES'], datasource)
else:
# if there's no aggregate panel(s), start other stuff at y=0.
gridPos = gridPos_generator(id_gen, start=0)
agg_panels = []
services_dropdown = create_dropdown_panel('Services', **next(gridPos)) services_dropdown = create_dropdown_panel('Services', **next(gridPos))
service_panels = get_panel_definitions(data['SERVICES'], datasource) service_panels = get_panel_definitions(data['SERVICES'], datasource)
iface_dropdown = create_dropdown_panel('Interfaces', **next(gridPos)) iface_dropdown = create_dropdown_panel('Interfaces', **next(gridPos))
...@@ -90,8 +96,7 @@ def build_data(nren, data, datasource): ...@@ -90,8 +96,7 @@ def build_data(nren, data, datasource):
return { return {
'nren_name': nren, 'nren_name': nren,
'datasource': datasource, 'datasource': datasource,
'ingress_aggregate_targets': agg_ingress, 'aggregate_panels': agg_panels,
'egress_aggregate_targets': agg_egress,
'dropdown_groups': [ 'dropdown_groups': [
{ {
'dropdown': services_dropdown, 'dropdown': services_dropdown,
......
...@@ -31,198 +31,9 @@ ...@@ -31,198 +31,9 @@
"version": 1, "version": 1,
"links": [], "links": [],
"panels": [ "panels": [
{ {% for panel in aggregate_panels %}
"aliasColors": {}, {{ panel }},
"bars": false, {% endfor %}
"collapsed": null,
"dashLength": 10,
"dashes": false,
"datasource": "{{ datasource }}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 10,
"gridPos": {
"h": 12,
"w": 12,
"x": 0,
"y": 0
},
"hiddenSeries": false,
"id": 1,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"alertThreshold": true
},
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"search": null,
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"tags": null,
"targets": [
{% for target in ingress_aggregate_targets %}
{{ target }}{{ "," if not loop.last }}
{% endfor %}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Aggregate - {{ nren_name }} - ingress",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": null
},
"yaxes": [
{
"format": "bps",
"label": "bits per second",
"logBase": 1,
"max": null,
"min": "",
"show": true
},
{
"format": "bps",
"label": "bits per second",
"logBase": 1,
"max": null,
"min": "",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"collapsed": null,
"dashLength": 10,
"dashes": false,
"datasource": "{{ datasource }}",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"fill": 1,
"fillGradient": 10,
"gridPos": {
"h": 12,
"w": 12,
"x": 12,
"y": 0
},
"hiddenSeries": false,
"id": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"alertThreshold": true
},
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"search": null,
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"tags": null,
"targets": [
{% for target in egress_aggregate_targets %}
{{ target }}{{ "," if not loop.last }}
{% endfor %}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Aggregate - {{ nren_name }} - egress",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": null
},
"yaxes": [
{
"format": "bps",
"label": "bits per second",
"logBase": 1,
"max": null,
"min": "",
"show": true
},
{
"format": "bps",
"label": "bits per second",
"logBase": 1,
"max": null,
"min": "",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{% for group in dropdown_groups %} {% for group in dropdown_groups %}
{{ group.dropdown }} {{ group.dropdown }}
{% if group.panels|length > 0 %} {% if group.panels|length > 0 %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment