Skip to content

feat(layer): BanyanDB self-observability layer (SWIP-15)#49

Merged
wu-sheng merged 1 commit into
mainfrom
feat/banyandb-self-observability
Jun 12, 2026
Merged

feat(layer): BanyanDB self-observability layer (SWIP-15)#49
wu-sheng merged 1 commit into
mainfrom
feat/banyandb-self-observability

Conversation

@wu-sheng

Copy link
Copy Markdown
Member

BanyanDB self-observability layer (SWIP-15)

Adds a new BanyanDB layer under Self-Observability — Cluster / Container / Group dashboards plus a role-aware Deployment topology — and the widget + deployment-config infrastructure it needed. Pairs with OAP backend SWIP-15 (meter_banyandb_* cluster / meter_banyandb_instance_* container / meter_banyandb_endpoint_* group).

Dashboards

  • Cluster / Container / Group views. Container panels adapt to the container's role (liaison / data / lifecycle); Group panels split per data model (measure / stream / trace / property). Panels self-gate on the role attribute and on data presence.
  • Disk Used / Total per data path in one widget. Removed the redundant UI-side *100 on disk / system-memory percent (the MAL already scales), and the spurious *1000 on histogram-p99 latencies (the MAL's histogram() already emits ms).

Widget capabilities (generic)

  • Card format: "enum" — a translatable value→label map (e.g. 1 → OK, 0 → Failed), editable in the dashboards admin and the translations editor.
  • duration time-ago format; line-chart axes + tooltips use scientific notation for large magnitudes.
  • Instance-list badge configurable per layer (instances.badge).

Deployment topology

  • Role-to-role edge metrics: up to 3 client-side primaries shown inline with short aliases (e.g. W / R), flowing onto one line or stacking by edge length; the selected-edge panel keeps the full client | server breakdown; the Flows sub-tab tables every edge per role-pair.
  • Per-role health-ring legend showing each role's own ring metric and its threshold bands (config-driven, no hard-coded metric).
  • The deployment role model (clustering, per-role node metrics, role-pair edge metrics) is editable in the Layer-dashboards admin.

Validation

  • Templates (metrics, MQE, entity scopes, units) validated against a live OAP.
  • tsc × 3, ESLint, i18n catalog validation, license-eye, and unit tests (BFF 189 / UI 85) all pass.

New BanyanDB layer under Self-Observability — Cluster / Container / Group
dashboards plus a role-aware Deployment topology — and the widget +
deployment-config infrastructure it needed.

Dashboards
- Container panels adapt to the container's role (liaison / data /
  lifecycle); group panels split per data model; panels self-gate on the
  role attribute and on data presence.
- Disk Used / Total shown per data path in one widget; removed the
  redundant UI-side *100 on disk / system-memory percent (the MAL scales).

Widgets
- New card format "enum" (translatable value->label map), "duration"
  time-ago, and scientific-notation chart axes/tooltips for large values.
- Instance-list badge configurable per layer (instances.badge).

Deployment topology
- Role-to-role edge metrics: up to 3 client-side primaries inline with
  short aliases, flowing by edge length; full client | server breakdown
  in the selected-edge panel; per-role health-ring legend showing each
  role's threshold bands.
- The deployment role model (clustering, per-role metrics, role-pair edge
  metrics) is editable in the Layer-dashboards admin.

Templates validated against a live OAP.
@wu-sheng wu-sheng added the enhancement New feature or request label Jun 12, 2026
@wu-sheng wu-sheng added this to the 0.7.0 milestone Jun 12, 2026
@wu-sheng wu-sheng merged commit b94cdf3 into main Jun 12, 2026
7 checks passed
@wu-sheng wu-sheng deleted the feat/banyandb-self-observability branch June 12, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants