Docs, ticks, working app
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 025 — Seed a default dashboard with 2 default panels
|
||||
|
||||
## Summary
|
||||
|
||||
`ProfileStore::ensure_default` creates the `Default` profile with no dashboards.
|
||||
The wishlist wants every fresh Default profile to come with a starter dashboard:
|
||||
a line chart of "error" vs. non-"error" log volume, and a pie chart of the same
|
||||
ratio.
|
||||
|
||||
## Scope
|
||||
|
||||
- On `ensure_default` creating a brand-new `Default` profile (not on every
|
||||
startup — only when the profile itself is newly created), seed one
|
||||
`Dashboard` with two panels:
|
||||
- Line chart: log message count over time, split into "contains `error`" vs.
|
||||
"does not contain `error`" series.
|
||||
- Pie chart: same split, as a ratio/total-count breakdown.
|
||||
- Express both panels as PromQL-style queries against a counter
|
||||
([022](022-metrics-counters-rethink.md)) — this likely requires an implicit
|
||||
built-in "log matched regex X" counter concept (e.g. auto-declaring a metric
|
||||
for `regex("error")` vs. its complement), or a raw-text regex count primitive
|
||||
in the PromQL surface if one doesn't already exist. Decide and document which.
|
||||
- Seeded dashboard/panels must persist through the normal profile save path (same
|
||||
as any user-created dashboard) so it's editable/deletable like any other.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- A fresh install (no existing settings/profile store) starts up with a `Default`
|
||||
profile that already has one dashboard containing the line and pie panels
|
||||
described above, without any user action.
|
||||
- Restarting with an already-existing `Default` profile does not re-seed or
|
||||
duplicate the dashboard.
|
||||
- The seeded panels render real data against a log stream containing a mix of
|
||||
"error" and non-"error" lines.
|
||||
|
||||
## Depends on
|
||||
|
||||
- [022 — Metrics rethink](022-metrics-counters-rethink.md) (defines what a
|
||||
"count of matching logs" counter/query looks like).
|
||||
Reference in New Issue
Block a user