128 lines
3.6 KiB
Python
128 lines
3.6 KiB
Python
from grafanalib.core import RowPanel, GridPos, Stat, TimeSeries, Heatmap, BarGauge, GAUGE_DISPLAY_MODE_GRADIENT, \
|
|
ORIENTATION_VERTICAL, GAUGE_DISPLAY_MODE_BASIC
|
|
from grafanalib.influxdb import InfluxDBTarget
|
|
|
|
from utils.color_mapping import grey_all_mapping, color_mapping_environments
|
|
from utils.utils import read_query
|
|
|
|
requests_per_minute = TimeSeries(
|
|
title="Requests per minute",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("requests-per-minute"))],
|
|
gridPos=GridPos(h=9, w=8, x=0, y=22),
|
|
scaleDistributionType="log",
|
|
extraJson=grey_all_mapping,
|
|
lineInterpolation="smooth",
|
|
)
|
|
|
|
request_latency = Heatmap(
|
|
title="Request Latency",
|
|
dataSource="Flux",
|
|
dataFormat="timeseries",
|
|
targets=[InfluxDBTarget(query=read_query("request-latency"))],
|
|
gridPos=GridPos(h=9, w=8, x=8, y=22),
|
|
maxDataPoints=None,
|
|
extraJson={
|
|
"options": {},
|
|
"yAxis": {
|
|
"format": "ns"
|
|
}
|
|
},
|
|
)
|
|
|
|
service_time = TimeSeries(
|
|
title="Service time (99.9%)",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("service-time"))],
|
|
gridPos=GridPos(h=9, w=8, x=16, y=22),
|
|
scaleDistributionType="log",
|
|
scaleDistributionLog=10,
|
|
unit="ns",
|
|
maxDataPoints=None,
|
|
lineInterpolation="smooth",
|
|
)
|
|
|
|
current_environment_count = Stat(
|
|
title="Current environment count",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("current-environment-count"))],
|
|
gridPos=GridPos(h=6, w=8, x=0, y=31),
|
|
alignment="center",
|
|
)
|
|
|
|
currently_used_runners = Stat(
|
|
title="Currently used runners",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("currently-used-runners"))],
|
|
gridPos=GridPos(h=6, w=8, x=8, y=31),
|
|
alignment="center",
|
|
)
|
|
|
|
number_of_executions = BarGauge(
|
|
title="Number of Executions",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("number-of-executions", "environment-mapping"))],
|
|
gridPos=GridPos(h=6, w=8, x=16, y=31),
|
|
allValues=True,
|
|
orientation=ORIENTATION_VERTICAL,
|
|
displayMode=GAUGE_DISPLAY_MODE_BASIC,
|
|
max=None,
|
|
extraJson=color_mapping_environments,
|
|
)
|
|
|
|
execution_duration = BarGauge(
|
|
title="Execution duration",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("execution-duration", "environment-mapping"))],
|
|
gridPos=GridPos(h=11, w=8, x=0, y=37),
|
|
allValues=True,
|
|
displayMode=GAUGE_DISPLAY_MODE_GRADIENT,
|
|
format="ns",
|
|
max=None,
|
|
decimals=2,
|
|
extraJson=color_mapping_environments,
|
|
)
|
|
|
|
executions_per_runner = BarGauge(
|
|
title="Executions per runner",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("executions-per-runner", "environment-mapping"))],
|
|
gridPos=GridPos(h=11, w=8, x=8, y=37),
|
|
allValues=True,
|
|
displayMode=GAUGE_DISPLAY_MODE_GRADIENT,
|
|
max=None,
|
|
decimals=2,
|
|
extraJson=color_mapping_environments,
|
|
)
|
|
|
|
executions_per_minute = BarGauge(
|
|
title="Executions per minute",
|
|
dataSource="Flux",
|
|
targets=[InfluxDBTarget(query=read_query("executions-per-minute", "environment-mapping"))],
|
|
gridPos=GridPos(h=11, w=8, x=16, y=37),
|
|
allValues=True,
|
|
displayMode=GAUGE_DISPLAY_MODE_GRADIENT,
|
|
max=None,
|
|
decimals=2,
|
|
extraJson=color_mapping_environments,
|
|
)
|
|
|
|
general_row = RowPanel(
|
|
title="General",
|
|
collapsed=False,
|
|
gridPos=GridPos(h=1, w=24, x=0, y=21),
|
|
)
|
|
|
|
general_panels = [
|
|
general_row,
|
|
requests_per_minute,
|
|
request_latency,
|
|
service_time,
|
|
current_environment_count,
|
|
currently_used_runners,
|
|
number_of_executions,
|
|
execution_duration,
|
|
executions_per_runner,
|
|
executions_per_minute,
|
|
]
|