Implement pull request comments #200.

Co-authored-by: Sebastian Serth <mrserth@users.noreply.github.com>
This commit is contained in:
Maximilian Paß
2022-10-29 19:36:25 +01:00
parent 694965b92d
commit 137e3ff1ee
10 changed files with 32 additions and 22 deletions

View File

@ -2,4 +2,4 @@
from grafanalib._gen import generate_dashboard from grafanalib._gen import generate_dashboard
if __name__ == '__main__': if __name__ == '__main__':
generate_dashboard(args=['-o', 'main.json', 'poseidon.dashboard.py']) generate_dashboard(args=['-o', 'main.json', 'panels/poseidon.dashboard.py'])

View File

@ -2,7 +2,7 @@ from grafanalib.core import RowPanel, BarGauge, GridPos, TimeSeries, ORIENTATION
GAUGE_DISPLAY_MODE_BASIC GAUGE_DISPLAY_MODE_BASIC
from grafanalib.influxdb import InfluxDBTarget from grafanalib.influxdb import InfluxDBTarget
from util import read_query from utils.utils import read_query
prewarming_pool_size = BarGauge( prewarming_pool_size = BarGauge(
title="Prewarming Pool Size", title="Prewarming Pool Size",
@ -21,6 +21,7 @@ idle_runner = TimeSeries(
targets=[InfluxDBTarget(query=read_query("idle-runner"))], targets=[InfluxDBTarget(query=read_query("idle-runner"))],
gridPos=GridPos(h=10, w=13, x=11, y=3), gridPos=GridPos(h=10, w=13, x=11, y=3),
lineInterpolation="stepAfter", lineInterpolation="stepAfter",
maxDataPoints=None
) )
runner_startup_duration = TimeSeries( runner_startup_duration = TimeSeries(
@ -36,6 +37,7 @@ used_runner = TimeSeries(
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=13), gridPos=GridPos(h=10, w=12, x=12, y=13),
maxDataPoints=None
) )
availability_row = RowPanel( availability_row = RowPanel(
@ -48,4 +50,4 @@ availability_row = RowPanel(
runner_startup_duration, runner_startup_duration,
used_runner used_runner
] ]
) )

View File

