Commit 05da85d
committed
obs(grafana): PR787 r1 — coderabbit critical (ID collision) + Major (missing node_id filter)
Two findings on PR #787 Lua VM Pool dashboard panels:
## coderabbit Critical (line 1749)
The new "Lua VM Pool" row used `"id": 24`, which collided
with an existing panel in the "Hot Path (legacy PR #560)" row
(line 1234) that already had `"id": 24`. Grafana requires
unique IDs across all rows and panels within a dashboard;
the collision would cause dashboard import failures or
unexpected UI behaviour on render.
Fix: changed the new row's id from `24` to `33`. The
existing dashboard ID space went up through `32` on the
last panel of the previous row, so `33` is the next free
slot and respects the existing numbering convention.
## coderabbit Major (line 1817)
The new Lua VM Pool queries hardcoded `job="elastickv"`
without the `node_id=~"$node_id"` template-variable filter
that every other row in this dashboard uses. Operators
selecting a specific node in the $node_id dropdown expect
all panels to filter — without the filter, the Lua VM Pool
row would always show metrics for every node regardless of
the selection, preventing per-node drilldown when
troubleshooting pool sizing.
Fix: added `node_id=~"$node_id"` to all seven query
expressions in the row:
- line 1817 — `elastickv_lua_pool_idle` (Idle vs cap)
- line 1825 — `elastickv_lua_pool_max_idle` (Idle vs cap)
- line 1890 — `sum by (node_id) (rate(elastickv_lua_pool_hits_total ...))`
- line 1898 — `sum by (node_id) (rate(elastickv_lua_pool_misses_total ...))`
- line 1906 — `sum by (node_id) (rate(elastickv_lua_pool_drops_total ...))`
- line 1970 — `sum by (node_id) (increase(... pool_drops ...))`
- line 2036 — saturation ratio (idle / max_idle)
The filter pattern (`job="elastickv",node_id=~"$node_id"`)
matches the existing Hot Path row's queries exactly.
Verified:
- `jq -e . monitoring/grafana/dashboards/elastickv-redis-summary.json` → valid JSON
- `grep elastickv_lua_pool ... | grep -v node_id` returns only the
description string (no remaining queries without the filter)
JSON-only change. No Go code touched; no caller audit needed.
Remaining gemini medium (line 86 collector-registration noisy
logs) is below the loop's P0/P1/high/critical/major threshold
and is deferred.1 parent f7354b4 commit 05da85d
1 file changed
Lines changed: 8 additions & 8 deletions
Lines changed: 8 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1746 | 1746 | | |
1747 | 1747 | | |
1748 | 1748 | | |
1749 | | - | |
| 1749 | + | |
1750 | 1750 | | |
1751 | 1751 | | |
1752 | 1752 | | |
| |||
1814 | 1814 | | |
1815 | 1815 | | |
1816 | 1816 | | |
1817 | | - | |
| 1817 | + | |
1818 | 1818 | | |
1819 | 1819 | | |
1820 | 1820 | | |
1821 | 1821 | | |
1822 | 1822 | | |
1823 | 1823 | | |
1824 | 1824 | | |
1825 | | - | |
| 1825 | + | |
1826 | 1826 | | |
1827 | 1827 | | |
1828 | 1828 | | |
| |||
1887 | 1887 | | |
1888 | 1888 | | |
1889 | 1889 | | |
1890 | | - | |
| 1890 | + | |
1891 | 1891 | | |
1892 | 1892 | | |
1893 | 1893 | | |
1894 | 1894 | | |
1895 | 1895 | | |
1896 | 1896 | | |
1897 | 1897 | | |
1898 | | - | |
| 1898 | + | |
1899 | 1899 | | |
1900 | 1900 | | |
1901 | 1901 | | |
1902 | 1902 | | |
1903 | 1903 | | |
1904 | 1904 | | |
1905 | 1905 | | |
1906 | | - | |
| 1906 | + | |
1907 | 1907 | | |
1908 | 1908 | | |
1909 | 1909 | | |
| |||
1967 | 1967 | | |
1968 | 1968 | | |
1969 | 1969 | | |
1970 | | - | |
| 1970 | + | |
1971 | 1971 | | |
1972 | 1972 | | |
1973 | 1973 | | |
| |||
2033 | 2033 | | |
2034 | 2034 | | |
2035 | 2035 | | |
2036 | | - | |
| 2036 | + | |
2037 | 2037 | | |
2038 | 2038 | | |
2039 | 2039 | | |
| |||
0 commit comments