dybyte opened a new pull request, #11215:
URL: https://github.com/apache/seatunnel/pull/11215
### Purpose of this pull request
This pull request adds SeaTunnel Engine cluster health and topology metrics
for Zeta.
SeaTunnel already exposes some low-level Hazelcast cluster and partition
metrics, such as current master info, node count, and partition safety.
However, it does not provide a SeaTunnel Engine-facing view for recent topology
changes such as member join/leave, master changes, or ongoing partition
migration.
This PR adds the following metrics:
- `seatunnel_engine_cluster_safe`
- `seatunnel_engine_cluster_member_count`
- `seatunnel_engine_cluster_partition_migration_in_progress`
- `seatunnel_engine_cluster_master_change_total`
- `seatunnel_engine_cluster_member_join_total`
- `seatunnel_engine_cluster_member_leave_total`
- `seatunnel_engine_cluster_last_master_change_timestamp_ms`
- `seatunnel_engine_cluster_last_member_join_timestamp_ms`
- `seatunnel_engine_cluster_last_member_leave_timestamp_ms`
It also updates the Zeta telemetry documentation in English and Chinese.
### Does this PR introduce _any_ user-facing change?
Yes.
This PR adds new SeaTunnel Engine telemetry metrics to the existing metrics
endpoints and updates the related documentation.
Before this change, users could inspect current cluster metadata such as
`cluster_info`, `node_count`, and Hazelcast partition safety metrics, but they
could not directly observe recent SeaTunnel Engine topology changes.
After this change, users can inspect cluster health and recent topology
signals through metrics such as:
- `seatunnel_engine_cluster_safe`
- `seatunnel_engine_cluster_partition_migration_in_progress`
- `seatunnel_engine_cluster_master_change_total`
- `seatunnel_engine_cluster_last_member_leave_timestamp_ms`
### How was this patch tested?
Added/updated tests:
- `ClusterObservabilityServiceTest`
- `TelemetryCollectorCoordinatorGuardTest`
### Check list
* [ ] If any new Jar binary package adding in your PR, please add License
Notice according
[New License
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/developer/new-license.md)
* [x] If necessary, please update the documentation to describe the new
feature. https://github.com/apache/seatunnel/tree/dev/docs
* [ ] If necessary, please update `incompatible-changes.md` to describe the
incompatibility caused by this PR.
* [ ] If you are contributing the connector code, please check that the
following files are updated:
1. Update
[plugin-mapping.properties](https://github.com/apache/seatunnel/blob/dev/plugin-mapping.properties)
and add new connector information in it
2. Update the pom file of
[seatunnel-dist](https://github.com/apache/seatunnel/blob/dev/seatunnel-dist/pom.xml)
3. Add ci label in
[label-scope-conf](https://github.com/apache/seatunnel/blob/dev/.github/workflows/labeler/label-scope-conf.yml)
4. Add e2e testcase in
[seatunnel-e2e](https://github.com/apache/seatunnel/tree/dev/seatunnel-e2e/seatunnel-connector-v2-e2e/)
5. Update connector
[plugin_config](https://github.com/apache/seatunnel/blob/dev/config/plugin_config)
--
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]