{ "__inputs": [ { "name": "DS_INFLUXDB-RAILS", "label": "InfluxDB-Rails", "description": "", "type": "datasource", "pluginId": "influxdb", "pluginName": "InfluxDB" } ], "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", "version": "7.1.1" }, { "type": "panel", "id": "graph", "name": "Graph", "version": "" }, { "type": "datasource", "id": "influxdb", "name": "InfluxDB", "version": "1.0.0" }, { "type": "panel", "id": "stat", "name": "Stat", "version": "" }, { "type": "panel", "id": "table-old", "name": "Table (old)", "version": "" } ], "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Controller Action Performance Insights based on influxdb-rails", "editable": true, "gnetId": 11031, "graphTooltip": 0, "id": null, "iteration": 1616428619978, "links": [ { "$$hashKey": "object:226", "icon": "external link", "keepTime": false, "tags": [ "influxdb-rails" ], "type": "dashboards" } ], "panels": [ { "cacheTimeout": null, "datasource": "InfluxDB", "fieldConfig": { "defaults": { "custom": {}, "mappings": [ { "id": 0, "op": "=", "text": "N/A", "type": 1, "value": "null" } ], "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 5, "x": 0, "y": 0 }, "id": 22, "interval": null, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "horizontal", "reduceOptions": { "calcs": [ "sum" ], "fields": "/^rails\\.count$/", "values": false }, "textMode": "auto" }, "pluginVersion": "7.1.1", "targets": [ { "groupBy": [], "measurement": "rails", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "controller" ], "type": "field" }, { "params": [], "type": "count" } ] ], "tags": [ { "key": "method", "operator": "=~", "value": "/^$Action$/" }, { "condition": "AND", "key": "hook", "operator": "=", "value": "process_action" } ] } ], "title": "Requests Served", "type": "stat" }, { "cacheTimeout": null, "datasource": "InfluxDB", "description": "", "fieldConfig": { "defaults": { "custom": {}, "decimals": 2, "displayName": "Response Time", "mappings": [], "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ { "color": "#299c46", "value": null }, { "color": "yellow", "value": 150 }, { "color": "red", "value": 300 } ] }, "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, "x": 5, "y": 0 }, "id": 30, "interval": null, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.1.1", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "hide": false, "measurement": "rails", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "controller" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [ { "key": "hook", "operator": "=", "value": "process_action" }, { "condition": "AND", "key": "method", "operator": "=~", "value": "/^$Action$/" } ] } ], "title": "Average Response", "type": "stat" }, { "cacheTimeout": null, "datasource": "InfluxDB", "description": "", "fieldConfig": { "defaults": { "custom": {}, "decimals": 2, "displayName": "Response Time", "mappings": [], "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ { "color": "#299c46", "value": null }, { "color": "yellow", "value": 150 }, { "color": "red", "value": 300 } ] }, "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, "x": 11, "y": 0 }, "id": 31, "interval": null, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.1.1", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "hide": false, "measurement": "rails", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "view" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [ { "key": "hook", "operator": "=", "value": "process_action" }, { "condition": "AND", "key": "method", "operator": "=~", "value": "/^$Action$/" } ] } ], "title": "Average View Rendering", "type": "stat" }, { "cacheTimeout": null, "datasource": "InfluxDB", "fieldConfig": { "defaults": { "custom": {}, "displayName": "Response Time", "mappings": [], "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ { "color": "#299c46", "value": null }, { "color": "rgba(237, 129, 40, 0.89)", "value": 50 }, { "color": "#d44a3a", "value": 100 } ] }, "unit": "ms" }, "overrides": [] }, "gridPos": { "h": 3, "w": 7, "x": 17, "y": 0 }, "id": 28, "interval": null, "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "center", "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "7.1.1", "targets": [ { "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "measurement": "rails", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "db" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [ { "key": "hook", "operator": "=", "value": "process_action" }, { "condition": "AND", "key": "method", "operator": "=~", "value": "/^$Action$/" } ] } ], "title": "Average Database Response", "type": "stat" }, { "aliasColors": {}, "bars": true, "dashLength": 10, "dashes": false, "datasource": "InfluxDB", "fieldConfig": { "defaults": { "custom": {}, "links": [] }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 13, "x": 0, "y": 3 }, "hiddenSeries": false, "id": 20, "legend": { "avg": false, "current": false, "max": false, "min": false, "show": true, "total": false, "values": false }, "lines": false, "linewidth": 7, "links": [], "nullPointMode": "null", "percentage": false, "pluginVersion": "7.1.1", "pointradius": 3, "points": true, "renderer": "flot", "seriesOverrides": [ { "alias": "rails.max", "fillBelowTo": "rails.min", "lines": false }, { "alias": "rails.min", "lines": false } ], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "alias": "", "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "measurement": "rails", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "controller" ], "type": "field" }, { "params": [], "type": "sum" } ] ], "tags": [ { "key": "method", "operator": "=~", "value": "/^$Action$/" }, { "condition": "AND", "key": "hook", "operator": "=", "value": "process_action" } ] } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Response time", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "decimals": null, "format": "dtdurationms", "label": "", "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": false } ], "yaxis": { "align": false, "alignLevel": null } }, { "columns": [], "datasource": "InfluxDB", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fontSize": "100%", "gridPos": { "h": 8, "w": 11, "x": 13, "y": 3 }, "id": 26, "links": [], "pageSize": null, "scroll": true, "showHeader": true, "sort": { "col": 3, "desc": true }, "styles": [ { "alias": "Time", "align": "auto", "dateFormat": "YYYY-MM-DD HH:mm:ss", "pattern": "Time", "type": "date" }, { "alias": "Reqest", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "link": true, "linkTargetBlank": true, "linkTooltip": "Show details of this request", "linkUrl": "/d/influxdb-rails-request/ruby-on-rails-performance-per-request?orgId=1&var-request_id=${__cell}&from=${__cell_2}&to=${__cell_0}&var-method=${__cell_1}", "mappingType": 1, "pattern": "request_id", "thresholds": [], "type": "string", "unit": "short" }, { "alias": "Response time", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "controller", "thresholds": [], "type": "number", "unit": "ms" }, { "alias": "Time", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "started", "thresholds": [], "type": "hidden", "unit": "short" }, { "alias": "", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "method", "thresholds": [], "type": "hidden", "unit": "short" }, { "alias": "", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "decimals": 2, "pattern": "/.*/", "thresholds": [], "type": "number", "unit": "short" } ], "targets": [ { "groupBy": [ { "params": [ "method" ], "type": "tag" } ], "limit": "50", "measurement": "rails", "orderByTime": "DESC", "policy": "default", "refId": "A", "resultFormat": "table", "select": [ [ { "params": [ "started" ], "type": "field" } ], [ { "params": [ "controller" ], "type": "field" } ], [ { "params": [ "request_id" ], "type": "field" } ] ], "tags": [ { "key": "method", "operator": "=~", "value": "/^$Action$/" }, { "condition": "AND", "key": "hook", "operator": "=", "value": "process_action" } ] } ], "title": "Last requests", "transform": "table", "type": "table-old" }, { "columns": [], "datasource": "InfluxDB", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fontSize": "100%", "gridPos": { "h": 15, "w": 13, "x": 0, "y": 11 }, "id": 2, "links": [], "pageSize": null, "scroll": true, "showHeader": true, "sort": { "col": 5, "desc": true }, "styles": [ { "alias": "Time", "align": "auto", "dateFormat": "YYYY-MM-DD HH:mm:ss", "pattern": "Time", "type": "hidden" }, { "alias": "Partial", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "filename", "sanitize": false, "thresholds": [], "type": "string", "unit": "short" }, { "alias": "Count", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 0, "mappingType": 1, "pattern": "count", "thresholds": [], "type": "number", "unit": "short" }, { "alias": "Mean", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "mean", "thresholds": [], "type": "number", "unit": "ms" }, { "alias": "Median", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "median", "thresholds": [], "type": "number", "unit": "ms" }, { "alias": "Max", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "max", "thresholds": [], "type": "number", "unit": "ms" }, { "alias": "", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "decimals": 2, "pattern": "/.*/", "thresholds": [], "type": "number", "unit": "short" } ], "targets": [ { "groupBy": [ { "params": [ "filename" ], "type": "tag" } ], "measurement": "rails", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "table", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "count" } ], [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ], [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "median" } ], [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "max" } ] ], "tags": [ { "key": "location", "operator": "=~", "value": "/^$Action$/" }, { "condition": "AND", "key": "hook", "operator": "=", "value": "render_template" } ] } ], "title": "Partials", "transform": "table", "type": "table-old" }, { "columns": [], "datasource": "InfluxDB", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fontSize": "100%", "gridPos": { "h": 15, "w": 11, "x": 13, "y": 11 }, "id": 4, "links": [], "pageSize": null, "scroll": true, "showHeader": true, "sort": { "col": 5, "desc": true }, "styles": [ { "$$hashKey": "object:171", "alias": "Time", "align": "auto", "dateFormat": "YYYY-MM-DD HH:mm:ss", "pattern": "Time", "type": "hidden" }, { "$$hashKey": "object:173", "alias": "Count", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 0, "mappingType": 1, "pattern": "count", "thresholds": [], "type": "number", "unit": "short" }, { "$$hashKey": "object:174", "alias": "Mean", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "mean", "thresholds": [], "type": "number", "unit": "ms" }, { "$$hashKey": "object:175", "alias": "Median", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "median", "thresholds": [], "type": "number", "unit": "ms" }, { "$$hashKey": "object:176", "alias": "Name", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "name", "thresholds": [], "type": "string", "unit": "short", "valueMaps": [ { "$$hashKey": "object:299", "text": "Raw", "value": "" } ] }, { "$$hashKey": "object:177", "alias": "Max", "align": "auto", "colorMode": null, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "max", "thresholds": [], "type": "number", "unit": "ms" } ], "targets": [ { "groupBy": [ { "params": [ "name" ], "type": "tag" } ], "measurement": "rails", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "table", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "count" } ], [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ], [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "median" } ], [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "max" } ] ], "tags": [ { "key": "location", "operator": "=~", "value": "/^$Action$/" }, { "condition": "AND", "key": "hook", "operator": "=", "value": "sql" } ] } ], "title": "SQL", "transform": "table", "type": "table-old" } ], "refresh": false, "schemaVersion": 26, "style": "dark", "tags": [ "Performance", "Ruby on Rails" ], "templating": { "list": [ { "allValue": null, "current": {}, "datasource": "InfluxDB", "definition": "", "hide": 0, "includeAll": false, "label": null, "multi": true, "name": "Action", "options": [], "query": "show tag values from \"rails\" with key = \"method\";", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-1h", "to": "now" }, "timepicker": { "refresh_intervals": [ "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ], "time_options": [ "5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d" ] }, "timezone": "", "title": "Performance (per Action)", "uid": "influxdb-rails-action", "version": 10 }