instrument java bytecode to product simple sequence diagram
native support of PlantUml
usage guide:
run mvn clean install
then export JAVA_TOOL_OPTIONS=-javaagent:target/appreview.jar[packages=${packages},listeners:${comaSeparatedListeners},reporters:${commaSeparatedReporters},reportDir:${umlReportPath}]
or simply run java -javaagent:... -jar xxx.jar
packages is the comma separated list of packages from which the classe methods should be instrumented
provided listener: com.smash.revolance.appreview.agent.PlantUmlEventListener provided reporter: com.smash.revolance.appreview.agent.PlantUmlEventListener
listeners have to implement EventListener repoterrs have to implement EventReporter
the implementation classes have to be on classpath to be found at runtime.
The reportDir is the location of the reports generated by the EventReporter
An event holds the following information:
- caller.methodName
- caller.className
- methodName
- className
- eventType (method begin / method end)
- eventTime (raw timestamp)