featzhang opened a new pull request, #27596:
URL: https://github.com/apache/flink/pull/27596
## What is the purpose of the change
FLINK-39079
This pull request adds a Top N metrics aggregation panel to the Flink Web UI
Job Overview page to help users quickly identify performance bottlenecks.
Currently, users need to manually navigate through multiple pages to check
metrics for each TaskManager, operator, and subtask. The new Top N metrics
panel displays Top N CPU Consumers, Top N Backpressure Operators, and Top N GC
Intensive Tasks, providing immediate visibility into the most
resource-intensive components.
## Brief change log
- Added `TopNMetricsHeaders.java` - REST API endpoint definition for
`/jobs/:jobid/metrics/top-n`
- Added `TopNMetricsParameters.java` - API parameter support for GET requests
- Added `TopNMetricsResponseBody.java` - Response body structure with three
metric arrays
- Added `TopNMetricsHandler.java` - Handler that aggregates and returns top
N metrics from all subtasks
- Registered `TopNMetricsHandler` in `WebMonitorEndpoint.java`
- Added `top-n-metrics.ts` - TypeScript interfaces for Top N metrics
- Added `TopNMetricsService.ts` - Service to fetch Top N metrics from backend
- Added `TopNMetricsComponent.ts` - Angular component displaying top N
metrics with color-coded severity
- Integrated `TopNMetricsComponent` into Job Overview page
## Verifying this change
This change was manually verified by running a standalone cluster,
submitting jobs with backpressure, and verifying the Top N panel displays
correct metrics.
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (no)
- 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: JobManager (and its
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (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)
--
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]