Files
poseidon/deploy/grafana-dashboard/panels/availability_row.py
2022-10-29 23:20:29 +01:00

59 lines
1.5 KiB
Python

from grafanalib.core import RowPanel, BarGauge, GridPos, TimeSeries, ORIENTATION_VERTICAL, \
GAUGE_DISPLAY_MODE_BASIC
from grafanalib.influxdb import InfluxDBTarget
from utils.utils import read_query
prewarming_pool_size = BarGauge(
title="Prewarming Pool Size",
dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("prewarming-pool-size"))],
gridPos=GridPos(h=10, w=11, x=0, y=1),
allValues=True,
orientation=ORIENTATION_VERTICAL,
displayMode=GAUGE_DISPLAY_MODE_BASIC,
max=None,
)
idle_runner = TimeSeries(
title="Idle Runner",
dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("idle-runner"))],
gridPos=GridPos(h=10, w=13, x=11, y=1),
lineInterpolation="stepAfter",
maxDataPoints=None,
)
runner_startup_duration = TimeSeries(
title="Runner startup duration",
dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("runner-startup-duration"))],
gridPos=GridPos(h=10, w=12, x=0, y=11),
unit="ns",
maxDataPoints=None,
lineInterpolation="smooth",
)
used_runner = TimeSeries(
title="Used Runner",
dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("used-runner"))],
gridPos=GridPos(h=10, w=12, x=12, y=11),
maxDataPoints=None,
lineInterpolation="smooth",
)
availability_row = RowPanel(
title="Availability",
collapsed=False,
gridPos=GridPos(h=1, w=24, x=0, y=0),
)
availability_panels = [
availability_row,
prewarming_pool_size,
idle_runner,
runner_startup_duration,
used_runner,
]