{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "target": { "limit": 100, "matchAny": false, "tags": [], "type": "dashboard" }, "type": "dashboard" } ] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 1, "links": [], "liveNow": false, "panels": [ { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 40, "panels": [], "title": "Core Stats", "type": "row" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "dthms" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 0, "y": 1 }, "id": 12, "options": { "colorMode": "none", "graphMode": "none", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"mission_data\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"server_time\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"serverTime\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> last()", "refId": "A" } ], "title": "Mission Time Elapsed", "type": "stat" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "decimals": 0, "mappings": [], "max": 120, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "red", "value": null }, { "color": "yellow", "value": 30 }, { "color": "purple", "value": 60 }, { "color": "green", "value": 90 }, { "color": "dark-green", "value": 120 } ] } }, "overrides": [] }, "gridPos": { "h": 10, "w": 7, "x": 4, "y": 1 }, "id": 8, "interval": "10s", "options": { "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": true, "showThresholdMarkers": true }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"server_performance\")\r\n|> range(start: -1m)\r\n|> filter(fn: (r) => r[\"_measurement\"] == \"fps\")\r\n|> filter(fn: (r) => r[\"_field\"] == \"fps_avg\")\r\n|> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n|> group(columns: [\"profileName\", \"_field\"])\r\n|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n|> keep(columns: [\"_time\", \"profileName\", \"_field\", \"_value\"])\r\n|> map(fn: (r) => ({ r with _field: \"Avg FPS\" }))\r\n|> last()", "refId": "fps_avg" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": "from(bucket: \"server_performance\")\r\n|> range(start: -1m)\r\n|> filter(fn: (r) => r[\"_measurement\"] == \"fps\")\r\n|> filter(fn: (r) => r[\"_field\"] == \"fps_min\")\r\n|> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n|> group(columns: [\"profileName\", \"_field\"])\r\n|> aggregateWindow(every: v.windowPeriod, fn: min, createEmpty: false)\r\n|> keep(columns: [\"_time\", \"profileName\", \"_field\", \"_value\"])\r\n|> map(fn: (r) => ({ r with _field: \"Min FPS\" }))\r\n|> last()", "refId": "fps_min" } ], "title": "Server & HC FPS", "type": "gauge" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic", "seriesBy": "last" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 38, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "stepAfter", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "area" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null }, { "color": "green", "value": 20 }, { "color": "yellow", "value": 75 }, { "color": "red", "value": 125 } ] } }, "overrides": [] }, "gridPos": { "h": 7, "w": 13, "x": 11, "y": 1 }, "id": 46, "interval": "10s", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"running_scripts\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> keep(columns: [\"_time\", \"profileName\", \"_field\", \"_value\"])\r\n |> group(columns: [\"profileName\", \"_field\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)", "refId": "RunningScripts" } ], "title": "Running Scripts", "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "short" }, "overrides": [] }, "gridPos": { "h": 3, "w": 4, "x": 0, "y": 4 }, "id": 38, "interval": "10s", "options": { "colorMode": "none", "graphMode": "area", "justifyMode": "center", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "textMode": "auto" }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"players_alive\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> group(columns: [\"side\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: false)", "refId": "AlivePlayers" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": true, "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"players_dead\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> keep(columns: [\"_time\", \"_field\", \"_value\"])\r\n |> map(fn: (r) => ({ r with _field: \"Dead\" }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: false)\r\n |> last()\r\n", "refId": "DeadPlayers" } ], "title": "Alive Players", "transformations": [ { "id": "calculateField", "options": { "alias": "Alive AI", "binary": { "left": "Total Units", "operator": "-", "reducer": "sum", "right": "Total Players" }, "mode": "binary", "reduce": { "reducer": "sum" }, "replaceFields": false } } ], "type": "stat" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "continuous-RdYlGr" }, "mappings": [], "max": 4000, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 2, "x": 0, "y": 7 }, "id": 59, "interval": "20s", "options": { "displayMode": "lcd", "minVizHeight": 10, "minVizWidth": 0, "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showUnfilled": true }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"milsim_server_efficiency\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"milsim_raw_cps\")\r\n |> last()\r\n |> map(fn: (r) => ({ r with _field: \"CPS RAW\" }))", "refId": "A" } ], "title": "Milsim CPS Raw", "type": "bargauge" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "continuous-RdYlGr" }, "mappings": [], "max": 1, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 4, "w": 2, "x": 2, "y": 7 }, "id": 60, "interval": "20s", "options": { "displayMode": "lcd", "minVizHeight": 10, "minVizWidth": 0, "orientation": "vertical", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showUnfilled": true }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"milsim_server_efficiency\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"milsim_cps\")\r\n |> last()\r\n |> map(fn: (r) => ({ r with _field: \"CPS\" }))", "refId": "A" } ], "title": "Milsim CPS", "type": "bargauge" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "fixed" }, "custom": { "fillOpacity": 17, "lineWidth": 1, "spanNulls": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "gridPos": { "h": 5, "w": 13, "x": 11, "y": 8 }, "id": 48, "interval": "5s", "options": { "alignValue": "right", "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false }, "mergeValues": true, "rowHeight": 0.88, "showValue": "always", "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"mission_data\")\r\n |> range(start: -7d)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"running_mission\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> last()\r\n |> pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> keep(columns: [\"briefing_name\", \"mission_name\", \"mission_name_source\", \"on_load_name\", \"author\", \"server_name\", \"_time\", \"_value\"])\r\n", "refId": "A" } ], "title": "Running Mission", "type": "state-timeline" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "scaleDistribution": { "type": "linear" } } }, "overrides": [] }, "gridPos": { "h": 5, "w": 11, "x": 0, "y": 11 }, "id": 33, "interval": "5s", "options": { "calculate": true, "calculation": { "xBuckets": { "mode": "count", "value": "15" }, "yBuckets": { "mode": "size", "value": "" } }, "cellGap": 3, "cellValues": { "unit": "none" }, "color": { "exponent": 0.5, "fill": "orange", "mode": "opacity", "reverse": true, "scale": "linear", "scheme": "PRGn", "steps": 128 }, "exemplars": { "color": "light-yellow" }, "filterValues": { "le": 1e-9 }, "legend": { "show": false }, "rowsFrame": { "layout": "auto" }, "tooltip": { "show": true, "yHistogram": true }, "yAxis": { "axisPlacement": "right", "min": 0, "reverse": false } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"server_performance\")\r\n|> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n|> filter(fn: (r) => r[\"_measurement\"] == \"fps\")\r\n|> filter(fn: (r) => r[\"_field\"] == \"fps_avg\")\r\n|> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n|> yield(name: \"avg\")", "refId": "fps_avg" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": "from(bucket: \"server_performance\")\r\n|> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n|> filter(fn: (r) => r[\"_measurement\"] == \"fps\")\r\n|> filter(fn: (r) => r[\"_field\"] == \"fps_min\")\r\n|> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n|> aggregateWindow(every: v.windowPeriod, fn: min, createEmpty: false)\r\n|> yield(name: \"min\")", "refId": "fps_min" } ], "title": "Server FPS History", "type": "heatmap" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [] } }, "overrides": [ { "matcher": { "id": "byFrameRefID", "options": "Groups" }, "properties": [ { "id": "displayName", "value": "Groups" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "yellow", "value": 45 }, { "color": "orange", "value": 60 }, { "color": "red", "value": 100 } ] } } ] }, { "matcher": { "id": "byFrameRefID", "options": "Alive Units" }, "properties": [ { "id": "displayName", "value": "Units (Alive)" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "light-yellow", "value": 60 }, { "color": "semi-dark-orange", "value": 90 }, { "color": "red", "value": 100 } ] } } ] }, { "matcher": { "id": "byFrameRefID", "options": "Dead Units" }, "properties": [ { "id": "displayName", "value": "Units (Dead)" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "yellow", "value": 60 }, { "color": "orange", "value": 90 }, { "color": "red", "value": 100 } ] } } ] }, { "matcher": { "id": "byFrameRefID", "options": "Vehicles" }, "properties": [ { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#6ED0E0", "value": 300 }, { "color": "#EAB839", "value": 500 }, { "color": "red", "value": 1000 } ] } }, { "id": "displayName", "value": "Vehicles" } ] }, { "matcher": { "id": "byFrameRefID", "options": "WeaponHolders" }, "properties": [ { "id": "displayName", "value": "WeaponHolder Objects" }, { "id": "thresholds", "value": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "#6ED0E0", "value": 300 }, { "color": "#EAB839", "value": 500 }, { "color": "red", "value": 1000 } ] } } ] } ] }, "gridPos": { "h": 5, "w": 13, "x": 11, "y": 13 }, "id": 5, "interval": "10s", "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "auto", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "hide": false, "orderByTime": "ASC", "policy": "default", "query": " from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"units_alive\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> group(columns: [\"side\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"_measurement\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)\r\n", "refId": "Alive Units", "resultFormat": "time_series", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"units_dead\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"_measurement\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)\r\n", "refId": "Dead Units" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "hide": false, "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"vehicles_total\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"_measurement\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)\r\n", "refId": "Vehicles", "resultFormat": "time_series", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "hide": false, "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"vehicles_weaponholder\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"_measurement\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)\r\n\r\n", "refId": "WeaponHolders", "resultFormat": "time_series", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"groups_total\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"_measurement\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)", "refId": "Groups", "resultFormat": "time_series", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] } ], "title": "Global Objects, Groups, Units", "transformations": [ { "id": "configFromData", "options": {} } ], "type": "stat" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 36, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "GUER" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "WEST" }, "properties": [ { "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "CIV" }, "properties": [ { "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "EAST" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 5, "w": 9, "x": 0, "y": 16 }, "id": 57, "interval": "10s", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": " from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"units_alive\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> group(columns: [\"side\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: false)\r\n ", "refId": "All Units Alive" } ], "title": "[Global] Active Units", "transformations": [ { "disabled": true, "id": "calculateField", "options": { "alias": "Total", "binary": { "left": "Alive Units", "operator": "-", "reducer": "sum", "right": "Alive Players" }, "mode": "reduceRow", "reduce": { "include": [ "CIV", "EAST", "GUER", "WEST" ], "reducer": "sum" } } } ], "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic", "seriesBy": "max" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Number of Units", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 9, "y": 18 }, "id": 32, "interval": "10s", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_local\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"units_alive\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"profileName\", \"_field\", \"_value\"])\r\n |> map(fn: (r) => ({ r with _field: \"Alive\" }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)", "refId": "AliveUnits", "resultFormat": "time_series", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_local\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"units_dead\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"profileName\", \"_field\", \"_value\"])\r\n |> map(fn: (r) => ({ r with _field: \"Dead\" }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)", "refId": "DeadUnits" } ], "title": "Units by Profile", "transformations": [], "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "max": 750, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 5, "w": 9, "x": 15, "y": 18 }, "id": 63, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"player_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"network\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"avgPing\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> group(columns: [\"playerUID\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)", "refId": "A" } ], "title": "Player Ping", "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "CIV" }, "properties": [ { "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "EAST" }, "properties": [ { "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "GUER" }, "properties": [ { "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "WEST" }, "properties": [ { "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 5, "w": 9, "x": 0, "y": 21 }, "id": 65, "interval": "10s", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": " from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"players_alive\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> group(columns: [\"side\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: false)\r\n ", "refId": "All Players Alive" } ], "title": "[Global] Active Players", "transformations": [], "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 5, "w": 9, "x": 15, "y": 23 }, "id": 64, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"player_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"network\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"desync\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> group(columns: [\"playerUID\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)", "refId": "A" } ], "title": "Player Desync", "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Number of Groups", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 9, "y": 24 }, "id": 29, "interval": "10s", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_local\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"groups_total\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"profileName\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)", "refId": "Groups", "resultFormat": "time_series", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] } ], "title": "Groups by Profile", "transformations": [], "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "smooth", "lineStyle": { "fill": "solid" }, "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "max": 12000, "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 5, "w": 9, "x": 15, "y": 28 }, "id": 62, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"player_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"network\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"avgBandwidth\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> group(columns: [\"playerUID\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)", "refId": "A" } ], "title": "Player Bandwidth", "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "Number of Vehicles", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "stepAfter", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 6, "w": 6, "x": 9, "y": 30 }, "id": 31, "interval": "10s", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "mode": "multi", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "null" ], "type": "fill" } ], "orderByTime": "ASC", "policy": "default", "query": "from(bucket: \"server_performance\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_local\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"vehicles_total\" or r[\"_field\"] == \"vehicles_weaponholder\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)\r\n |> keep(columns: [\"_time\", \"profileName\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: true)", "refId": "Vehicles", "resultFormat": "time_series", "select": [ [ { "params": [ "value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] } ], "title": "Vehicles by Profile", "transformations": [], "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "align": "left", "cellOptions": { "type": "auto" }, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "channel" }, "properties": [ { "id": "mappings", "value": [ { "options": { "0": { "color": "#808080", "index": 0, "text": "Global" }, "1": { "color": "light-blue", "index": 1, "text": "Side" }, "2": { "color": "dark-yellow", "index": 2, "text": "Command" }, "3": { "color": "green", "index": 3, "text": "Group" }, "4": { "color": "light-yellow", "index": 4, "text": "Vehicle" }, "5": { "color": "#ffffff", "index": 5, "text": "Direct" }, "16": { "color": "#808080", "index": 7, "text": "System" } }, "type": "value" }, { "options": { "from": 6, "result": { "color": "semi-dark-red", "index": 6, "text": "Custom" }, "to": 15 }, "type": "range" } ] }, { "id": "custom.width", "value": 91 }, { "id": "custom.cellOptions", "value": { "type": "color-text" } } ] }, { "matcher": { "id": "byName", "options": "from" }, "properties": [ { "id": "custom.width", "value": 186 } ] }, { "matcher": { "id": "byName", "options": "_time" }, "properties": [ { "id": "custom.width", "value": 168 } ] } ] }, "gridPos": { "h": 8, "w": 15, "x": 9, "y": 36 }, "id": 14, "options": { "footer": { "countRows": false, "fields": [ "_value" ], "reducer": [ "lastNotNull" ], "show": false }, "frameIndex": 0, "showHeader": true, "sortBy": [] }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"server_events\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r._measurement == \"HandleChatMessage\")\r\n |> filter(fn: (r) => r[\"connectedServer\"] == \"${Server}\")\r\n |> filter(fn: (r) => r._field == \"text\" or r._field == \"from\" or r._field == \"channel\")\r\n |> pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")\r\n |> keep(columns: [\"_time\", \"channel\", \"from\", \"name\", \"text\"])\r\n\r\n ", "refId": "A" } ], "title": "Chat Log", "transformations": [ { "id": "sortBy", "options": { "fields": {}, "sort": [ { "desc": true, "field": "_time" } ] } } ], "type": "table" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 44 }, "id": 6, "panels": [], "title": "Global Entity Counts", "type": "row" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "opacity", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Alive CIV" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Alive EAST" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Alive GUER" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Alive WEST" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead CIV" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead EAST" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead GUER" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead WEST" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead" }, "properties": [ { "id": "color", "value": { "fixedColor": "#3b3933fa", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 6, "w": 9, "x": 0, "y": 45 }, "id": 9, "interval": "10s", "options": { "legend": { "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": "from(bucket: \"server_performance\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\n |> filter(fn: (r) => r[\"_field\"] == \"units_alive\")\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\n |> map(fn: (r) => ({ r with _field: \"Alive\" }))\n |> keep(columns: [\"_time\", \"side\", \"_field\", \"_value\"])\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)", "refId": "UnitsAlive" } ], "title": "Global Alive Units By Side", "transformations": [], "type": "timeseries" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "drawStyle": "line", "fillOpacity": 25, "gradientMode": "hue", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "auto", "spanNulls": false, "stacking": { "group": "A", "mode": "normal" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "min": 0, "thresholds": { "mode": "absolute", "steps": [ { "color": "green" } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "Alive CIV" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Alive EAST" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Alive GUER" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Alive WEST" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead CIV" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead EAST" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead GUER" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead WEST" }, "properties": [ { "id": "color", "value": { "fixedColor": "super-light-blue", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Dead" }, "properties": [ { "id": "color", "value": { "fixedColor": "#3b3933fa", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Vehicles CIV" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-purple", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Vehicles EAST" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-red", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Vehicles GUER" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-green", "mode": "fixed" } } ] }, { "matcher": { "id": "byName", "options": "Vehicles WEST" }, "properties": [ { "id": "color", "value": { "fixedColor": "semi-dark-blue", "mode": "fixed" } } ] } ] }, "gridPos": { "h": 6, "w": 9, "x": 0, "y": 51 }, "id": 44, "interval": "10s", "options": { "legend": { "calcs": [ "lastNotNull" ], "displayMode": "table", "placement": "right", "showLegend": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "repeatDirection": "h", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": "from(bucket: \"server_performance\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\n |> filter(fn: (r) => r[\"_field\"] == \"vehicles_total\")\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\n |> map(fn: (r) => ({ r with _field: \"Vehicles\" }))\n |> keep(columns: [\"_time\", \"side\", \"_field\", \"_value\"])\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)", "refId": "Vehicles" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": true, "query": "from(bucket: \"server_state\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"entities_global\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"units_dead\")\r\n |> filter(fn: (r) => r[\"profileName\"] == \"${Server}\")\r\n |> map(fn: (r) => ({ r with _field: \"Dead\" }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> keep(columns: [\"_time\", \"_field\", \"_value\"])\r\n |> aggregateWindow(every: v.windowPeriod, fn: sum, createEmpty: false)", "refId": "UnitsDead" } ], "title": "Global Vehicles By Side", "transformations": [], "type": "timeseries" }, { "collapsed": true, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 57 }, "id": 54, "panels": [], "title": "Row title", "type": "row" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 12, "w": 6, "x": 0, "y": 58 }, "id": 50, "options": { "displayLabels": [ "percent", "name", "value" ], "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false, "values": [] }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"player_state\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"unit_loadout\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"primaryWeaponClass\")\r\n |> duplicate(column: \"_value\", as: \"primaryWeaponClass\")\r\n |> group(columns: [\"playerUID\", \"primaryWeaponClass\"])\r\n |> last()\r\n |> duplicate(column: \"playerUID\", as: \"countPlayers\")\r\n |> group(columns: [\"primaryWeaponClass\"])\r\n |> count(column: \"countPlayers\")\r\n |> group()\r\n // new field\r\n |> map (fn: (r) => ({ r with \"columnName\": \"Unit Count\" }))\r\n |> pivot(rowKey:[\"primaryWeaponClass\"], columnKey: [\"columnName\"], valueColumn: \"countPlayers\")\r\n |> sort(columns: [\"_value\"], desc: true)\r\n\r\n\r\n", "refId": "A" } ], "title": "Primary Weapons Equipped", "type": "piechart" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 12, "w": 6, "x": 6, "y": 58 }, "id": 51, "options": { "displayLabels": [ "percent", "name", "value" ], "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false, "values": [] }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"player_state\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"unit_loadout\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"currentWeaponClass\")\r\n |> duplicate(column: \"_value\", as: \"currentWeaponClass\")\r\n |> group(columns: [\"playerUID\", \"currentWeaponClass\"])\r\n |> last()\r\n |> duplicate(column: \"playerUID\", as: \"countPlayers\")\r\n |> group(columns: [\"currentWeaponClass\"])\r\n |> count(column: \"countPlayers\")\r\n |> group()\r\n // new field\r\n |> map (fn: (r) => ({ r with \"columnName\": \"Unit Count\" }))\r\n |> pivot(rowKey:[\"currentWeaponClass\"], columnKey: [\"columnName\"], valueColumn: \"countPlayers\")\r\n |> sort(columns: [\"_value\"], desc: true)\r\n\r\n\r\n", "refId": "A" } ], "title": "Current Weapons Equipped", "type": "piechart" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 12, "w": 6, "x": 12, "y": 58 }, "id": 55, "options": { "displayLabels": [ "percent", "name", "value" ], "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false, "values": [] }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"player_state\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"unit_loadout\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"handgunWeaponClass\")\r\n |> duplicate(column: \"_value\", as: \"handgunWeaponClass\")\r\n |> group(columns: [\"playerUID\", \"handgunWeaponClass\"])\r\n |> last()\r\n |> duplicate(column: \"playerUID\", as: \"countPlayers\")\r\n |> group(columns: [\"handgunWeaponClass\"])\r\n |> count(column: \"countPlayers\")\r\n |> group()\r\n // new field\r\n |> map (fn: (r) => ({ r with \"columnName\": \"Unit Count\" }))\r\n |> pivot(rowKey:[\"handgunWeaponClass\"], columnKey: [\"columnName\"], valueColumn: \"countPlayers\")\r\n |> sort(columns: [\"_value\"], desc: true)\r\n\r\n\r\n", "refId": "A" } ], "title": "Handgun Weapons Equipped", "type": "piechart" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 70 }, "id": 2, "options": { "legend": { "displayMode": "list", "placement": "bottom", "showLegend": true }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "hide": false, "query": "from(bucket: \"recording-data\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"unitState\")\r\n |> filter(fn: (r) => r[\"side\"] == \"EAST\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"isAlive\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> yield(name: \"last\")", "refId": "A" } ], "title": "Panel Title", "transparent": true, "type": "piechart" }, { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 12, "w": 6, "x": 15, "y": 70 }, "id": 52, "options": { "displayLabels": [ "percent", "name", "value" ], "legend": { "displayMode": "list", "placement": "bottom", "showLegend": false, "values": [] }, "pieType": "pie", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": true }, "tooltip": { "mode": "single", "sort": "none" } }, "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdb", "uid": "${Datasource}" }, "query": "from(bucket: \"player_state\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"unit_loadout\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"gogglesClass\")\r\n |> duplicate(column: \"_value\", as: \"gogglesClass\")\r\n |> group(columns: [\"playerUID\", \"gogglesClass\"])\r\n |> last()\r\n |> duplicate(column: \"playerUID\", as: \"countPlayers\")\r\n |> group(columns: [\"gogglesClass\"])\r\n |> count(column: \"countPlayers\")\r\n |> group()\r\n // new field\r\n |> map (fn: (r) => ({ r with \"columnName\": \"Unit Count\" }))\r\n |> pivot(rowKey:[\"gogglesClass\"], columnKey: [\"columnName\"], valueColumn: \"countPlayers\")\r\n |> sort(columns: [\"_value\"], desc: true)\r\n\r\n\r\n", "refId": "A" } ], "title": "Current Weapons Equipped", "type": "piechart" } ], "refresh": false, "revision": 1, "schemaVersion": 38, "style": "dark", "tags": [], "templating": { "list": [ { "current": { "selected": false, "text": "IndigoFox", "value": "IndigoFox" }, "datasource": { "type": "influxdb", "uid": "sOe5m_YVk" }, "definition": "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(bucket: \"server_performance\", tag: \"connectedServer\")", "hide": 0, "includeAll": false, "multi": false, "name": "Server", "options": [], "query": "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(bucket: \"server_performance\", tag: \"connectedServer\")", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "current": { "selected": false, "text": [ "CIV", "EAST", "GUER", "WEST" ], "value": [ "CIV", "EAST", "GUER", "WEST" ] }, "datasource": { "type": "influxdb", "uid": "sOe5m_YVk" }, "definition": "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(bucket: \"server_performance\", tag: \"side\")", "hide": 0, "includeAll": false, "label": "Side", "multi": true, "name": "Side", "options": [], "query": "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(bucket: \"server_performance\", tag: \"side\")", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "current": { "selected": false, "text": "IndigoInflux", "value": "IndigoInflux" }, "hide": 0, "includeAll": false, "multi": false, "name": "Datasource", "options": [], "query": "influxdb", "queryValue": "", "refresh": 1, "regex": "", "skipUrlSync": false, "type": "datasource" } ] }, "time": { "from": "2023-04-18T23:53:01.534Z", "to": "2023-04-19T00:10:01.159Z" }, "timepicker": {}, "timezone": "", "title": "Arma 3 Server", "uid": "c8WRiufVz", "version": 65, "weekStart": "" }