wu-sheng opened a new pull request, #13897:
URL: https://github.com/apache/skywalking/pull/13897

   ### SWIP-15 Redesign BanyanDB Self-Observability around the Cluster / Node / 
Group Model
   
   This PR adds the **SWIP-15 design proposal** (design + docs only — no 
code/config implementation in this PR).
   
   The current BanyanDB self-observability feature was built for a single-node 
BanyanDB and the legacy booster UI: it models **each node as its own 
`Service`**, never models the cluster / role / tier / group, and still 
references metrics BanyanDB removed (`etcd` operation rate, `up`-derived active 
instances, pre-refactor queue error names). Meanwhile BanyanDB became a 
clustered, role- and tier-aware database that exposes its metrics through the 
**FODC proxy**, and SkyWalking replaced booster UI with the Horizon UI.
   
   SWIP-15 proposes to rebuild the feature around the real topology:
   
   - **Service = cluster**, **Instance = node** (`pod_name`, with `node_role` 
liaison/data and `node_type` hot/warm/cold as instance attributes), **Endpoint 
= group**.
   - Scrape the **FODC proxy `/metrics`** (`:17913`) as the single target; the 
only new label is `cluster` (injected by the collector) — `node_role` / 
`pod_name` / `container_name` / `node_type` are stamped by the proxy.
   - Mirror the upstream FODC-proxy metric catalog (the Nodes board → Instance 
scope, the Workload board → Endpoint scope).
   - Make the node dashboard **adapt to the selected node's role/tier**, first 
via the existing `visibleWhen:"<metric> has value"` gating and then via a 
proposed Horizon UI `#entity.<key>` attribute-predicate enhancement.
   - Feasibility is verified against OAP/Horizon UI source: the model needs 
**no OAP core / MAL / receiver change** (every scope, the instance-properties 
closure, and `Layer.BANYANDB` already ship and are precedented).
   
   The entity scheme and metric catalog were **validated against a live 7-node 
demo cluster** (FODC proxy); the doc includes a "Live validation" section, and 
one upstream-doc discrepancy was corrected (schema/registry ops are the 
`banyandb_schema_server_grpc_*` scope, not `liaison_grpc_total_registry_*`).
   
   - [x] If this is non-trivial feature, paste the links/URLs to the design 
doc. — this PR **is** the design doc (`docs/en/swip/SWIP-15.md`); follows 
apache/skywalking-banyandb#1159.
   - [x] Update the documentation to include this new feature. — 
`docs/en/swip/SWIP-15.md` + `docs/en/swip/readme.md` index.
   - [ ] Tests(including UT, IT, E2E) are added to verify the new feature. — 
N/A, design proposal only; tests land with the implementation PRs.
   - [ ] If it's UI related, attach the screenshots below. — N/A, design only; 
Horizon UI work lands in apache/skywalking-horizon-ui.
   
   - [ ] If this pull request closes/resolves/fixes an existing issue, replace 
the issue number. Closes #<issue number>.
   - [ ] Update the [`CHANGES` 
log](https://github.com/apache/skywalking/blob/master/docs/en/changes/changes.md).
 — N/A for a design proposal; the CHANGES entry lands with the implementation 
PRs.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to