diff --git a/stacks/platform/modules/monitoring/dashboards/realestate-crawler.json b/stacks/platform/modules/monitoring/dashboards/realestate-crawler.json index 834b0062..0735da7b 100644 --- a/stacks/platform/modules/monitoring/dashboards/realestate-crawler.json +++ b/stacks/platform/modules/monitoring/dashboards/realestate-crawler.json @@ -3531,6 +3531,133 @@ ], "title": "Listing Detail Load Time", "type": "stat" + }, + { + "collapsed": false, + "gridPos": { "h": 1, "w": 24, "x": 0, "y": 115 }, + "id": 250, + "panels": [], + "title": "Per-Endpoint Latency Comparison", + "type": "row" + }, + { + "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, + "description": "p50 and p95 request latency per endpoint", + "fieldConfig": { + "defaults": { + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { "legend": false, "tooltip": false, "viz": false }, + "insertNulls": false, + "lineInterpolation": "smooth", + "lineWidth": 2, + "pointSize": 5, + "scaleDistribution": { "type": "linear" }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { "group": "A", "mode": "none" }, + "thresholdsStyle": { "mode": "off" } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { "color": "green", "value": null }, + { "color": "yellow", "value": 500 }, + { "color": "red", "value": 2000 } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { "h": 10, "w": 16, "x": 0, "y": 116 }, + "id": 251, + "options": { + "legend": { "calcs": ["mean", "max"], "displayMode": "table", "placement": "bottom" }, + "tooltip": { "mode": "multi", "sort": "desc" } + }, + "pluginVersion": "12.3.0", + "targets": [ + { + "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, + "editorMode": "code", + "expr": "histogram_quantile(0.50, sum by (le, http_route) (rate(http_server_duration_milliseconds_bucket{job=\"realestate-crawler-api\"}[5m])))", + "legendFormat": "p50 {{http_route}}", + "range": true, + "refId": "A" + }, + { + "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum by (le, http_route) (rate(http_server_duration_milliseconds_bucket{job=\"realestate-crawler-api\"}[5m])))", + "legendFormat": "p95 {{http_route}}", + "range": true, + "refId": "B" + } + ], + "title": "Endpoint Latency p50/p95", + "type": "timeseries" + }, + { + "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, + "description": "p95 latency per endpoint, sorted descending", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { "color": "green", "value": null }, + { "color": "yellow", "value": 500 }, + { "color": "red", "value": 2000 } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { "h": 10, "w": 8, "x": 16, "y": 116 }, + "id": 252, + "options": { + "displayMode": "gradient", + "maxVizHeight": 300, + "minVizHeight": 16, + "minVizWidth": 8, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { "calcs": ["lastNotNull"], "fields": "", "values": false }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "12.3.0", + "targets": [ + { + "datasource": { "type": "prometheus", "uid": "PBFA97CFB590B2093" }, + "editorMode": "code", + "expr": "histogram_quantile(0.95, sum by (le, http_route) (rate(http_server_duration_milliseconds_bucket{job=\"realestate-crawler-api\"}[5m])))", + "legendFormat": "{{http_route}}", + "instant": true, + "refId": "A" + } + ], + "title": "Endpoint Latency Ranking (p95)", + "transformations": [ + { + "id": "sortBy", + "options": { "fields": {}, "sort": [{ "desc": true, "field": "Value" }] } + } + ], + "type": "bargauge" } ], "preload": false,