event-catalog / eventcatalog

An open source documentation tool to bring discoverability to your event-driven architectures
https://eventcatalog.dev
MIT License
1.53k stars 131 forks source link

Visualizing topics/queues instead of just schemas #449

Open skonik opened 9 months ago

skonik commented 9 months ago

Have you read the Contributing Guidelines on issues?

Description

Hello, is it possible to add some kind of topic/queue name link which can affect visualization? Everything looks great with just events, but sometimes I need to understand what kafka topics are connected. Would be nice to have such feature.

Motivation

To be able track connections between topics/queues instead of just events.

GDS-Dominic commented 6 months ago

Not necessarily just topics / queues. There could be some sort of service which routes events do other consumers

gongshishao commented 2 months ago

Any update ?

boyney123 commented 2 months ago

Love this idea!

boyney123 commented 2 months ago

Do you have any ideas on how this would look?

skonik commented 2 months ago

Would be enough to provide an option "All queues and services " as second option. Just change events to queues/topics and that's exactly what I would like to see.

Screenshot 2024-04-14 at 15 54 20

In next iteration it might be cool to create a tooltip on queue node showing a list of events connected to queue.

boyney123 commented 2 months ago

@skonik curious what you think about having channels as a entity in the catalog. You will be able to create them like you can events, document them and link them between things.

Topics, maybe the ability to change the name of the event (type: topic) or something may work, or just accept topics as an entity too?

skonik commented 2 months ago

@skonik curious what you think about having channels as a entity in the catalog. You will be able to create them like you can events, document them and link them between things.

Introducing channels is good idea. Concept of channels is being described by asyncapi specification. It could be used as reference

Topics, maybe the ability to change the name of the event (type: topic) or something may work, or just accept topics as an entity too?

We should go with channel as new entity and display channel name as node label then. So, not topics, but channels with specified name, I guess.