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

   ## Why
   
   Operators routinely need to put several services / instances / endpoints 
next to each other — "is this instance slower than its siblings?", "do these 
two services share the spike?". Today you can only look at one entity at a time 
per layer dashboard.
   
   ## What
   
   A **preview** feature (flag-gated, off by default — 
`VITE_FF_ENTITY_COMPARE=1` or `localStorage['horizon:ff:entity-compare']='1'` 
then reload; with nothing locked every page renders byte-for-byte as before):
   
   - **Lock several entities — across different services — and compare them 
inline** on the service / instance / endpoint dashboards. Instance and endpoint 
pins are cross-service.
   - **The entity you're viewing is always the `CURRENT` member** (accent hue, 
drives the header KPIs); pins add to it (up to six, stable hues). 
Comparison-bar chips are **display-only** — they never refocus the banner (no 
disruptive reload); `×` unpins.
   - **Each widget compares inline in its own tile** — line = N overlaid hued 
series; card = N rows; top-N / record = per-entity tabs + a merged "All"; table 
= an **Entity** column with an `(others)` fold. Labeled series lead with the 
label so it survives truncation; a widget shows whenever *any* compared entity 
has it (e.g. JVM widgets when a Java service is pinned next to a non-JVM one).
   - **Per-entity fan-out** (one dashboard request per entity, bounded 
concurrency), progressive loading, per-entity error isolation.
   
   Folded in alongside (see commit body):
   - Chart axes/tooltips use **SI suffixes** (`45.1k`, `1.34M`) instead of 
scientific notation; the multi-series tooltip is a fixed, aligned table.
   - **Fix Go runtime Mspan/Mcache widgets to report KB** (were raw bytes 
mislabeled as MB, ~1000× too large).
   - Type the infra-3d OrbitControls / camera refs (drop 3 `any`).
   - Pre-existing in-flight DSL rule-editor + banyandb template tweaks ride 
along.
   
   ## Validation
   
   - `pnpm -r run type-check` (vue-tsc/tsc strict) ✓ · `build` UI + BFF ✓ · 
`pnpm -r run lint` 0 ✓ · `pnpm -r run test:unit` 225 passing ✓ · 
`license:check` 0 invalid ✓.
   - **i18n**: new UI strings authored in `en.json` and translated across all 8 
locales; missing-key sweep reports every catalog complete.
   - **Live OAP** (demo.skywalking.apache.org): cross-service per-entity 
fan-out validated at the wire (distinct, isolated per-(service,instance) data, 
cross-checked against direct MQE); the Mspan/Mcache KB fix validated against 
the metric (raw bytes → KB) and pushed to the demo template store. Interactive 
browser pass on the compare grid, cohort bar, tooltips, and `visibleWhen` union.


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