Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hapag-lloyd/dist-comm-vis

Visualizes the communication (http, https, sns, sqs, kafka, ...) between many projects.
https://github.com/hapag-lloyd/dist-comm-vis

event graph java jaxrs jms maven visualization

Last synced: about 4 hours ago
JSON representation

Visualizes the communication (http, https, sns, sqs, kafka, ...) between many projects.

Awesome Lists containing this project

README

        

[![Actions](https://github.com/Hapag-Lloyd/dist-comm-vis/workflows/Release/badge.svg)](https://github.com/Hapag-Lloyd/dist-comm-vis/actions)

# Distributed Communication Visualization

This tool analyzes Java source code and creates a diagram to show

- incoming/outgoing HTTP(S) traffic
- event receivers and senders

It also creates a high level diagram of multi project communication, e.g. service 1 calls service 2.

Especially useful to visualize the communication between several services. This documentation is always
up-to-date as it is generated automatically based on the current version of the software.

## Example

```shell
python --name=ServiceNameHere

yum install graphviz
dot -Tpng model.dot > model.png
```

![Communication](image/communication.png)

## Features

None so far.

## Planned Features

- extract HTTP(S) consumers: JAX RS, Spring
- extract JMS consumers
- extract producers via special annotation: Kafka, SQS, SNS, HTTP(S)
- extract consumers via special annotation: Kafka, SQS
- write a `model.json` file
- write a `model.dot` file for [GraphViz](https://gitlab.com/graphviz/graphviz)
- extract endpoints from Swagger YAML
- extract JMS producers