From ea9d5b3ce000521f3f41db7b9a44c3ef43f8f55f Mon Sep 17 00:00:00 2001 From: Boemeltrein <130394941+Boemeltrein@users.noreply.github.com> Date: Thu, 13 Mar 2025 19:48:28 +0100 Subject: [PATCH] fix(blocky)-dashboard (#33212) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description** Added the latest dashboard for Blocky. So all graphs are working now. Removed `Enable Ad disable blocking` as that was never working and it was responsible for the parsing issues. ⚒️ Fixes # **⚙️ Type of change** - [ ] ⚙️ Feature/App addition - [x] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code - [ ] 📜 Documentation Changes **🧪 How Has This Been Tested?** - made own helm chart - added the same configmap values in `values.yaml` as in the Truecharts .Values - made a configmap Template based upon the configmap template of Truecharts, - changed the new `dashboard.json` so the parsing error is fixed and added/changed the part Prometheus is selected - Tested in own cluster, config map deploys and dashboard is in Grafana **📃 Notes:** **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [ ] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made changes to the documentation - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [x] ⬆️ I increased versions for any altered app according to semantic versioning - [x] I made sure the title starts with `feat(chart-name):`, `fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or `fix(docs):` **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --- charts/premium/blocky/Chart.yaml | 2 +- charts/premium/blocky/dashboard.json | 1068 ++++++++++++++------------ 2 files changed, 597 insertions(+), 473 deletions(-) diff --git a/charts/premium/blocky/Chart.yaml b/charts/premium/blocky/Chart.yaml index 3415117250b..339d7ddfe1a 100644 --- a/charts/premium/blocky/Chart.yaml +++ b/charts/premium/blocky/Chart.yaml @@ -43,4 +43,4 @@ sources: - https://hub.docker.com/r/spx01/blocky - https://quay.io/oriedge/k8s_gateway type: application -version: 16.13.11 +version: 16.13.12 diff --git a/charts/premium/blocky/dashboard.json b/charts/premium/blocky/dashboard.json index d84affcaf5b..53808886af8 100644 --- a/charts/premium/blocky/dashboard.json +++ b/charts/premium/blocky/dashboard.json @@ -16,13 +16,13 @@ "description": "" } ], - "__elements": [], + "__elements": {}, "__requires": [ { "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "8.3.3" + "version": "11.3.1" }, { "type": "panel", @@ -65,7 +65,10 @@ "list": [ { "builtIn": 1, - "datasource": "-- Grafana --", + "datasource": { + "type": "datasource", + "uid": "grafana" + }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -84,7 +87,6 @@ "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": null, - "iteration": 1641070862290, "links": [ { "icon": "external link", @@ -95,9 +97,12 @@ "url": "https://github.com/0xERR0R/blocky" } ], - "liveNow": false, "panels": [ { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "description": "current service state", "fieldConfig": { "defaults": { @@ -136,13 +141,13 @@ "overrides": [] }, "id": 26, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -150,9 +155,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -173,6 +180,10 @@ "type": "stat" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "description": "Is blocking enabled?", "fieldConfig": { "defaults": { @@ -217,13 +228,13 @@ "y": 0 }, "id": 43, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -231,9 +242,11 @@ "fields": "", "values": false }, - "textMode": "value" + "showPercentChange": false, + "textMode": "value", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -255,26 +268,9 @@ }, { "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "description": "Enable Ad disable blocking", - "gridPos": { - "h": 5, - "w": 12, - "x": 12, - "y": 0 - }, - "id": 42, - "options": { - "content": "\n
\n ×Done!\n
\n
\n \n \n \n
\n\n\n", - "mode": "html" - }, - "pluginVersion": "8.3.3", - "title": "Blocking status", - "transparent": true, - "type": "text" - }, - { "description": "Blocky [version](https://github.com/0xERR0R/blocky) number", "fieldConfig": { "defaults": { @@ -307,6 +303,7 @@ "graphMode": "area", "justifyMode": "center", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -314,10 +311,11 @@ "fields": "/^version$/", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", - "repeatDirection": "v", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -325,7 +323,7 @@ "uid": "${DS_PROMETHEUS}" }, "exemplar": false, - "expr": "blocky_build_info ", + "expr": "blocky_build_info", "format": "table", "instant": true, "interval": "", @@ -349,6 +347,7 @@ }, { "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Average query response time for all query types", @@ -378,7 +377,7 @@ } ] }, - "unit": "ms" + "unit": "s" }, "overrides": [] }, @@ -389,13 +388,13 @@ "y": 3 }, "id": 24, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -403,17 +402,20 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": true, - "expr": "sum(increase(blocky_request_duration_ms_sum[$__range])) / sum(increase(blocky_request_duration_ms_count[$__range]))", + "expr": "(sum(rate(blocky_request_duration_seconds_sum[$__rate_interval])) / sum(rate(blocky_request_duration_seconds_count[$__rate_interval])))\nor\n(sum(rate(blocky_request_duration_ms_sum[$__rate_interval])) / sum(rate(blocky_request_duration_ms_count[$__rate_interval])) / 1000)", "format": "table", "instant": false, "interval": "", @@ -427,6 +429,7 @@ }, { "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of denylist entries", @@ -463,13 +466,13 @@ "y": 5 }, "id": 30, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -477,17 +480,20 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": true, - "expr": "sum(blocky_denylist_cache) / sum(up{job=~\"$job\"})", + "expr": "(sum(blocky_denylist_cache_entries) or sum(blocky_denylist_cache)) / sum(up{job=~\"$job\"})", "format": "table", "instant": false, "interval": "", @@ -501,11 +507,80 @@ }, { "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "description": "Time since last list refresh", + "fieldConfig": { + "defaults": { + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 18, + "y": 5 + }, + "id": 57, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(time() -blocky_last_list_group_refresh_timestamp_seconds)/ sum(up{job=~\"$job\"})", + "format": "table", + "instant": true, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "title": "Last list refresh", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "Number of all queries. Shows the last value", "fieldConfig": { "defaults": { - "decimals": 2, "mappings": [ { "options": { @@ -526,24 +601,24 @@ } ] }, - "unit": "bytes" + "unit": "none" }, "overrides": [] }, "gridPos": { "h": 3, "w": 6, - "x": 6, - "y": 12 + "x": 0, + "y": 6 }, - "id": 28, - "links": [], + "id": 4, "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -551,9 +626,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -561,7 +638,7 @@ "uid": "${DS_PROMETHEUS}" }, "exemplar": true, - "expr": "sum(go_memstats_sys_bytes{job=~\"$job\"})/sum(up{job=~\"$job\"})", + "expr": "ceil(sum(increase(blocky_query_total[$__range]))) ", "format": "table", "instant": false, "interval": "", @@ -569,12 +646,13 @@ "refId": "A" } ], - "title": "Memory allocated", + "title": "Query Count Total", "transparent": true, "type": "stat" }, { "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Percentage of blocked queries", @@ -618,13 +696,13 @@ "y": 6 }, "id": 34, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -632,9 +710,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -656,81 +736,7 @@ }, { "datasource": { - "uid": "${DS_PROMETHEUS}" - }, - "description": "Number of all queries. Shows the last value", - "fieldConfig": { - "defaults": { - "mappings": [ - { - "options": { - "match": "null", - "result": { - "text": "N/A" - } - }, - "type": "special" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 0, - "y": 6 - }, - "hideTimeOverride": true, - "id": 4, - "links": [], - "maxDataPoints": 100, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "ceil(sum(increase(blocky_query_total[$__range]))) ", - "format": "table", - "instant": false, - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Query Count Total", - "transparent": true, - "type": "stat" - }, - { - "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of entries in the cache. Shows the last value", @@ -761,6 +767,7 @@ "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "last" @@ -768,17 +775,20 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": true, - "expr": "sum(blocky_cache_entry_count)/ sum(up{job=~\"$job\"})", + "expr": "(sum(blocky_cache_entries) or sum(blocky_cache_entry_count)) / sum(up{job=~\"$job\"})", "format": "table", "instant": false, "interval": "", @@ -792,6 +802,7 @@ }, { "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Cache Hit/Miss ratio. 100 % means, all queries could be answered from the cache, 0% - all queries must be resolved via external DNS", @@ -828,6 +839,7 @@ "graphMode": "area", "justifyMode": "auto", "orientation": "auto", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "mean" @@ -835,17 +847,20 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": true, - "expr": "sum(increase(blocky_cache_hit_count[$__range])) / (sum(increase(blocky_cache_hit_count[$__range])) + sum(increase(blocky_cache_miss_count[$__range])))", + "expr": "sum(increase(blocky_cache_hits_total[$__range])) / (sum(increase(blocky_cache_hits_total[$__range])) + sum(increase(blocky_cache_misses_total[$__range])))", "format": "table", "instant": false, "interval": "", @@ -859,6 +874,280 @@ }, { "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "Amount of performed DNS queries to prefetch cached queries", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 0, + "y": 9 + }, + "id": 53, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "ceil(sum(increase(blocky_prefetches_total[$__range])) or sum(increase(blocky_prefetch_count[$__range])))", + "format": "table", + "interval": "", + "legendFormat": "", + "range": true, + "refId": "A" + } + ], + "title": "Prefetch count", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "Amount of unique domains in the prefetched cache", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 6, + "y": 9 + }, + "id": 49, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "sum(blocky_prefetch_domain_name_cache_entries)/ sum(up{job=~\"$job\"})", + "format": "table", + "interval": "", + "legendFormat": "", + "range": true, + "refId": "A" + } + ], + "title": "Prefetch domain count", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "Amount of prefetch queries per minute", + "fieldConfig": { + "defaults": { + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 12, + "y": 11 + }, + "id": 51, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "editorMode": "code", + "exemplar": true, + "expr": "(sum(rate(blocky_prefetches_total[$__range])) or sum(rate(blocky_prefetch_count[$__range]))) * 60", + "format": "table", + "interval": "", + "legendFormat": "", + "range": true, + "refId": "A" + } + ], + "title": "Prefetch rate per min", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "description": "How many of cached entries were prefetched automatically", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "max": 1, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 18, + "y": 11 + }, + "id": 58, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.3.1", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "exemplar": true, + "expr": "sum(increase(blocky_prefetch_hits_total[$__range])) / (sum(increase(blocky_cache_hits_total[$__range])))", + "format": "table", + "instant": false, + "interval": "", + "legendFormat": "", + "refId": "A" + } + ], + "title": "Prefetch Hit ratio", + "transparent": true, + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, "description": "Number of occured errors", @@ -903,13 +1192,13 @@ "y": 12 }, "id": 36, - "links": [], "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -917,9 +1206,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -941,141 +1232,23 @@ }, { "datasource": { + "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, - "description": "Amount of performed DNS queries to prefetch cached queries", "fieldConfig": { "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 0, - "y": 9 - }, - "id": 53, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "ceil(sum(increase(blocky_prefetch_count[$__range])))", - "format": "table", - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Prefetch count", - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "uid": "${DS_PROMETHEUS}" - }, - "description": "Amount of prefetch queries per minute", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null + "decimals": 2, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 12, - "y": 11 - }, - "id": 51, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" + "type": "special" + } ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "sum(rate(blocky_prefetch_count[5m])) * 60", - "format": "table", - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Prefetch rate per min", - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "uid": "${DS_PROMETHEUS}" - }, - "description": "How many of cached entries were prefetched automatically", - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "max": 1, - "min": 0, "thresholds": { "mode": "absolute", "steps": [ @@ -1085,128 +1258,7 @@ } ] }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 18, - "y": 11 - }, - "id": 58, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": true, - "expr": "sum(increase(blocky_prefetch_hit_count[$__range])) / (sum(increase(blocky_cache_hit_count[$__range])))", - "format": "table", - "instant": false, - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Prefetch Hit ratio", - "transparent": true, - "type": "stat" - }, - { - "description": "Time since last list refresh", - "fieldConfig": { - "defaults": { - "decimals": 0, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 18, - "y": 5 - }, - "id": 57, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "textMode": "auto" - }, - "pluginVersion": "8.3.3", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "exemplar": false, - "expr": "sum(time() -blocky_last_list_group_refresh)/ sum(up{job=~\"$job\"})", - "format": "table", - "instant": true, - "interval": "", - "legendFormat": "", - "refId": "A" - } - ], - "title": "Last list refresh", - "transparent": true, - "type": "stat" - }, - { - "datasource": { - "uid": "${DS_PROMETHEUS}" - }, - "description": "Amount of unique domains in the prefetched cache", - "fieldConfig": { - "defaults": { - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } + "unit": "bytes" }, "overrides": [] }, @@ -1214,14 +1266,16 @@ "h": 3, "w": 6, "x": 6, - "y": 9 + "y": 12 }, - "id": 49, + "id": 28, + "maxDataPoints": 100, "options": { "colorMode": "value", "graphMode": "area", "justifyMode": "auto", - "orientation": "auto", + "orientation": "horizontal", + "percentChangeColorMode": "standard", "reduceOptions": { "calcs": [ "lastNotNull" @@ -1229,9 +1283,11 @@ "fields": "", "values": false }, - "textMode": "auto" + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1239,27 +1295,36 @@ "uid": "${DS_PROMETHEUS}" }, "exemplar": true, - "expr": "sum(blocky_prefetch_domain_name_cache_count)/ sum(up{job=~\"$job\"})", + "expr": "sum(go_memstats_sys_bytes{job=~\"$job\"})/sum(up{job=~\"$job\"})", "format": "table", + "instant": false, "interval": "", "legendFormat": "", "refId": "A" } ], - "title": "Prefetch domain count", + "title": "Memory allocated", "transparent": true, "type": "stat" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "avg requests / min", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", @@ -1268,6 +1333,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1313,14 +1379,16 @@ "options": { "legend": { "calcs": [], - "displayMode": "hidden", - "placement": "bottom" + "displayMode": "list", + "placement": "bottom", + "showLegend": false }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1341,15 +1409,23 @@ "type": "timeseries" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", "axisLabel": "avg requests / min", "axisPlacement": "auto", "barAlignment": 0, + "barWidthFactor": 0.6, "drawStyle": "bars", "fillOpacity": 100, "gradientMode": "none", @@ -1358,6 +1434,7 @@ "tooltip": false, "viz": false }, + "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, @@ -1404,13 +1481,15 @@ "legend": { "calcs": [], "displayMode": "list", - "placement": "bottom" + "placement": "bottom", + "showLegend": true }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "8.3.3", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1431,29 +1510,71 @@ "type": "timeseries" }, { - "cards": {}, - "color": { - "cardColor": "#FADE2A", - "colorScale": "sqrt", - "colorScheme": "interpolateYlOrBr", - "exponent": 0.5, - "mode": "opacity" + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "custom": { + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "scaleDistribution": { + "type": "linear" + } + } + }, + "overrides": [] }, - "dataFormat": "tsbuckets", "gridPos": { "h": 9, "w": 24, "x": 0, "y": 29 }, - "heatmap": {}, - "hideZeroBuckets": false, - "highlightCards": true, "id": 22, - "legend": { - "show": true + "options": { + "calculate": false, + "calculation": {}, + "cellGap": 2, + "cellValues": {}, + "color": { + "exponent": 0.5, + "fill": "#FADE2A", + "mode": "opacity", + "reverse": false, + "scale": "exponential", + "scheme": "Oranges", + "steps": 128 + }, + "exemplars": { + "color": "rgba(255,0,255,0.7)" + }, + "filterValues": { + "le": 1e-9 + }, + "legend": { + "show": true + }, + "rowsFrame": { + "layout": "auto" + }, + "showValue": "never", + "tooltip": { + "mode": "single", + "showColorScale": false, + "yHistogram": false + }, + "yAxis": { + "axisPlacement": "left", + "reverse": false, + "unit": "s" + } }, - "reverseYBuckets": false, + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1461,7 +1582,7 @@ "uid": "${DS_PROMETHEUS}" }, "exemplar": true, - "expr": "sum(increase(blocky_request_duration_ms_bucket{response_type=\"RESOLVED\"}[$__range])) by (le)", + "expr": "sum(increase(blocky_request_duration_seconds_bucket{response_type=\"RESOLVED\"}[$__range])) by (le)", "format": "heatmap", "instant": false, "interval": "", @@ -1470,23 +1591,14 @@ } ], "title": "request duration (upstream)", - "tooltip": { - "show": true, - "showHistogram": false - }, "transparent": true, - "type": "heatmap", - "xAxis": { - "show": true - }, - "yAxis": { - "format": "ms", - "logBase": 1, - "show": true - }, - "yBucketBound": "auto" + "type": "heatmap" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { @@ -1512,13 +1624,13 @@ "y": 38 }, "id": 2, - "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", + "showLegend": true, "values": [ "value", "percent" @@ -1533,10 +1645,11 @@ "values": false }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "6.6.2", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1557,6 +1670,10 @@ "type": "piechart" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { @@ -1582,13 +1699,13 @@ "y": 38 }, "id": 8, - "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", + "showLegend": true, "values": [ "value", "percent" @@ -1603,10 +1720,11 @@ "values": false }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "6.6.2", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1627,6 +1745,10 @@ "type": "piechart" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { @@ -1652,13 +1774,13 @@ "y": 46 }, "id": 32, - "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", + "showLegend": true, "values": [ "value" ] @@ -1672,18 +1794,20 @@ "values": false }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, - "pluginVersion": "6.6.2", + "pluginVersion": "11.3.1", "targets": [ { "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" }, + "editorMode": "code", "exemplar": false, - "expr": "topk(1, blocky_denylist_cache) by (group)", + "expr": "topk(1, blocky_denylist_cache_entries) by (group)", "format": "time_series", "instant": true, "interval": "", @@ -1696,6 +1820,10 @@ "type": "piechart" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { @@ -1721,13 +1849,13 @@ "y": 46 }, "id": 14, - "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", + "showLegend": true, "values": [ "value", "percent" @@ -1742,9 +1870,11 @@ "values": false }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1765,6 +1895,10 @@ "type": "piechart" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { @@ -1790,14 +1924,13 @@ "y": 54 }, "id": 38, - "interval": "", - "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", + "showLegend": true, "values": [ "value", "percent" @@ -1812,9 +1945,11 @@ "values": false }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1835,6 +1970,10 @@ "type": "piechart" }, { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, "fieldConfig": { "defaults": { "color": { @@ -1860,13 +1999,13 @@ "y": 54 }, "id": 12, - "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", + "showLegend": true, "values": [ "value", "percent" @@ -1881,9 +2020,11 @@ "values": false }, "tooltip": { - "mode": "single" + "mode": "single", + "sort": "none" } }, + "pluginVersion": "11.3.1", "targets": [ { "datasource": { @@ -1904,9 +2045,8 @@ "type": "piechart" } ], - "refresh": false, - "schemaVersion": 34, - "style": "dark", + "refresh": "", + "schemaVersion": 40, "tags": [], "templating": { "list": [ @@ -1955,10 +2095,8 @@ "uid": "${DS_PROMETHEUS}" }, "definition": "label_values(blocky_blocking_enabled,job)", - "hide": 0, "includeAll": true, "label": "job", - "multi": false, "name": "job", "options": [], "query": { @@ -1968,7 +2106,6 @@ }, "refresh": 1, "regex": "", - "skipUrlSync": false, "sort": 1, "type": "query" } @@ -1978,22 +2115,9 @@ "from": "now-3h", "to": "now" }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, + "timepicker": {}, "timezone": "", - "title": "blocky", - "version": 1, + "title": "Blocky", + "version": 5, "weekStart": "" }