[Feature] Add SubscriptionHandler admin endpoint
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 658
- Avg merge
- 11h 29m
- Merged PRs (30d)
- 52
Description
### Search before asking
- [X] I had searched in the [issues](https://github.com/apache/eventmesh/issues?q=is%3Aissue) and found no similar issues.
### Feature Request
Add `SubscriptionHandler` class at `org.apache.eventmesh.runtime.admin.handler.v2` package.
Provide client information for the current Runtime instance to EventMesh Dashboard. including:
- Information such as ip address, consumerGroup, etc. of the clients (specifically business applications using the SDK) and connectors on the source and sink side.
- Information about the topic that the Runtime is responsible for, etc.
You can refer to the infos reported to the registry at `org.apache.eventmesh.meta.nacos.service.NacosMetaService#updateMetaData`.
You may need to extend `org.apache.eventmesh.runtime.core.protocol.producer.ProducerManager` and record infos of source side.
Related issue (outdated): https://github.com/apache/eventmesh/issues/4400
### Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) *
Contributor guide
Research direction
Start by reading org.apache.eventmesh.runtime.admin.handler.v2 and the existing NacosMetaService#updateMetaData flow, then inspect ProducerManager for how source-side information is tracked. Done means a SubscriptionHandler admin endpoint provides the Runtime's client, connector, topic, consumerGroup, and related information to the EventMesh Dashboard.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100