diff --git a/scripts/dashboards_render_atlas.py b/scripts/dashboards_render_atlas.py index 7a912300..cc34fbf1 100644 --- a/scripts/dashboards_render_atlas.py +++ b/scripts/dashboards_render_atlas.py @@ -1386,6 +1386,8 @@ def build_overview(): ], links=link_to("atlas-power"), description="Per-UPS live snapshot: current draw, discharge, and charging/discharging status.", + orientation="horizontal", + wide_layout=False, ) ) panels.append( @@ -1415,19 +1417,19 @@ def build_overview(): decimals=2, text_mode="name_and_value", targets=[ - {"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "Tent Temp (°C)", "instant": True}, - {"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_MAX, "legendFormat": "Tent Temp (°F)", "instant": True}, - {"refId": "C", "expr": CLIMATE_HUMIDITY_MAX, "legendFormat": "Tent RH (%)", "instant": True}, - {"refId": "D", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "Tent Pressure (VPD kPa)", "instant": True}, + {"refId": "A", "expr": CLIMATE_TEMP_MAX, "legendFormat": "°C", "instant": True}, + {"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_MAX, "legendFormat": "°F", "instant": True}, + {"refId": "C", "expr": CLIMATE_HUMIDITY_MAX, "legendFormat": "RH%", "instant": True}, + {"refId": "D", "expr": CLIMATE_PRESSURE_CURRENT, "legendFormat": "VPD", "instant": True}, ], field_overrides=[ - {"matcher": {"id": "byName", "options": "Tent Temp (°C)"}, "properties": [{"id": "unit", "value": "celsius"}]}, - {"matcher": {"id": "byName", "options": "Tent Temp (°F)"}, "properties": [{"id": "unit", "value": "fahrenheit"}]}, - {"matcher": {"id": "byName", "options": "Tent RH (%)"}, "properties": [{"id": "unit", "value": "percent"}]}, - {"matcher": {"id": "byName", "options": "Tent Pressure (VPD kPa)"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]}, + {"matcher": {"id": "byName", "options": "°C"}, "properties": [{"id": "unit", "value": "celsius"}]}, + {"matcher": {"id": "byName", "options": "°F"}, "properties": [{"id": "unit", "value": "fahrenheit"}]}, + {"matcher": {"id": "byName", "options": "RH%"}, "properties": [{"id": "unit", "value": "percent"}]}, + {"matcher": {"id": "byName", "options": "VPD"}, "properties": [{"id": "unit", "value": "suffix:kPa"}]}, ], links=link_to("atlas-power"), - description="Current tent temperature in C/F, humidity, and pressure proxy (VPD in kPa).", + description="Current tent values on one row: temperature (C/F), humidity (RH), and pressure proxy (VPD).", orientation="horizontal", wide_layout=True, ) @@ -1440,27 +1442,27 @@ def build_overview(): {"h": 6, "w": 6, "x": 6, "y": 12}, unit="celsius", targets=[ - {"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "Temperature (°C)"}, - {"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_SERIES, "legendFormat": "Temperature (°F)"}, - {"refId": "C", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "Humidity (%)"}, - {"refId": "D", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "Pressure (VPD kPa)"}, + {"refId": "A", "expr": CLIMATE_TEMP_SERIES, "legendFormat": "C"}, + {"refId": "B", "expr": CLIMATE_TEMP_FAHRENHEIT_SERIES, "legendFormat": "F"}, + {"refId": "C", "expr": CLIMATE_HUMIDITY_SERIES, "legendFormat": "RH"}, + {"refId": "D", "expr": CLIMATE_PRESSURE_SERIES, "legendFormat": "VPD"}, ], field_overrides=[ { - "matcher": {"id": "byName", "options": "Temperature (°F)"}, + "matcher": {"id": "byName", "options": "F"}, "properties": [ {"id": "unit", "value": "fahrenheit"}, ], }, { - "matcher": {"id": "byName", "options": "Humidity (%)"}, + "matcher": {"id": "byName", "options": "RH"}, "properties": [ {"id": "unit", "value": "percent"}, {"id": "custom.axisPlacement", "value": "right"}, ], }, { - "matcher": {"id": "byName", "options": "Pressure (VPD kPa)"}, + "matcher": {"id": "byName", "options": "VPD"}, "properties": [ {"id": "unit", "value": "suffix:kPa"}, {"id": "custom.axisPlacement", "value": "right"}, @@ -1468,10 +1470,10 @@ def build_overview(): ], } ], - legend_display="table", - legend_placement="right", + legend_display="list", + legend_placement="bottom", links=link_to("atlas-power"), - description="Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa).", + description="Temperature scales on left axis, humidity and VPD on right axis.", ) ) panels.append( @@ -1484,10 +1486,10 @@ def build_overview(): decimals=0, text_mode="name_and_value", targets=[ - {"refId": "A", "expr": f"round({CLIMATE_FAN_OUTLET_CURRENT})", "legendFormat": "Inside Outlet", "instant": True}, - {"refId": "B", "expr": f"round({CLIMATE_FAN_INSIDE_INLET_CURRENT})", "legendFormat": "Inside Inlet", "instant": True}, - {"refId": "C", "expr": f"round({CLIMATE_FAN_OUTSIDE_INLET_CURRENT})", "legendFormat": "Outside Inlet", "instant": True}, - {"refId": "D", "expr": f"round({CLIMATE_FAN_INTERIOR_CURRENT})", "legendFormat": "Interior Fans", "instant": True}, + {"refId": "A", "expr": f"round({CLIMATE_FAN_OUTLET_CURRENT})", "legendFormat": "Outlet", "instant": True}, + {"refId": "B", "expr": f"round({CLIMATE_FAN_INSIDE_INLET_CURRENT})", "legendFormat": "Inlet In", "instant": True}, + {"refId": "C", "expr": f"round({CLIMATE_FAN_OUTSIDE_INLET_CURRENT})", "legendFormat": "Inlet Out", "instant": True}, + {"refId": "D", "expr": f"round({CLIMATE_FAN_INTERIOR_CURRENT})", "legendFormat": "Interior", "instant": True}, ], thresholds={ "mode": "absolute", diff --git a/services/monitoring/dashboards/atlas-overview.json b/services/monitoring/dashboards/atlas-overview.json index d3f5b966..450d6417 100644 --- a/services/monitoring/dashboards/atlas-overview.json +++ b/services/monitoring/dashboards/atlas-overview.json @@ -1281,7 +1281,9 @@ "fields": "", "values": false }, - "textMode": "name_and_value" + "textMode": "name_and_value", + "orientation": "horizontal", + "wideLayout": false }, "links": [ { @@ -1364,25 +1366,25 @@ { "refId": "A", "expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) or on() vector(0)", - "legendFormat": "Tent Temp (\u00b0C)", + "legendFormat": "\u00b0C", "instant": true }, { "refId": "B", "expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32) or on() vector(0)", - "legendFormat": "Tent Temp (\u00b0F)", + "legendFormat": "\u00b0F", "instant": true }, { "refId": "C", "expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)) or on() vector(0)", - "legendFormat": "Tent RH (%)", + "legendFormat": "RH%", "instant": true }, { "refId": "D", "expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)) or on() vector(0)", - "legendFormat": "Tent Pressure (VPD kPa)", + "legendFormat": "VPD", "instant": true } ], @@ -1415,7 +1417,7 @@ { "matcher": { "id": "byName", - "options": "Tent Temp (\u00b0C)" + "options": "\u00b0C" }, "properties": [ { @@ -1427,7 +1429,7 @@ { "matcher": { "id": "byName", - "options": "Tent Temp (\u00b0F)" + "options": "\u00b0F" }, "properties": [ { @@ -1439,7 +1441,7 @@ { "matcher": { "id": "byName", - "options": "Tent RH (%)" + "options": "RH%" }, "properties": [ { @@ -1451,7 +1453,7 @@ { "matcher": { "id": "byName", - "options": "Tent Pressure (VPD kPa)" + "options": "VPD" }, "properties": [ { @@ -1484,7 +1486,7 @@ "targetBlank": true } ], - "description": "Current tent temperature in C/F, humidity, and pressure proxy (VPD in kPa)." + "description": "Current tent values on one row: temperature (C/F), humidity (RH), and pressure proxy (VPD)." }, { "id": 43, @@ -1504,22 +1506,22 @@ { "refId": "A", "expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)", - "legendFormat": "Temperature (\u00b0C)" + "legendFormat": "C" }, { "refId": "B", "expr": "(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32", - "legendFormat": "Temperature (\u00b0F)" + "legendFormat": "F" }, { "refId": "C", "expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)", - "legendFormat": "Humidity (%)" + "legendFormat": "RH" }, { "refId": "D", "expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)", - "legendFormat": "Pressure (VPD kPa)" + "legendFormat": "VPD" } ], "fieldConfig": { @@ -1530,7 +1532,7 @@ { "matcher": { "id": "byName", - "options": "Temperature (\u00b0F)" + "options": "F" }, "properties": [ { @@ -1542,7 +1544,7 @@ { "matcher": { "id": "byName", - "options": "Humidity (%)" + "options": "RH" }, "properties": [ { @@ -1558,7 +1560,7 @@ { "matcher": { "id": "byName", - "options": "Pressure (VPD kPa)" + "options": "VPD" }, "properties": [ { @@ -1579,8 +1581,8 @@ }, "options": { "legend": { - "displayMode": "table", - "placement": "right" + "displayMode": "list", + "placement": "bottom" }, "tooltip": { "mode": "multi" @@ -1593,7 +1595,7 @@ "targetBlank": true } ], - "description": "Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa)." + "description": "Temperature scales on left axis, humidity and VPD on right axis." }, { "id": 140, @@ -1613,25 +1615,25 @@ { "refId": "A", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})) or on() vector(0))", - "legendFormat": "Inside Outlet", + "legendFormat": "Outlet", "instant": true }, { "refId": "B", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})) or on() vector(0))", - "legendFormat": "Inside Inlet", + "legendFormat": "Inlet In", "instant": true }, { "refId": "C", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})) or on() vector(0))", - "legendFormat": "Outside Inlet", + "legendFormat": "Inlet Out", "instant": true }, { "refId": "D", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})) or on() vector(0))", - "legendFormat": "Interior Fans", + "legendFormat": "Interior", "instant": true } ], diff --git a/services/monitoring/grafana-dashboard-overview.yaml b/services/monitoring/grafana-dashboard-overview.yaml index fdfcb0f5..1d6e22cf 100644 --- a/services/monitoring/grafana-dashboard-overview.yaml +++ b/services/monitoring/grafana-dashboard-overview.yaml @@ -1290,7 +1290,9 @@ data: "fields": "", "values": false }, - "textMode": "name_and_value" + "textMode": "name_and_value", + "orientation": "horizontal", + "wideLayout": false }, "links": [ { @@ -1373,25 +1375,25 @@ data: { "refId": "A", "expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) or on() vector(0)", - "legendFormat": "Tent Temp (\u00b0C)", + "legendFormat": "\u00b0C", "instant": true }, { "refId": "B", "expr": "max((max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32) or on() vector(0)", - "legendFormat": "Tent Temp (\u00b0F)", + "legendFormat": "\u00b0F", "instant": true }, { "refId": "C", "expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)) or on() vector(0)", - "legendFormat": "Tent RH (%)", + "legendFormat": "RH%", "instant": true }, { "refId": "D", "expr": "max(max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)) or on() vector(0)", - "legendFormat": "Tent Pressure (VPD kPa)", + "legendFormat": "VPD", "instant": true } ], @@ -1424,7 +1426,7 @@ data: { "matcher": { "id": "byName", - "options": "Tent Temp (\u00b0C)" + "options": "\u00b0C" }, "properties": [ { @@ -1436,7 +1438,7 @@ data: { "matcher": { "id": "byName", - "options": "Tent Temp (\u00b0F)" + "options": "\u00b0F" }, "properties": [ { @@ -1448,7 +1450,7 @@ data: { "matcher": { "id": "byName", - "options": "Tent RH (%)" + "options": "RH%" }, "properties": [ { @@ -1460,7 +1462,7 @@ data: { "matcher": { "id": "byName", - "options": "Tent Pressure (VPD kPa)" + "options": "VPD" }, "properties": [ { @@ -1493,7 +1495,7 @@ data: "targetBlank": true } ], - "description": "Current tent temperature in C/F, humidity, and pressure proxy (VPD in kPa)." + "description": "Current tent values on one row: temperature (C/F), humidity (RH), and pressure proxy (VPD)." }, { "id": 43, @@ -1513,22 +1515,22 @@ data: { "refId": "A", "expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)", - "legendFormat": "Temperature (\u00b0C)" + "legendFormat": "C" }, { "refId": "B", "expr": "(max without (job,instance,pod,service,endpoint,namespace) (typhon_temperature_celsius)) * 9 / 5 + 32", - "legendFormat": "Temperature (\u00b0F)" + "legendFormat": "F" }, { "refId": "C", "expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_relative_humidity_percent)", - "legendFormat": "Humidity (%)" + "legendFormat": "RH" }, { "refId": "D", "expr": "max without (job,instance,pod,service,endpoint,namespace) (typhon_vpd_kpa)", - "legendFormat": "Pressure (VPD kPa)" + "legendFormat": "VPD" } ], "fieldConfig": { @@ -1539,7 +1541,7 @@ data: { "matcher": { "id": "byName", - "options": "Temperature (\u00b0F)" + "options": "F" }, "properties": [ { @@ -1551,7 +1553,7 @@ data: { "matcher": { "id": "byName", - "options": "Humidity (%)" + "options": "RH" }, "properties": [ { @@ -1567,7 +1569,7 @@ data: { "matcher": { "id": "byName", - "options": "Pressure (VPD kPa)" + "options": "VPD" }, "properties": [ { @@ -1588,8 +1590,8 @@ data: }, "options": { "legend": { - "displayMode": "table", - "placement": "right" + "displayMode": "list", + "placement": "bottom" }, "tooltip": { "mode": "multi" @@ -1602,7 +1604,7 @@ data: "targetBlank": true } ], - "description": "Historical tent temperature (C/F), humidity, and pressure proxy (VPD kPa)." + "description": "Temperature scales on left axis, humidity and VPD on right axis." }, { "id": 140, @@ -1622,25 +1624,25 @@ data: { "refId": "A", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outlet\"})) or on() vector(0))", - "legendFormat": "Inside Outlet", + "legendFormat": "Outlet", "instant": true }, { "refId": "B", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"inside_inlet\"})) or on() vector(0))", - "legendFormat": "Inside Inlet", + "legendFormat": "Inlet In", "instant": true }, { "refId": "C", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=\"outside_inlet\"})) or on() vector(0))", - "legendFormat": "Outside Inlet", + "legendFormat": "Inlet Out", "instant": true }, { "refId": "D", "expr": "round(max(max without (job,instance,pod,service,endpoint,namespace) (typhon_fan_speed_level{fan_group=~\"interior|unknown\"})) or on() vector(0))", - "legendFormat": "Interior Fans", + "legendFormat": "Interior", "instant": true } ],