Dashboard: per-person Signals panels leave out counts from before #278
They had no person, and drew as " ( key)". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -293,18 +293,19 @@ p["fieldConfig"]["defaults"]["thresholds"] = {"mode": "absolute", "steps": LIMIT
|
|||||||
y += 8
|
y += 8
|
||||||
# By person and whose key paid (#278): who the server's TypeSafe bill is for. An item shared on the
|
# By person and whose key paid (#278): who the server's TypeSafe bill is for. An item shared on the
|
||||||
# server's key is split by each person's share of its questions.
|
# server's key is split by each person's share of its questions.
|
||||||
ts("Input tokens by person", [prom('sum by (user, key) (increase(ipx_jev_tokens_total{job="ipx", kind="input"}[$__rate_interval]))',
|
# Counts from before #278 have no person; user!="" leaves them out rather than drawing " ( key)".
|
||||||
|
ts("Input tokens by person", [prom('sum by (user, key) (increase(ipx_jev_tokens_total{job="ipx", kind="input", user!=""}[$__rate_interval]))',
|
||||||
legend="{{user}} ({{key}} key)")],
|
legend="{{user}} ({{key}} key)")],
|
||||||
0, w=8, bars=True, stack=True, desc="server is the server's TypeSafe key, what the server pays for; own is the person's own key.")
|
0, w=8, bars=True, stack=True, desc="server is the server's TypeSafe key, what the server pays for; own is the person's own key.")
|
||||||
ts("Items judged by person", [prom('sum by (user, key) (increase(ipx_signals_judged_total{job="ipx"}[$__rate_interval]))', legend="{{user}} ({{key}} key)"),
|
ts("Items judged by person", [prom('sum by (user, key) (increase(ipx_signals_judged_total{job="ipx", user!=""}[$__rate_interval]))', legend="{{user}} ({{key}} key)"),
|
||||||
prom('sum by (user) (increase(ipx_signals_hits_total{job="ipx"}[$__rate_interval]))', ref="B", legend="{{user}}: fit a Signal")],
|
prom('sum by (user) (increase(ipx_signals_hits_total{job="ipx", user!=""}[$__rate_interval]))', ref="B", legend="{{user}}: fit a Signal")],
|
||||||
8, w=8, bars=True)
|
8, w=8, bars=True)
|
||||||
def ptab(expr, ref):
|
def ptab(expr, ref):
|
||||||
return {"refId": ref, "datasource": PROM, "expr": expr, "instant": True, "format": "table"}
|
return {"refId": ref, "datasource": PROM, "expr": expr, "instant": True, "format": "table"}
|
||||||
panel("table", "Who used what", 8, 8, 16,
|
panel("table", "Who used what", 8, 8, 16,
|
||||||
[ptab('sum by (user, key) (increase(ipx_jev_tokens_total{job="ipx", kind="input"}[$__range]))', "A"),
|
[ptab('sum by (user, key) (increase(ipx_jev_tokens_total{job="ipx", kind="input", user!=""}[$__range]))', "A"),
|
||||||
ptab('sum by (user, key) (increase(ipx_jev_tokens_total{job="ipx", kind="output"}[$__range]))', "B"),
|
ptab('sum by (user, key) (increase(ipx_jev_tokens_total{job="ipx", kind="output", user!=""}[$__range]))', "B"),
|
||||||
ptab('sum by (user, key) (increase(ipx_signals_judged_total{job="ipx"}[$__range]))', "C")],
|
ptab('sum by (user, key) (increase(ipx_signals_judged_total{job="ipx", user!=""}[$__range]))', "C")],
|
||||||
description="Over the dashboard's time range: each person's input and output tokens and items judged, and whose key paid. "
|
description="Over the dashboard's time range: each person's input and output tokens and items judged, and whose key paid. "
|
||||||
"Icon picks are on the server's key, key checks on the person's own.",
|
"Icon picks are on the server's key, key checks on the person's own.",
|
||||||
transformations=[{"id": "merge", "options": {}},
|
transformations=[{"id": "merge", "options": {}},
|
||||||
|
|||||||
Reference in New Issue
Block a user