fix(dashboard): real error rate from llm_api_errors_total
- errors now = rate(llm_api_errors_total) instead of network TX bytes - rps = rate(llm_api_requests_total) + rate(http_server_request_count_total) - Latency card → Load Average (was misleading: showed node load as 'ms') - Overview 'Errors' StatBox was hardcoded 0 → real llm err/s - rename hasTraffik → hasTraffic (Traefik removed 2026-08-02)
This commit is contained in:
@@ -159,10 +159,10 @@ export async function GET() {
|
||||
load15,
|
||||
netIn,
|
||||
netOut,
|
||||
rps,
|
||||
latency,
|
||||
errors,
|
||||
traceVolume,
|
||||
netInSpark,
|
||||
loadSpark,
|
||||
netOutSpark,
|
||||
upstreamCount,
|
||||
] = await Promise.all([
|
||||
promQuery(
|
||||
`100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[1m])) * 100)`,
|
||||
@@ -184,6 +184,18 @@ export async function GET() {
|
||||
promQuery("count(up)"),
|
||||
]);
|
||||
|
||||
// ── Error rate (llm-api) & request rate (any /metrics service) ──
|
||||
const [errRate, errSpark] = await Promise.all([
|
||||
promQuery(`sum(rate(llm_api_errors_total[5m]))`),
|
||||
promRange(`sum(rate(llm_api_errors_total[1m]))`),
|
||||
]);
|
||||
const reqRate = await promQuery(
|
||||
`sum(rate(llm_api_requests_total[5m])) + sum(rate(http_server_request_count_total[5m]))`,
|
||||
);
|
||||
const reqSpark = await promRange(
|
||||
`sum(rate(llm_api_requests_total[1m])) + sum(rate(http_server_request_count_total[1m]))`,
|
||||
);
|
||||
|
||||
// ── LLM inference metrics (llm-api /metrics) ──
|
||||
const [
|
||||
llmReqRate,
|
||||
@@ -225,10 +237,10 @@ export async function GET() {
|
||||
services,
|
||||
traces: [],
|
||||
node: { cpu, ram, disk, load1, load5, load15, netIn, netOut },
|
||||
rps,
|
||||
latency,
|
||||
errors,
|
||||
traceVolume: traceVolume ? [traceVolume] : [],
|
||||
rps: reqSpark,
|
||||
latency: loadSpark,
|
||||
errors: errSpark,
|
||||
traceVolume: netInSpark,
|
||||
links,
|
||||
llm: {
|
||||
reqRate: llmReqRate,
|
||||
|
||||
Reference in New Issue
Block a user