wu-sheng opened a new pull request, #13901:
URL: https://github.com/apache/skywalking/pull/13901
### SWIP-15 update: instance = container (`pod_name` + `container_name`) +
fact-check corrections
This PR revises the **SWIP-15 design doc** (design + docs only — no
code/config implementation). Two parts:
**1. Container-level instance model.** The live cluster shows `pod_name` is
**not unique per metrics emitter**: data hot/warm pods co-host a `lifecycle`
migration sidecar reporting under the same `pod_name`, and `node_role` stays
`ROLE_DATA` on that sidecar. So the instance identity becomes `pod_name` +
`container_name` (joined by `@`), with `container_name` — not `node_role` — as
the role discriminator (`liaison` / `data` / `lifecycle`), and all four
identity labels (`container_name`, `node_type`, `node_role`, `pod_name`)
attached verbatim as instance attributes. New in this revision: a
**Lifecycle-only** metrics bucket (the BanyanDB #1167 `last_run` gauges), the
`storage_retention_*` family, the corrected two-registry/schema-scope split
(`liaison_grpc_total_registry_*` vs `schema_server_grpc_*`), and a new
**section 7** designing the intra-cluster instance-topology ("deployment") view
— including its one open dependency, a MAL `SERVICE_INSTANCE_RELATION` scope,
tracked as
future work.
**2. Post-review corrections.** The doc was fact-checked claim-by-claim
against the OAP source, BanyanDB `origin/main` + PR heads, Horizon UI `main` +
feature branch, and the live demo:
- **Horizon UI moved underneath the doc**: horizon-ui #46 (merged minutes
after SWIP-15) replaced the free-text `visibleWhen` parser with structured,
BFF-evaluated gates (`{kind: mqe|entity, op: exists|eq}`). Sections
4/6/Compatibility are rewritten around the landed gate; the remaining
enhancement shrinks to **`neq` / `in` operators**. The template identity field
is `key` (not `layer`), and the doc now declares the menu dependency:
`HIDDEN_LAYERS` hard-codes `BANYANDB` out of the sidebar until horizon-ui #47's
config-driven `layers.excluded` lands (the same PR carries the deployment
component).
- **MAL, not PromQL, semantics**: the `or vector(0)` guard claim was wrong —
an absent family is the identity for MAL's `+` (no guard exists or is needed);
the real constraint is pre-aggregating every term to the same label set. A new
"sketch notation" note covers this plus `count([...])` semantics, the
no-`_bucket` histogram form, and that the lifecycle staleness `time() -
<metric>` is computed at ingest (MAL ships `time()`; MQE has no current-time
function).
- **Provenance corrected**: the demo runs upstream `main` builds;
apache/skywalking-banyandb#1159 (open, docs + Grafana dashboards) documents the
catalog rather than being "deployed".
- **Naming/consistency**: the full
`banyandb_liaison_grpc_total_stream_msg_received_err` family name spelled out,
registry labels corrected to (`group`, `service`, `method`), bare `container` →
`container_name` everywhere, a transient `ROLE_UNSPECIFIED` note, reconciled
absent-by-design family lists, and diagram/wording cleanup.
- [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 / #1167 and skywalking-horizon-ui #46 / #47.
- [x] Update the documentation to include this new feature. —
`docs/en/swip/SWIP-15.md`.
- [ ] 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;
the Horizon UI work lands separately.
- [ ] 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]