-
Notifications
You must be signed in to change notification settings - Fork 38
GCPlot System Structure
GCPlot project consists of next repositories:
-
https://github.com/GCPlot/gcplot - is a Java backend application source code, which handles requests from the UI, as well as performs all the logic related to logs parsing, etc.
-
https://github.com/GCPlot/gcplot-ui - main UI of the GCPlot, developed using ReactJS. All interactions with the backend are done using Ajax.
-
https://github.com/GCPlot/gcplot-docker - repository with Docker container docker file.
-
https://github.com/GCPlot/gcplot-connector - special agent application, which was intended to deliver GC log files from local machines to some cloud storage (S3), from which GCPlot then will grab & analyse them.
Currently all these parts are completely separate. There is no instruction how to setup everything together. The only way to understand how everything is working together is to go to gpclot-docker
repository and check sources. This container was built only once with the latest version of GCPlot.
The latest binary, which is used in docker image, is currently located on https://github.com/dmart28 personal S3. As well as mvn.gcplot.com - can consider moving this all to Github Packages.
At the time of writing this I was not able to get all tests green, need to revisit them.
GCPlot uses Cassandra as a DB for GC events, taking the benefits from using it as read-only partitioned scalable storage engine. For all user metadata OrientDB is used, which is excessive and in my opinion better to be removed.
I guess this is the most problematic part of the system. It is written using ReactJS 15 using yarn as a build tool. Most of the packages used here are either very old or deprecated.
src/styles/Reactive-Admin.scss is not currently compiling.
You can start with cloning the repo, then running yarn install
inside the directory. Then yarn run serve
.
It was used only when GCPlot was running as SaaS platform in cloud. It's quite simple tool, so only reading source code can reveal everything about it.