@ -1,8 +1,9 @@
from grafanalib.core import RowPanel, GridPos, Stat, TimeSeries, Heatmap, BarGauge, GAUGE_DISPLAY_MODE_GRADIENT 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 grafanalib.influxdb import InfluxDBTarget
from color_mapping import grey_all_mapping from utils.color_mapping import grey_all_mapping
from util import read_query from utils.utils import read_query
requests_per_minute = TimeSeries( requests_per_minute = TimeSeries(
title="Requests per minute", title="Requests per minute",
@ -19,6 +20,7 @@ request_latency = Heatmap(
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=1), gridPos=GridPos(h=9, w=8, x=8, y=1),
maxDataPoints=None,
extraJson={ extraJson={
"options": {}, "options": {},
"yAxis": { "yAxis": {
@ -34,7 +36,8 @@ service_time = TimeSeries(
gridPos=GridPos(h=9, w=8, x=16, y=1), gridPos=GridPos(h=9, w=8, x=16, y=1),
scaleDistributionType="log", scaleDistributionType="log",
scaleDistributionLog=10, scaleDistributionLog=10,
unit="ns" unit="ns",
maxDataPoints=None
) )
current_environment_count = Stat( current_environment_count = Stat(
@ -59,7 +62,8 @@ number_of_executions = BarGauge(
targets=[InfluxDBTarget(query=read_query("number-of-executions"))], targets=[InfluxDBTarget(query=read_query("number-of-executions"))],
gridPos=GridPos(h=6, w=8, x=16, y=10), gridPos=GridPos(h=6, w=8, x=16, y=10),
allValues=True, allValues=True,
displayMode=GAUGE_DISPLAY_MODE_GRADIENT, orientation=ORIENTATION_VERTICAL,
displayMode=GAUGE_DISPLAY_MODE_BASIC,
max=None, max=None,
) )

View File

@ -1,9 +1,9 @@
from grafanalib.core import Dashboard, Templating, Time from grafanalib.core import Dashboard, Templating, Time
from availability_row import availability_row from panels.availability_row import availability_row
from general_row import general_row from panels.general_row import general_row
from runner_insights_row import runner_insights_row from panels.runner_insights_row import runner_insights_row
from variables import stage_variable, environment_variable from utils.variables import stage_variable, environment_variable
dashboard = Dashboard( dashboard = Dashboard(
title="Poseidon autogen", title="Poseidon autogen",

View File

@ -1,7 +1,7 @@
from grafanalib.core import RowPanel, GridPos, Histogram, TimeSeries from grafanalib.core import RowPanel, GridPos, Histogram, TimeSeries
from grafanalib.influxdb import InfluxDBTarget from grafanalib.influxdb import InfluxDBTarget
from util import read_query from utils.utils import read_query
execution_duration_extra_json = { execution_duration_extra_json = {
"fieldConfig": { "fieldConfig": {
@ -17,6 +17,7 @@ execution_duration = Histogram(
gridPos=GridPos(h=8, w=24, x=0, y=2), gridPos=GridPos(h=8, w=24, x=0, y=2),
bucketSize=100000000, bucketSize=100000000,
colorMode="palette-classic", colorMode="palette-classic",
maxDataPoints=None,
extraJson=execution_duration_extra_json extraJson=execution_duration_extra_json
) )
@ -34,6 +35,7 @@ executions_per_minute = TimeSeries(
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=10), gridPos=GridPos(h=10, w=13, x=11, y=10),
maxDataPoints=None
) )
request_body_size = TimeSeries( request_body_size = TimeSeries(
@ -43,6 +45,7 @@ request_body_size = TimeSeries(
gridPos=GridPos(h=10, w=11, x=0, y=20), gridPos=GridPos(h=10, w=11, x=0, y=20),
scaleDistributionType="log", scaleDistributionType="log",
unit="bytes", unit="bytes",
maxDataPoints=None
) )
runner_per_minute = TimeSeries( runner_per_minute = TimeSeries(
@ -50,6 +53,7 @@ runner_per_minute = TimeSeries(
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=20), gridPos=GridPos(h=10, w=13, x=11, y=20),
maxDataPoints=None
) )
runner_insights_row = RowPanel( runner_insights_row = RowPanel(

View File

@ -1,6 +1,7 @@
from(bucket: "poseidon/autogen") from(bucket: "poseidon/autogen")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> range(start: -1y)
|> filter(fn: (r) => r["_field"] == "duration") |> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> keep(columns: ["environment_id"]) |> filter(fn: (r) => (not exists r.stage) or contains(value: r["stage"], set: ${stages:json}))
|> distinct(column: "environment_id") |> keep(columns: ["id"])
|> distinct(column: "id")
|> keep(columns: ["_value"]) |> keep(columns: ["_value"])

View File

@ -1,6 +1,6 @@
from(bucket: "poseidon/autogen") from(bucket: "poseidon/autogen")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> range(start: -1y)
|> filter(fn: (r) => r["_field"] == "duration") |> filter(fn: (r) => r["_measurement"] == "poseidon_environments")
|> keep(columns: ["stage"]) |> keep(columns: ["stage"])
|> distinct(column: "stage") |> distinct(column: "stage")
|> keep(columns: ["_value"]) |> keep(columns: ["_value"])

View File

@ -1,5 +1,4 @@
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

@ -1,6 +1,6 @@
from grafanalib.core import Template from grafanalib.core import Template
from util import read_query from utils.utils import read_query
stage_variable = Template( stage_variable = Template(
dataSource="Poseidon", dataSource="Poseidon",
@ -22,4 +22,4 @@ environment_variable = Template(
includeAll=True, includeAll=True,
multi=True, multi=True,
default="$__all" default="$__all"
) )