From 21e9fac8bd7c16f92d12c3df99536401f1209e58 Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Mon, 27 Jul 2020 12:00:28 +0000 Subject: Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics (#25136) * Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics Add more detailed metrics in World::UpdateSessions(). * Attempt using C++17 features * Fix cmake typo Co-authored-by: NoName <322016+Faq@users.noreply.github.com> * Fix build with WITHOUT_METRICS * Update Performance profiling dashboard with Update sessions panel * Add panel to show sessions with update time above 100 ms * Move legends on the right and add max update time diff in the legend of sessions Co-authored-by: NoName <322016+Faq@users.noreply.github.com> (cherry picked from commit 36ef487a90d0d14c4da8ce7e19b5916b8b15056c) --- contrib/grafana/4_Performance_profiling.json | 308 ++++++++++++++++++++++++++- 1 file changed, 304 insertions(+), 4 deletions(-) (limited to 'contrib') diff --git a/contrib/grafana/4_Performance_profiling.json b/contrib/grafana/4_Performance_profiling.json index a92fade9e1b..14fa686f951 100644 --- a/contrib/grafana/4_Performance_profiling.json +++ b/contrib/grafana/4_Performance_profiling.json @@ -29,7 +29,7 @@ "gnetId": null, "graphTooltip": 0, "id": 15, - "iteration": 1595439203259, + "iteration": 1595850767526, "links": [], "panels": [ { @@ -208,12 +208,14 @@ "hiddenSeries": false, "id": 6, "legend": { + "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": true, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -394,12 +396,14 @@ "hiddenSeries": false, "id": 7, "legend": { + "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": true, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -535,12 +539,14 @@ "hiddenSeries": false, "id": 2, "legend": { + "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": true, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -676,13 +682,14 @@ "hiddenSeries": false, "id": 5, "legend": { - "alignAsTable": false, + "alignAsTable": true, "avg": false, "current": false, "hideEmpty": false, "hideZero": true, "max": false, "min": false, + "rightSide": true, "show": true, "total": false, "values": false @@ -794,6 +801,299 @@ "align": false, "alignLevel": null } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 23 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 2, + "nullPointMode": "connected", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "Account ID $tag_account_id", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "account_id" + ], + "type": "tag" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "world_update_sessions_time", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT max(\"value\") FROM \"map_update_time_diff\" WHERE (\"realm\" =~ /^$realm$/) AND $timeFilter GROUP BY time($__interval), \"map_id\" fill(none)", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "value" + ], + "type": "field" + }, + { + "params": [], + "type": "max" + } + ] + ], + "tags": [ + { + "key": "realm", + "operator": "=~", + "value": "/^$realm$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Update sessions - Split", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": null, + "description": "", + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 23 + }, + "hiddenSeries": false, + "id": 10, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "hideEmpty": false, + "hideZero": true, + "max": true, + "min": false, + "rightSide": true, + "show": true, + "sort": "max", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": false, + "linewidth": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": true, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "Account ID $tag_account_id", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "account_id" + ], + "type": "tag" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "world_update_sessions_time", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT max(\"value\") FROM \"map_update_time_diff\" WHERE (\"realm\" =~ /^$realm$/) AND $timeFilter GROUP BY time($__interval), \"map_id\" fill(none)", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "value" + ], + "type": "field" + }, + { + "params": [], + "type": "max" + } + ] + ], + "tags": [ + { + "key": "realm", + "operator": "=~", + "value": "/^$realm$/" + }, + { + "condition": "AND", + "key": "value", + "operator": ">", + "value": "100" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Update sessions - Above 100 ms", + "tooltip": { + "shared": false, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } } ], "refresh": "1m", @@ -831,7 +1131,7 @@ ] }, "time": { - "from": "now-6h", + "from": "now-1h", "to": "now" }, "timepicker": { @@ -850,5 +1150,5 @@ "timezone": "", "title": "Performance profiling", "uid": "IRRL03nMk", - "version": 1 + "version": 4 } \ No newline at end of file -- cgit v1.2.3