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

   ## Why
   
   The MAL live-debugger renders one row per captured sample and one meter card 
per materialised output entity. A single stage on a high-cardinality metric 
(e.g. `banyandb_measure_total_written`) fans out to a long wall of rows with 
huge repeated label sets, and a record that materialises a metric for several 
entities repeats near-identical entity cards — making it hard to see what 
actually differs. Long fractional values from `rate()` / `avg()` also 
overflowed the value column horizontally off the page.
   
   ## What
   
   - **Input samples group by metric name** into a collapsed one-line summary — 
`<metric> · N samples · values=…` — that expands to the per-sample label table.
   - **Diff is the default on expand** for a multi-member group: labels shared 
by every member collapse into a dimmed `common (N)` block and only the 
differing labels are highlighted per member (`∅` for a field absent on that 
member). A `diff` toggle switches to the full per-member list. The 
common/varying split is computed over the whole group, not just the rendered 
rows.
   - **Multiple output entities for one metric fold into one block**: a shared 
`metric / function / timeBucket` header, an `N outputs · values=…` summary, and 
a diff that surfaces only the entity fields that differ — generically, 
whichever they are (not a fixed field) — with each output's value in its own 
column. A single output still renders the full meter + entity card.
   - **Readable values**: long fractional values are trimmed for display 
(integers stay exact; the precise value is on hover) and the value column wraps 
instead of pushing the page sideways.
   - Rendered detail is capped per group with a `+ N more rows` note; the diff 
scan runs lazily (only for an expanded group in diff mode).
   
   Pure presentation over the existing debug wire shape — no OAP query/protocol 
change.
   
   ## Validation
   
   - `type-check`, `build` (UI + BFF), `lint`, `license:check`, `test:unit` all 
green.
   - New UI strings (`{n} samples`, `{n} outputs`, `diff`, `values`, `common 
({n})`, `show only differing labels`) authored in `en.json` and translated 
across all 8 locales (completeness checked — every catalog complete).
   - Live OAP: captured `meter_banyandb_endpoint_measure_write_rate` against 
the Apache demo OAP and confirmed the record shape (`filter · input · 
function×3 · output×3`) and that the outputs differ only in `endpointName` + 
`value`; rendering verified in the running dev UI.


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