spuru9 opened a new pull request, #28602:
URL: https://github.com/apache/flink/pull/28602
## What is the purpose of the change
Third and final visualization-library migration under FLINK-40033.
`@antv/g2` 5 is a complete rewrite with a declarative, encode-based API, so the
two components that use it are rewritten against v5:
- **job-chart** — the real-time metrics line chart.
- **job-timeline** — the Gantt-style job / subtask timeline (transposed
interval charts).
## Brief change log
- `package.json` / lockfile: `@antv/g2` `^4.1.34` → `^5.4.8`.
- **job-chart.component.ts**: build the line with
`encode('x'/'y'/'color'/'shape')` + `scale`/`axis`/`style` instead of the v4
`position/color/shape/size` chain; `changeData`/`forceFit` retained for live
updates and resize.
- **job-timeline.component.ts**:
- `coordinate({ transform: [{ type: 'transpose' }] })` for the horizontal
bars.
- `encode('x'/'y'/'color')`; status colours mapped via a color `scale`
built from `ConfigService.COLOR_MAP` (`domain`/`range`).
- the v5 `interval:click` event (`e.data.data`) replaces the removed
`getSnapRecords`/`_origin` drill-down.
- `changeSize` width read from the container element (`chart.width` is
gone in v5).
- **angular.json**: allowlist g2 v5's CommonJS transitives (`@antv/coord`,
`color-string`, `html2canvas`, `pdfast`, `svg-path-parser`) so the build has no
optimization-bailout warnings.
- **NOTICE**: refreshed for the new g2 v5 dependency tree (old `@antv/*` v4
packages removed, v5 packages + their new transitives added).
## Verifying this change
⚠️ **This needs manual visual verification against a running dashboard** — a
green build/lint confirms the v5 API usage type-checks, but not that the charts
render correctly. Reviewer/QA checklist:
- **Metrics line chart** (Job → a running vertex → a metric): line renders
with a time x-axis (`HH:mm:ss`), updates live as new samples arrive, and
resizes with the panel.
- **Job timeline** (Job → Timeline): horizontal Gantt bars in the expected
top-to-bottom order, bars coloured by status per `COLOR_MAP`, vertex-name
labels, time axis (`HH:mm:ss.SSS`); clicking a vertex bar drills into the
subtask timeline.
A couple of v5 details are runtime-sensitive and worth a close look during
QA: the transposed-coordinate bar orientation (v5 may need an added reflect vs
v4's `scale(1,-1)`), the interval `y`-range (`[start,end]`) rendering, and the
label offset direction. Happy to adjust once verified on a live cluster.
Build (`npm run build`) and lint (`npm run lint`) pass with no warnings.
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): yes (web-dashboard:
@antv/g2 4 → 5)
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: no
- The serializers: no
- The runtime per-record code paths (performance sensitive): no
- Anything that affects deployment or recovery: no
- The S3 file system connector: no
## Documentation
- Does this pull request introduce a new feature? no
- If yes, how is the feature documented? not applicable
## AI Usage Disclosure
- [x] Claude Code
--
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]