klarna-incubator / service_communication_map Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Currently we use rendering built in jgrapht library. It is ok for start or t keep it for general testing, but it would be nice to replace it with some visually nicer.
Maybe some Vaadin component, like https://vaadin.com/directory/component/graph-explorer-vaadin-7
Assume that when service A calls Service B, there is at least one unique ID in logs from service A and service B that allows to deduct that there is communication between A and B. Use that information to connect corresponding services in generated map.
Given raw input data (log lines) process them into a graph
For a specific flow, graph nodes should be shown in order of in which participate in a give flow. So graph layout algorithm should take first appearance (time based) of the node as the input, i.e. chronological order should be preserved.
For example wen flow was 1->2, 2->3, 2->4, 4->5
Order of nodes (either left to right, or top down, or whatever arbitrary direction) should be 1, 2, 3 and 4, 5, e.g.
1 -> 2 -> 3
\-> 4 -> 5
Need something that will read data input:
Wen doing new searches newly rendered graphs are getting appended to the DOM, but old ones stay.
This is a bug, it is expected for the old one(s) to be removed when new graph is generated.
Given graph structure represent it in visual way.
Potential candidates, PlantUML, Vaadin, Processing, etc.
This is first iteration. Start small. It is ok to change underlying presentation layer as needed.
Currently all code generated by Vaadin is checked in.
extract more different IDs form code to improve building relations between services
log messages can contain up to multiple different IDs, extract them all to be able to derive relationship between them
affects #23
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.