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
On \n
Off 5m \n
Off 30m \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": ""
}