diff --git a/grafana/dashboard.py b/grafana/dashboard.py index 5b9ae88..b03a847 100644 --- a/grafana/dashboard.py +++ b/grafana/dashboard.py @@ -293,18 +293,19 @@ p["fieldConfig"]["defaults"]["thresholds"] = {"mode": "absolute", "steps": LIMIT y += 8 # 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. -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)")], 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)"), - prom('sum by (user) (increase(ipx_signals_hits_total{job="ipx"}[$__rate_interval]))', ref="B", legend="{{user}}: fit a Signal")], +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", user!=""}[$__rate_interval]))', ref="B", legend="{{user}}: fit a Signal")], 8, w=8, bars=True) def ptab(expr, ref): return {"refId": ref, "datasource": PROM, "expr": expr, "instant": True, "format": "table"} 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="output"}[$__range]))', "B"), - ptab('sum by (user, key) (increase(ipx_signals_judged_total{job="ipx"}[$__range]))', "C")], + [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", user!=""}[$__range]))', "B"), + 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. " "Icon picks are on the server's key, key checks on the person's own.", transformations=[{"id": "merge", "options": {}},