Watch
0
0
Fork
You've already forked hyperhive
0

egress board: the host tables merge their frames, so they are tables and not a series dropdown

A grouped stats query is one frame per group. Labels become columns,
then the frames merge into rows.
This commit is contained in:
iris 2026-11-01 12:49:42 +01:00 • committed by mara
commit 728e1beb6a
2 changed files with 52 additions and 0 deletions

View file

@ -797,6 +797,20 @@
}
],
"transformations": [
{
"kind": "labelsToFields",
"spec": {
"id": "labelsToFields",
"options": {}
}
},
{
"kind": "merge",
"spec": {
"id": "merge",
"options": {}
}
},
{
"kind": "organize",
"spec": {
@ -1023,6 +1037,20 @@
}
],
"transformations": [
{
"kind": "labelsToFields",
"spec": {
"id": "labelsToFields",
"options": {}
}
},
{
"kind": "merge",
"spec": {
"id": "merge",
"options": {}
}
},
{
"kind": "organize",
"spec": {
@ -1378,6 +1406,20 @@
}
],
"transformations": [
{
"kind": "labelsToFields",
"spec": {
"id": "labelsToFields",
"options": {}
}
},
{
"kind": "merge",
"spec": {
"id": "merge",
"options": {}
}
},
{
"kind": "organize",
"spec": {

View file

@ -496,6 +496,16 @@ let
&& lib.all (e: lib.hasInfix "\"TCP_\"*" e) (
lib.filter (e: lib.hasInfix access e) (exprs ++ [ agentVar.spec.query.spec.query ])
)
# A grouped stats query is one frame per group, which a table panel shows as
# a dropdown of series; labels to columns, then a merge, makes the rows.
&& lib.all (
e:
map (t: t.spec.id) e.spec.data.spec.transformations == [
"labelsToFields"
"merge"
"organize"
]
) (lib.filter (e: e.spec.vizConfig.group == "table") (lib.attrValues board.spec.elements))
&& lib.hasInfix "logformat would_deny would_deny user=%[un method=%rm host=%>rd port=%>rP result=" squid
&& lib.hasInfix "access_log syslog:daemon.info squid !manager" squid;
}