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

   ## What
   
   A new per-layer **Deployment** tab: the deployment topology of one service's 
instances — the instance-to-instance call graph **within** a single service, 
via OAP's `getServiceInstanceTopology(svc, svc)` (same id on both sides 
collapses the relation filter to intra-service instance relations). Where the 
existing Instance map drills into the instances *between two* services, this 
shows how one service's own instances are deployed and talk to each other (e.g. 
a clustered store's nodes calling each other).
   
   ### The tab
   
   - Instances render as **health-ring hexagons** with a center metric; 
pan/zoom, animated edge flow, self-loops and bidirectional pairs drawn 
distinctly; per-call client/server metric sidebar; node popover with the 
instance's **attributes** and an **Open instance dashboard** deep link.
   - Three independent, operator-editable rules shape the graph:
     - **`clusterBy`** — labelled dashed boxes by one attribute, several 
attributes (composite key; absent attributes drop out), or a name regex.
     - **`siblingBy`** — bundle containers into **pods**: the main container as 
a full hex, siblings attached as half-size hexes; edges resolve to the exact 
container.
     - **`roleBy` + `roles`** — per-container-type metrics and main-hex 
selection.
   - Cluster boxes pack **left→right along the inter-cluster call flow**; pods 
tier by call depth inside each box, wrap into staggered columns (max 4 per 
column), and stay draggable.
   - **Opt-in per layer**: `components.deployment` + a top-level `deployment` 
template block. No bundled layer ships it enabled; the route answers 404 
without the config.
   
   ### Admin & preview
   
   - The Layer-dashboards admin gains a **Deployment scope**: node / 
server-edge / client-edge metric editors (instance scope) plus a four-mode 
clusterBy picker. Draft **Preview** renders the real page before publishing.
   - The whole admin page is now **layer-list-oriented**: every layer the OAP 
reports is listed and editable — un-templated layers open on a blank default 
and publish on first save; a **Not configured** filter and banner counts make 
the gaps visible.
   
   ### 3D infra map
   
   Layers carrying the cap gain a side-panel toggle that swaps the layer's zone 
from service cubes to **instance cubes** wired by their intra-service 
relations; selecting an instance cube opens the instance dashboard. The 3D path 
fetches a new **structure-only** mode (`structure=1`) that skips all 
metric/attribute fan-out.
   
   ### Also in this branch
   
   - **Every OAP-reported layer appears in the sidebar.** The hard-coded 
hidden-layer list is gone, replaced by a config-driven `layers.excluded` block 
in `horizon.yaml` (defaults: `FAAS`, `VIRTUAL_GATEWAY`; clear it to surface 
everything). Documented in the config reference.
   - The legacy per-layer `overview` template block (parsed but no longer 
rendered anywhere) is **removed** from every bundled template, its i18n 
catalogs, and the docs.
   - **Clearer cluster/namespace boundaries** on all topology views (service 
map, instance map, Deployment): theme-proof dashed `--sw-fg-3` stroke, 
transparent fill; the Deployment layout packs boxes evenly with no dead 
corridors.
   - Deployment UI strings localized in **all eight languages**.
   
   ## Wire & scope notes
   
   - Pure consumer of the existing query protocol: 
`getServiceInstanceTopology`, `listInstances` (attributes), `execExpression` 
under `ServiceInstance` / instance-relation scopes. No protocol changes.
   - RBAC: the new route maps to `topology:read`.
   - Validated against the Apache demo OAP end-to-end (route gating, preview 
flow, empty states, admin scope, 3D toggle, all themes); full type-check, 160 
BFF + 85 UI tests, license headers green.
   
   ## Docs
   
   `docs/customization/layer-templates.md` (Deployment block reference, 
admin-editor update, overview removal) and `docs/setup/horizon-yaml.md` 
(`layers.excluded`). CHANGELOG updated under 0.7.0.
   


-- 
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