Skip to content

Conversation

@Xytam
Copy link

@Xytam Xytam commented Jun 13, 2025

Added new gateway_lived_event_* metrics

Copy link
Member

@qboileau qboileau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution to GW Grafana dashboard.
Unfortunately, I couldn't test it because your changes broke the dashboard.

For dashboard to be imported by helm chart and work, you need to be careful of some aspects :

  • keeping __inputs that are used when someone want to import manually the dashboard into their grafana, Inputs are used to ask for prometheus datasource name and gateway job label to target, they are also used with grafana operator to load and configure dashboard using values metrics.grafana.datasources.prometheus.
  • Also keep template variable Datasource that is use by reference ${datasource} everywhere (variable/panel).
  • Use ${datasource} for prometheus datasource reference in your panels

We should add a documentation for Grafana dashboard contribution guidelines.

Usually what I do is adding a new panel in grafana then copy it's json format and place in into global dashboard json in panel sections, then replace datasource id with the variable and test a re-import via the chart.
It's tedious but I didn't find a better way to do it yet...

Comment on lines -2 to -39
"__inputs": [
{
"name": "INPUT_DS_PROMETHEUS",
"label": "prometheus",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus",
"value": "prometheus"
},
{
"name": "INPUT_GATEWAY_JOB_NAME",
"label": "Gateway job name (app.kubernetes.io/instance by default)",
"description": "The name of the gateway to monitor",
"type": "constant",
"value": "conduktor-gateway"
}
],
"__elements": {},
"__requires": [
{
"type": "panel",
"id": "bargauge",
"name": "Bar gauge",
"version": ""
},
{
"type": "panel",
"id": "gauge",
"name": "Gauge",
"version": ""
},
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "9.3.2"
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restore __inputs and __requires

Comment on lines -5143 to +6210
"title": "Conduktor Gateway",
"version": 2,
"title": "Conduktor Gateway [conduktor/conduktor-gateway]",
"uid": "1a62a8e3-ffbc-48bf-9ac1-246fe17ca9c0",
"version": 7,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restore default title, remove useless uid and update version from 2 to 3

"version": ""
"datasource": {
"type": "prometheus",
"uid": "60299b50-80b2-44df-9318-0782f84417e2"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use ${datasource} variable instead of a uid (one of many datasource reference replaced in this PR)

Comment on lines -141 to +1180
"uid": "${datasource}"
"uid": "prometheus"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restore ${datasource} variable (on all existing panel too)

"JVM",
"Pod"
],
"templating": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restore all variables previous state

  • restore datasource variable
  • restore queries
  • restore datasource reference uid to use datasource variable ${datasource} instead
  • restore current selection to the default one
  • remove options from job variable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants