Original PIP : https://github.com/apache/pulsar/issues/13628
Pasted bellow for quoting convenience. —— ## Motivation In some case or for better observability. We can support Pulsar event notification mechanism, that can let user subscribe this system topic to receive some **"we need notice to user"** event. ## Goal Enable users to receive Pulsar system event. ## API Changes 1. Add config ``pulsarSystemEventEnabled`` ```java pulsarSystemEventEnabled=false ``` 2. Add ``SystemEventMessageBuilder`` ```java public interface SystemEventMessageBuilder { SystemEventMessageBuilder eventType(SystemEvent event); SystemEventMessageBuilder properties(Map<String,Object> properties); SystemEventMessageBuilder addProperty(String key, Object value); SystemEventMessage build(); } ``` 3. Add ``SystemEventService`` ```java public interface SystemEventService { void init(); CompletableFuture<MessageId> trigger(SystemEventMessage message); void close(); } ``` ## Implementation This PIP just is a simple version, it's purpose is to discuss what event we need to trigger? how to trigger? and what is the event message structure. I think we need to trigger some event as bellow: - [ ] Client connected - [ ] Client disconnected - [ ] Consumer subscribe - [ ] Consumer unsubscribe - [ ] Producer publish - [ ] Message delivered - [ ] Message acked These are far from enough, and we need to continue to make supplements here. Please fell free to give me more advice for this PIP. ## Reject Alternatives none. Thanks, Mattisonchao