DevOps Main Dashboard
Performance metrics, traces, and observability signals
setRange(e.target.value)} className="w-40">
{RANGE_OPTIONS.map((o) => (
))}
{error && (
{error}
)}
{loading && !summary && (
)}
{summary && (
<>
{statCards.map((card) => (
))}
formatNumber(Number(v))}
/>
`${(Number(v) * 100).toFixed(1)}%`}
yTickFormatter={(v) => `${(Number(v) * 100).toFixed(0)}%`}
/>
`${Number(v).toFixed(0)} ms`}
yTickFormatter={(v) => `${Number(v).toFixed(0)} ms`}
/>
Recent Traces
{traceRows.length === 0 ? (
No traces in the selected range.
) : (
<>
Trace
Root Span
Started
Duration
Spans
Errors
Outcome
{traceRows.map((row: any) => (
setTraceExpanded(traceExpanded === row.trace_id ? null : row.trace_id)}
>
{traceExpanded === row.trace_id ? (
) : (
)}
{row.trace_id?.slice(0, 8)}…
{row.root_span_name || '—'}
{formatDateTime(row.started_at)}
{(row.duration_ms || 0).toFixed(0)} ms
{formatNumber(row.span_count || 0)}
{formatNumber(row.error_count || 0)}
0
? 'bg-red-100 text-red-700'
: 'bg-green-100 text-green-700'
)}
>
{row.outcome === 'failure' || (row.error_count || 0) > 0 ? 'Error' : 'OK'}
{traceExpanded === row.trace_id && (
)}
))}
>
)}
Business Outcomes
{outcomeRows.length === 0 ? (
No business outcomes recorded.
) : (
<>
Intent
Outcome
Count
{outcomeRows.map((row: any, idx: number) => (
setOutcomeExpanded(outcomeExpanded === `${row.intent}-${row.outcome}-${idx}` ? null : `${row.intent}-${row.outcome}-${idx}`)}
>
{outcomeExpanded === `${row.intent}-${row.outcome}-${idx}` ? (
) : (
)}
{row.intent}
{row.outcome}
{formatNumber(row.count || 0)}
{outcomeExpanded === `${row.intent}-${row.outcome}-${idx}` && (
{JSON.stringify(row, null, 2)}
)}
))}
>
)}
Observation Tools
{topSources.length > 0 && (
)}
>
)}
)
}
// CIL[END chunk_id="devops_dashboard_dashboard_1785000012"]