> CompletableFuture<MessageId> trigger(SystemEventMessage message);
Maybe `record` make more sense? > SystemEventMessageBuilder properties(Map<String,Object> properties); > > SystemEventMessageBuilder addProperty(String key, Object value); How to handle the serialization and deserialization if the value type is Object? > - [ ] Producer publish > - [ ] Message delivered > - [ ] Message acked I think we don't need to record normal message producing and consuming event? That would make the system topic store too much data. On 2022/01/05 15:27:33 mattison chao wrote: > 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 Thanks, Haiting Jiang