diff --git a/install/helm/kgateway-dashboards/dashboards/kgateway.json b/install/helm/kgateway-dashboards/dashboards/kgateway.json index a9dcc60..ee8a4ea 100644 --- a/install/helm/kgateway-dashboards/dashboards/kgateway.json +++ b/install/helm/kgateway-dashboards/dashboards/kgateway.json @@ -18,7 +18,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, - "id": 28, + "id": 2, "links": [], "panels": [ { @@ -42,43 +42,7 @@ "fieldConfig": { "defaults": { "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.7, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "mode": "thresholds" }, "mappings": [], "thresholds": { @@ -87,9 +51,17 @@ { "color": "green" }, + { + "color": "yellow", + "value": 2 + }, + { + "color": "orange", + "value": 3 + }, { "color": "red", - "value": 80 + "value": 4 } ] } @@ -97,37 +69,39 @@ "overrides": [] }, "gridPos": { - "h": 4, + "h": 5, "w": 8, "x": 0, "y": 1 }, "id": 7, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" }, "pluginVersion": "12.0.2", "targets": [ { "editorMode": "code", - "expr": "sum(kgateway_translator_translations_running{translator=~\"$translator\"}) by (translator)", + "expr": "sum(kgateway_translator_translations_running{translator=~\"$translator|\",namespace=~\"$namespace|\"}) by (translator)", "legendFormat": "__auto", "range": true, "refId": "A" } ], "title": "Number of Translations Running per Translator", - "type": "timeseries" + "type": "gauge" }, { "datasource": { @@ -137,43 +111,7 @@ "fieldConfig": { "defaults": { "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "bars", - "fillOpacity": 9, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "mode": "thresholds" }, "mappings": [], "thresholds": { @@ -182,9 +120,17 @@ { "color": "green" }, + { + "color": "yellow", + "value": 2 + }, + { + "color": "orange", + "value": 3 + }, { "color": "red", - "value": 80 + "value": 4 } ] } @@ -192,37 +138,52 @@ "overrides": [] }, "gridPos": { - "h": 4, + "h": 5, "w": 8, "x": 8, "y": 1 }, "id": 8, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" }, "pluginVersion": "12.0.2", "targets": [ { "editorMode": "code", - "expr": "sum(kgateway_controller_reconciliations_running{controller=~\"$controller\"}) by (controller)", + "expr": "sum(kgateway_controller_reconciliations_running{controller=~\"$controller|\",namespace=~\"$namespace|\"}) by (controller)", "legendFormat": "__auto", "range": true, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum(gloo_gateway_controller_reconciliations_running{controller=~\"$controller|\",namespace=~\"$namespace|\"}) by (controller)", + "hide": false, + "instant": false, + "legendFormat": "__auto", + "range": true, + "refId": "B" } ], "title": "Number of Reconciliations Running per Controller", - "type": "timeseries" + "type": "gauge" }, { "datasource": { @@ -240,10 +201,6 @@ "steps": [ { "color": "green" - }, - { - "color": "red", - "value": 80 } ] } @@ -251,18 +208,16 @@ "overrides": [] }, "gridPos": { - "h": 4, + "h": 12, "w": 8, "x": 16, "y": 1 }, "id": 6, "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", + "minVizHeight": 75, + "minVizWidth": 75, "orientation": "auto", - "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -270,28 +225,28 @@ "fields": "", "values": false }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" }, "pluginVersion": "12.0.2", "targets": [ { "datasource": { "type": "prometheus", - "uid": "P1809F7CD0C75ACF3" + "uid": "prometheus" }, "editorMode": "code", - "expr": "sum(kgateway_resources_managed) by (resource)", + "expr": "sum(kgateway_resources_managed{parent=~\"$gateway|\",namespace=~\"$namespace|\"}) by (resource)", "hide": false, "instant": false, - "legendFormat": "__auto", + "legendFormat": "{{resource}}", "range": true, "refId": "A" } ], "title": "Number of Resources", - "type": "stat" + "type": "gauge" }, { "datasource": { @@ -353,10 +308,10 @@ "overrides": [] }, "gridPos": { - "h": 6, + "h": 7, "w": 8, "x": 0, - "y": 5 + "y": 6 }, "id": 17, "options": { @@ -380,10 +335,10 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum(rate(kgateway_translator_translations_total{translator=~\"$translator\"}[5m])) by (result)", + "expr": "sum(rate(kgateway_translator_translations_total{translator=~\"$translator|\",namespace=~\"$namespace|\"}[5m])) by (translator, result)", "hide": false, "instant": false, - "legendFormat": "{{result}}", + "legendFormat": "{{translator}}: {{result}}", "range": true, "refId": "B" } @@ -451,10 +406,10 @@ "overrides": [] }, "gridPos": { - "h": 6, + "h": 7, "w": 8, "x": 8, - "y": 5 + "y": 6 }, "id": 18, "options": { @@ -478,10 +433,10 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum(rate(kgateway_controller_reconciliations_total[5m])) by (result)", + "expr": "sum(rate(kgateway_controller_reconciliations_total{controller=~\"$controller|\",namespace=~\"$namespace|\"}[5m])) by (controller, result)", "hide": false, "instant": false, - "legendFormat": "{{result}}", + "legendFormat": "{{controller}}: {{result}}", "range": true, "refId": "B" } @@ -491,83 +446,6 @@ }, { "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 13, - "w": 8, - "x": 16, - "y": 5 - }, - "id": 1, - "options": { - "displayMode": "gradient", - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "maxVizHeight": 300, - "minVizHeight": 16, - "minVizWidth": 8, - "namePlacement": "top", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true, - "sizing": "auto", - "valueMode": "color" - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "P1809F7CD0C75ACF3" - }, - "editorMode": "code", - "expr": "sum(kgateway_xds_snapshot_resources) by (gateway, resource)", - "hide": false, - "instant": false, - "legendFormat": "Gateway: {{gateway}} - {{resource}}", - "range": true, - "refId": "A" - } - ], - "title": "Number of Resources in Collections by Gateways", - "type": "bargauge" - }, - { - "datasource": { - "type": "prometheus", "uid": "prometheus" }, "fieldConfig": { @@ -623,8 +501,7 @@ "value": 80 } ] - }, - "unit": "sishort" + } }, "overrides": [] }, @@ -632,9 +509,9 @@ "h": 7, "w": 8, "x": 0, - "y": 11 + "y": 13 }, - "id": 9, + "id": 12, "options": { "legend": { "calcs": [], @@ -656,16 +533,15 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "sum(kgateway_translator_translations_total{translator=~\"$translator\"}) by (translator)", - "format": "time_series", + "expr": "sum(rate(kgateway_status_syncer_status_syncs_total{namespace=~\"$namespace|\"}[5m])) by (syncer, result) ", "hide": false, "instant": false, - "legendFormat": "{{translator}}", + "legendFormat": "{{syncer}}: {{result}}", "range": true, - "refId": "B" + "refId": "A" } ], - "title": "Number of Translations Over Time", + "title": "Status Syncs Rate by Results", "type": "timeseries" }, { @@ -673,103 +549,6 @@ "type": "prometheus", "uid": "prometheus" }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 9, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green" - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 8, - "x": 8, - "y": 11 - }, - "id": 4, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "12.0.2", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "expr": "sum(kgateway_controller_reconciliations_total{controller=~\"$controller\"}) by (controller)", - "hide": false, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "B" - } - ], - "title": "Number of Controller Reconciliations Over Time", - "type": "timeseries" - }, - { - "datasource": { - "uid": "prometheus" - }, "fieldConfig": { "defaults": { "color": { @@ -781,23 +560,20 @@ "steps": [ { "color": "green" - }, - { - "color": "red", - "value": 80 } ] - } + }, + "unit": "sishort" }, "overrides": [] }, "gridPos": { - "h": 6, + "h": 13, "w": 8, - "x": 0, - "y": 18 + "x": 8, + "y": 13 }, - "id": 10, + "id": 9, "options": { "minVizHeight": 75, "minVizWidth": 75, @@ -816,14 +592,47 @@ "pluginVersion": "12.0.2", "targets": [ { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, "editorMode": "code", - "expr": "kgateway_routing_domains", - "legendFormat": "{{namespace}}-{{gateway}}:{{port}}", + "expr": "sum(kgateway_translator_translations_total{translator=~\"$translator|\",namespace=~\"$namespace|\"}) by (translator)", + "format": "time_series", + "hide": false, + "instant": false, + "legendFormat": "Translator: {{translator}}", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum(kgateway_controller_reconciliations_total{controller=~\"$controller|\",namespace=~\"$namespace|\"}) by (controller)", + "hide": false, + "instant": false, + "legendFormat": "Controller: {{controller}}", "range": true, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum(kgateway_status_syncer_status_syncs_total{namespace=~\"$namespace|\"}) by (syncer)", + "hide": false, + "instant": false, + "legendFormat": "Syncer: {{syncer}}", + "range": true, + "refId": "C" } ], - "title": "Routing domains (per gateway:port)", + "title": "Total Operations", "type": "gauge" }, { @@ -833,43 +642,8 @@ "fieldConfig": { "defaults": { "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 9, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineStyle": { - "fill": "solid" - }, - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "fixedColor": "green", + "mode": "fixed" }, "mappings": [], "thresholds": { @@ -877,10 +651,6 @@ "steps": [ { "color": "green" - }, - { - "color": "red", - "value": 80 } ] } @@ -888,86 +658,59 @@ "overrides": [] }, "gridPos": { - "h": 6, + "h": 13, "w": 8, - "x": 8, - "y": 18 + "x": 16, + "y": 13 }, - "id": 12, + "id": 31, "options": { + "displayMode": "gradient", "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", - "showLegend": true + "showLegend": false + }, + "maxVizHeight": 300, + "minVizHeight": 16, + "minVizWidth": 8, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" }, "pluginVersion": "12.0.2", "targets": [ { - "datasource": { - "type": "prometheus", - "uid": "P1809F7CD0C75ACF3" - }, "editorMode": "code", - "expr": "sum(kgateway_status_syncer_status_syncs_total) by (syncer)", - "hide": false, + "exemplar": false, + "expr": "sum(kgateway_xds_snapshot_resources{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}) by (gateway, resource)", "instant": false, - "legendFormat": "{{label_name}}", + "legendFormat": "{{gateway}}: {{resource}}", "range": true, - "refId": "B" + "refId": "A" } ], - "title": "Status Syncs Over Time", - "type": "timeseries" + "title": "XDS Resources by Gateway", + "type": "bargauge" }, { "datasource": { - "type": "prometheus", "uid": "prometheus" }, "fieldConfig": { "defaults": { "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "mode": "thresholds" }, "mappings": [], "thresholds": { @@ -988,41 +731,39 @@ "gridPos": { "h": 6, "w": 8, - "x": 16, - "y": 18 + "x": 0, + "y": 20 }, - "id": 13, + "id": 10, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "pluginVersion": "12.0.2", "targets": [ { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, "editorMode": "code", - "expr": "count(apiserver_request_total{group=~\"gateway.*|solo.*|gloo.*\" ,code=\"422\"}) by (group, resource, subresource)", - "hide": false, - "instant": false, - "legendFormat": "{{group}}, {{resource}}", + "expr": "sum(kgateway_routing_domains{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}) by (gateway,port)", + "legendFormat": "{{gateway}}:{{port}}", "range": true, - "refId": "B" + "refId": "A" } ], - "title": "Failed validations", - "type": "timeseries" + "title": "Routing Domains per Gateway Port", + "type": "stat" }, { "collapsed": false, @@ -1030,11 +771,11 @@ "h": 1, "w": 24, "x": 0, - "y": 24 + "y": 26 }, "id": 19, "panels": [], - "title": "Control Plane Operation Latency", + "title": "Control Plane Operations", "type": "row" }, { @@ -1098,12 +839,12 @@ "overrides": [] }, "gridPos": { - "h": 8, + "h": 6, "w": 8, "x": 0, - "y": 25 + "y": 27 }, - "id": 3, + "id": 5, "options": { "legend": { "calcs": [], @@ -1125,7 +866,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.99, sum(rate(kgateway_translator_translation_duration_seconds_bucket[5m])) by (le)) OR histogram_quantile(0.99, sum(rate(kgateway_translator_translation_duration_seconds[5m])))", + "expr": "histogram_quantile(0.99, sum by(le)(rate(kgateway_controller_reconcile_duration_seconds{gateway=~\"$gateway|\",controller=~\"$controller|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p99", @@ -1138,7 +879,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.90, sum(rate(kgateway_translator_translation_duration_seconds_bucket[5m])) by (le)) OR histogram_quantile(0.90, sum(rate(kgateway_translator_translation_duration_seconds[5m])))", + "expr": "histogram_quantile(0.90, sum by(le)(rate(kgateway_controller_reconcile_duration_seconds{gateway=~\"$gateway|\",controller=~\"$controller|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p90", @@ -1151,7 +892,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.70, sum(rate(kgateway_translator_translation_duration_seconds_bucket[5m])) by (le)) OR histogram_quantile(0.70, sum(rate(kgateway_translator_translation_duration_seconds[5m])))", + "expr": "histogram_quantile(0.70, sum by(le)(rate(kgateway_controller_reconcile_duration_seconds{gateway=~\"$gateway|\",controller=~\"$controller|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p70", @@ -1159,7 +900,7 @@ "refId": "C" } ], - "title": "Translation Latency", + "title": "Reconciliation Latency", "type": "timeseries" }, { @@ -1223,12 +964,12 @@ "overrides": [] }, "gridPos": { - "h": 8, + "h": 6, "w": 8, "x": 8, - "y": 25 + "y": 27 }, - "id": 5, + "id": 21, "options": { "legend": { "calcs": [], @@ -1250,7 +991,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.99, sum(rate(kgateway_controller_reconcile_duration_seconds_bucket[5m])) by (le)) OR histogram_quantile(0.99, sum(rate(kgateway_controller_reconcile_duration_seconds[5m])))", + "expr": "histogram_quantile(0.99, sum by(le)(rate(kgateway_status_syncer_status_sync_duration_seconds{name=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p99", @@ -1263,7 +1004,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.90, sum(rate(kgateway_controller_reconcile_duration_seconds_bucket[$__rate_interval])) by (le)) OR histogram_quantile(0.90, sum(rate(kgateway_controller_reconcile_duration_seconds[5m])))", + "expr": "histogram_quantile(0.90, sum by(le)(rate(kgateway_status_syncer_status_sync_duration_seconds{name=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p90", @@ -1276,7 +1017,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.70, sum(rate(kgateway_controller_reconcile_duration_seconds_bucket[$__rate_interval])) by (le)) OR histogram_quantile(0.70, sum(rate(kgateway_controller_reconcile_duration_seconds[5m])))", + "expr": "histogram_quantile(0.70, sum by(le)(rate(kgateway_status_syncer_status_sync_duration_seconds{name=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p70", @@ -1284,7 +1025,7 @@ "refId": "C" } ], - "title": "Reconciliation Latency", + "title": "Status Syncer Latency", "type": "timeseries" }, { @@ -1348,12 +1089,12 @@ "overrides": [] }, "gridPos": { - "h": 8, + "h": 6, "w": 8, "x": 16, - "y": 25 + "y": 27 }, - "id": 21, + "id": 3, "options": { "legend": { "calcs": [], @@ -1375,7 +1116,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.99, sum(rate(kgateway_status_syncer_status_sync_duration_seconds[5m])) by (le)) OR histogram_quantile(0.99, sum(rate(kgateway_status_syncer_status_sync_duration_seconds[5m])))", + "expr": "histogram_quantile(0.99, sum by(le)(rate(kgateway_translator_translation_duration_seconds{name=~\"$gateway|\",translator=~\"$translator|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p99", @@ -1388,7 +1129,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.90, sum(rate(kgateway_status_syncer_status_sync_duration_seconds[5m])) by (le)) OR histogram_quantile(0.90, sum(rate(kgateway_status_syncer_status_sync_duration_seconds[5m])))", + "expr": "histogram_quantile(0.90, sum by(le)(rate(kgateway_translator_translation_duration_seconds{name=~\"$gateway|\",translator=~\"$translator|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p90", @@ -1401,7 +1142,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.70, sum(rate(kgateway_status_syncer_status_sync_duration_seconds[5m])) by (le)) OR histogram_quantile(0.70, sum(rate(kgateway_status_syncer_status_sync_duration_seconds[5m])))", + "expr": "histogram_quantile(0.70, sum by(le)(rate(kgateway_translator_translation_duration_seconds{name=~\"$gateway|\",translator=~\"$translator|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p70", @@ -1409,7 +1150,7 @@ "refId": "C" } ], - "title": "Status Syncer Latency", + "title": "Translation Latency", "type": "timeseries" }, { @@ -1473,7 +1214,7 @@ "overrides": [] }, "gridPos": { - "h": 8, + "h": 6, "w": 8, "x": 0, "y": 33 @@ -1500,7 +1241,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.99, sum(rate(kgateway_xds_snapshot_sync_duration_seconds[5m])))", + "expr": "histogram_quantile(0.99, sum by(le)(rate(kgateway_xds_snapshot_sync_duration_seconds{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p99", @@ -1513,7 +1254,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.90, sum(rate(kgateway_xds_snapshot_sync_duration_seconds[5m])))", + "expr": "histogram_quantile(0.90, sum by(le)(rate(kgateway_xds_snapshot_sync_duration_seconds{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p90", @@ -1526,7 +1267,7 @@ "uid": "prometheus" }, "editorMode": "code", - "expr": "histogram_quantile(0.70, sum(rate(kgateway_xds_snapshot_sync_duration_seconds[5m])))", + "expr": "histogram_quantile(0.70, sum by(le)(rate(kgateway_xds_snapshot_sync_duration_seconds{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", "hide": false, "instant": false, "legendFormat": "p70", @@ -1593,42 +1334,17 @@ } ] }, - "unit": "sishort" + "unit": "s" }, - "overrides": [ - { - "__systemRef": "hideSeriesFrom", - "matcher": { - "id": "byNames", - "options": { - "mode": "exclude", - "names": [ - "histogram_count(sum(kgateway_resources_xds_snapshot_sync_duration_seconds{gateway=~\"(http|metrics-test-gateway)\"}))" - ], - "prefix": "All except:", - "readOnly": true - } - }, - "properties": [ - { - "id": "custom.hideFrom", - "value": { - "legend": false, - "tooltip": false, - "viz": true - } - } - ] - } - ] + "overrides": [] }, "gridPos": { - "h": 8, + "h": 6, "w": 8, "x": 8, "y": 33 }, - "id": 20, + "id": 22, "options": { "legend": { "calcs": [], @@ -1649,65 +1365,53 @@ "type": "prometheus", "uid": "prometheus" }, - "disableTextWrap": false, "editorMode": "code", - "exemplar": false, - "expr": "sum by(gateway) (kgateway_xds_snapshot_syncs_total{gateway=~\"$gateway\"})", - "format": "time_series", - "fullMetaSearch": false, - "includeNullMetadata": true, + "expr": "histogram_quantile(0.99, sum by(le)(rate(kgateway_resources_status_sync_duration_seconds{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", + "hide": false, "instant": false, - "interval": "", - "legendFormat": "__auto", + "legendFormat": "p99", + "range": true, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.90, sum by(le)(rate(kgateway_resources_status_sync_duration_seconds{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", + "hide": false, + "instant": false, + "legendFormat": "p90", "range": true, "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "histogram_quantile(0.70, sum by(le)(rate(kgateway_resources_status_sync_duration_seconds{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}[5m])))", + "hide": false, + "instant": false, + "legendFormat": "p70", + "range": true, + "refId": "C" } ], - "title": "XDS Snapshot Syncs Total", + "title": "Resource Status Sync Latency", "type": "timeseries" }, { "datasource": { - "type": "prometheus", "uid": "prometheus" }, "fieldConfig": { "defaults": { "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 9, - "gradientMode": "opacity", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } + "fixedColor": "green", + "mode": "thresholds" }, "mappings": [], "thresholds": { @@ -1715,81 +1419,50 @@ "steps": [ { "color": "green" - }, - { - "color": "red", - "value": 80 } ] - }, - "unit": "s" + } }, "overrides": [] }, "gridPos": { - "h": 8, + "h": 6, "w": 8, "x": 16, "y": 33 }, - "id": 22, + "id": 32, "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "vertical", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false }, - "tooltip": { - "hideZeros": false, - "mode": "single", - "sort": "none" - } + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, "pluginVersion": "12.0.2", "targets": [ { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "expr": "histogram_quantile(0.99, sum(rate(kgateway_resources_status_sync_duration_seconds[5m])) by (le)) OR histogram_quantile(0.99, sum(rate(kgateway_resources_status_sync_duration_seconds[5m])))", - "hide": false, - "instant": false, - "legendFormat": "p99", - "range": true, - "refId": "B" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, "editorMode": "code", - "expr": "histogram_quantile(0.90, sum(rate(kgateway_resources_status_sync_duration_seconds[5m])) by (le)) OR histogram_quantile(0.90, sum(rate(kgateway_resources_status_sync_duration_seconds[5m])))", - "hide": false, + "exemplar": false, + "expr": "sum(kgateway_resources_status_syncs_completed_total{gateway=~\"$gateway|\",namespace=~\"$namespace|\"}) by (resource)", "instant": false, - "legendFormat": "p90", + "legendFormat": " {{resource}}", "range": true, "refId": "A" - }, - { - "datasource": { - "type": "prometheus", - "uid": "prometheus" - }, - "editorMode": "code", - "expr": "histogram_quantile(0.70, sum(rate(kgateway_resources_status_sync_duration_seconds[5m])) by (le)) OR histogram_quantile(0.70, sum(rate(kgateway_resources_status_sync_duration_seconds[5m])))", - "hide": false, - "instant": false, - "legendFormat": "p70", - "range": true, - "refId": "C" } ], - "title": "Resource Status Sync Latency", - "type": "timeseries" + "title": "Status Syncs by Resource", + "type": "stat" } ], "preload": false, @@ -1836,6 +1509,7 @@ "definition": "label_values(kgateway_resources_managed,namespace)", "includeAll": true, "label": "Namespace", + "multi": true, "name": "namespace", "options": [], "query": {