Integrate additional feedback for PR #200

This commit is contained in:
Sebastian Serth
2022-10-29 22:33:21 +02:00
committed by Maximilian Paß
parent ae9de5b93f
commit 4c359c2a5f
8 changed files with 51 additions and 36 deletions

View File

@ -1,2 +1,2 @@
# Ignore the generated json encoded dashboard. # Ignore the generated json encoded dashboard.
./main.json main.json

View File

@ -1,5 +1,5 @@
#!/usr/bin/python3 #!/usr/bin/python3
from grafanalib._gen import generate_dashboard from grafanalib._gen import generate_dashboard
if __name__ == '__main__': if __name__ == "__main__":
generate_dashboard(args=['-o', 'main.json', 'panels/poseidon.dashboard.py']) generate_dashboard(args=["-o", "main.json", "panels/poseidon.dashboard.py"])

View File

@ -6,7 +6,7 @@ from utils.utils import read_query
prewarming_pool_size = BarGauge( prewarming_pool_size = BarGauge(
title="Prewarming Pool Size", title="Prewarming Pool Size",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("prewarming-pool-size"))], targets=[InfluxDBTarget(query=read_query("prewarming-pool-size"))],
gridPos=GridPos(h=10, w=11, x=0, y=1), gridPos=GridPos(h=10, w=11, x=0, y=1),
allValues=True, allValues=True,
@ -17,27 +17,30 @@ prewarming_pool_size = BarGauge(
idle_runner = TimeSeries( idle_runner = TimeSeries(
title="Idle Runner", title="Idle Runner",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("idle-runner"))], targets=[InfluxDBTarget(query=read_query("idle-runner"))],
gridPos=GridPos(h=10, w=13, x=11, y=1), gridPos=GridPos(h=10, w=13, x=11, y=1),
lineInterpolation="stepAfter", lineInterpolation="stepAfter",
maxDataPoints=None maxDataPoints=None,
) )
runner_startup_duration = TimeSeries( runner_startup_duration = TimeSeries(
title="Runner startup duration", title="Runner startup duration",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("runner-startup-duration"))], targets=[InfluxDBTarget(query=read_query("runner-startup-duration"))],
gridPos=GridPos(h=10, w=12, x=0, y=11), gridPos=GridPos(h=10, w=12, x=0, y=11),
unit="ns", unit="ns",
maxDataPoints=None,
lineInterpolation="smooth",
) )
used_runner = TimeSeries( used_runner = TimeSeries(
title="Used Runner", title="Used Runner",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("used-runner"))], targets=[InfluxDBTarget(query=read_query("used-runner"))],
gridPos=GridPos(h=10, w=12, x=12, y=11), gridPos=GridPos(h=10, w=12, x=12, y=11),
maxDataPoints=None maxDataPoints=None,
lineInterpolation="smooth",
) )
availability_row = RowPanel( availability_row = RowPanel(

View File

@ -7,16 +7,17 @@ from utils.utils import read_query
requests_per_minute = TimeSeries( requests_per_minute = TimeSeries(
title="Requests per minute", title="Requests per minute",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("requests-per-minute"))], targets=[InfluxDBTarget(query=read_query("requests-per-minute"))],
gridPos=GridPos(h=9, w=8, x=0, y=22), gridPos=GridPos(h=9, w=8, x=0, y=22),
scaleDistributionType="log", scaleDistributionType="log",
extraJson=grey_all_mapping extraJson=grey_all_mapping,
lineInterpolation="smooth",
) )
request_latency = Heatmap( request_latency = Heatmap(
title="Request Latency", title="Request Latency",
dataSource='Poseidon', dataSource="Poseidon",
dataFormat="timeseries", dataFormat="timeseries",
targets=[InfluxDBTarget(query=read_query("request-latency"))], targets=[InfluxDBTarget(query=read_query("request-latency"))],
gridPos=GridPos(h=9, w=8, x=8, y=22), gridPos=GridPos(h=9, w=8, x=8, y=22),
@ -26,34 +27,35 @@ request_latency = Heatmap(
"yAxis": { "yAxis": {
"format": "ns" "format": "ns"
} }
} },
) )
service_time = TimeSeries( service_time = TimeSeries(
title="Service time (99.9%)", title="Service time (99.9%)",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("service-time"))], targets=[InfluxDBTarget(query=read_query("service-time"))],
gridPos=GridPos(h=9, w=8, x=16, y=22), gridPos=GridPos(h=9, w=8, x=16, y=22),
scaleDistributionType="log", scaleDistributionType="log",
scaleDistributionLog=10, scaleDistributionLog=10,
unit="ns", unit="ns",
maxDataPoints=None maxDataPoints=None,
lineInterpolation="smooth",
) )
current_environment_count = Stat( current_environment_count = Stat(
title="Current environment count", title="Current environment count",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("current-environment-count"))], targets=[InfluxDBTarget(query=read_query("current-environment-count"))],
gridPos=GridPos(h=6, w=8, x=0, y=31), gridPos=GridPos(h=6, w=8, x=0, y=31),
alignment='center' alignment="center",
) )
currently_used_runners = Stat( currently_used_runners = Stat(
title="Currently used runners", title="Currently used runners",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("currently-used-runners"))], targets=[InfluxDBTarget(query=read_query("currently-used-runners"))],
gridPos=GridPos(h=6, w=8, x=8, y=31), gridPos=GridPos(h=6, w=8, x=8, y=31),
alignment="center" alignment="center",
) )
number_of_executions = BarGauge( number_of_executions = BarGauge(
@ -76,6 +78,7 @@ execution_duration = BarGauge(
displayMode=GAUGE_DISPLAY_MODE_GRADIENT, displayMode=GAUGE_DISPLAY_MODE_GRADIENT,
format="ns", format="ns",
max=None, max=None,
decimals=2,
) )
executions_per_runner = BarGauge( executions_per_runner = BarGauge(
@ -86,6 +89,7 @@ executions_per_runner = BarGauge(
allValues=True, allValues=True,
displayMode=GAUGE_DISPLAY_MODE_GRADIENT, displayMode=GAUGE_DISPLAY_MODE_GRADIENT,
max=None, max=None,
decimals=2,
) )
executions_per_minute = BarGauge( executions_per_minute = BarGauge(
@ -96,6 +100,7 @@ executions_per_minute = BarGauge(
allValues=True, allValues=True,
displayMode=GAUGE_DISPLAY_MODE_GRADIENT, displayMode=GAUGE_DISPLAY_MODE_GRADIENT,
max=None, max=None,
decimals=2,
) )
general_row = RowPanel( general_row = RowPanel(
@ -114,5 +119,5 @@ general_panels = [
number_of_executions, number_of_executions,
execution_duration, execution_duration,
executions_per_runner, executions_per_runner,
executions_per_minute executions_per_minute,
] ]

View File

@ -11,11 +11,11 @@ dashboard = Dashboard(
panels=availability_panels + general_panels + runner_insights_panels, panels=availability_panels + general_panels + runner_insights_panels,
templating=Templating(list=[ templating=Templating(list=[
stage_variable, stage_variable,
environment_variable environment_variable,
]), ]),
editable=True, editable=True,
refresh="30s", refresh="30s",
time=Time('now-6h', 'now'), time=Time("now-6h", "now"),
uid="P21Bh1SVk", uid="P21Bh1SVk",
version=1 version=1,
).auto_panel_ids() ).auto_panel_ids()

View File

@ -12,48 +12,56 @@ execution_duration_extra_json = {
} }
execution_duration = Histogram( execution_duration = Histogram(
title="Execution duration", title="Execution duration",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("execution-duration-hist"))], targets=[InfluxDBTarget(query=read_query("execution-duration-hist"))],
gridPos=GridPos(h=8, w=24, x=0, y=49), gridPos=GridPos(h=8, w=24, x=0, y=49),
bucketSize=100000000, bucketSize=100000000,
colorMode="palette-classic", colorMode="palette-classic",
fillOpacity=50,
lineWidth=1,
maxDataPoints=None, maxDataPoints=None,
extraJson=execution_duration_extra_json extraJson=execution_duration_extra_json,
) )
executions_per_runner = Histogram( executions_per_runner = Histogram(
title="Executions per runner", title="Executions per runner",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("executions-per-runner-hist"))], targets=[InfluxDBTarget(query=read_query("executions-per-runner-hist"))],
gridPos=GridPos(h=10, w=11, x=0, y=57), gridPos=GridPos(h=10, w=11, x=0, y=57),
bucketSize=1, bucketSize=1,
colorMode="palette-classic", colorMode="palette-classic",
fillOpacity=50,
lineWidth=1,
maxDataPoints=None,
) )
executions_per_minute = TimeSeries( executions_per_minute = TimeSeries(
title="Executions per minute", title="Executions per minute",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("executions-per-minute-time"))], targets=[InfluxDBTarget(query=read_query("executions-per-minute-time"))],
gridPos=GridPos(h=10, w=13, x=11, y=57), gridPos=GridPos(h=10, w=13, x=11, y=57),
maxDataPoints=None maxDataPoints=None,
lineInterpolation="smooth",
) )
request_body_size = TimeSeries( request_body_size = TimeSeries(
title="Request Body Size", title="Request Body Size",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("request-body-size"))], targets=[InfluxDBTarget(query=read_query("request-body-size"))],
gridPos=GridPos(h=10, w=11, x=0, y=67), gridPos=GridPos(h=10, w=11, x=0, y=67),
scaleDistributionType="log", scaleDistributionType="log",
unit="bytes", unit="bytes",
maxDataPoints=None maxDataPoints=None,
lineInterpolation="smooth",
) )
runner_per_minute = TimeSeries( runner_per_minute = TimeSeries(
title="Runner per minute", title="Runner per minute",
dataSource='Poseidon', dataSource="Poseidon",
targets=[InfluxDBTarget(query=read_query("runner-per-minute"))], targets=[InfluxDBTarget(query=read_query("runner-per-minute"))],
gridPos=GridPos(h=10, w=13, x=11, y=67), gridPos=GridPos(h=10, w=13, x=11, y=67),
maxDataPoints=None maxDataPoints=None,
lineInterpolation="smooth",
) )
runner_insights_row = RowPanel( runner_insights_row = RowPanel(

View File

@ -1,4 +1,3 @@
def read_query(name): def read_query(name):
with open("queries/" + name + ".flux", 'r') as file: with open("queries/" + name + ".flux", "r") as file:
return file.read() return file.read()

View File

@ -10,7 +10,7 @@ stage_variable = Template(
refresh=1, refresh=1,
includeAll=True, includeAll=True,
multi=True, multi=True,
default="production" default="production",
) )
environment_variable = Template( environment_variable = Template(
@ -21,5 +21,5 @@ environment_variable = Template(
refresh=1, refresh=1,
includeAll=True, includeAll=True,
multi=True, multi=True,
default="$__all" default="$__all",
) )