Traces is a code flow tracing library.
The introduction article is a good place to start.
Use just api in all shared code that needs to be traced, i.e libraries.
<dependency>
<groupId>com.petercipov</groupId>
<artifactId>traces-api</artifactId>
<version>1.1.0</version>
</dependency>
In your top projects choose traces implementation.
Vizu that serializes traces to JSON
<dependency>
<groupId>com.petercipov</groupId>
<artifactId>traces-vizu</artifactId>
<version>1.1.0</version>
</dependency>
Std I/O - simple output to console
<dependency>
<groupId>com.petercipov</groupId>
<artifactId>traces-stdio</artifactId>
<version>1.1.0</version>
</dependency>
For junit tests use project
<dependency>
<groupId>com.petercipov</groupId>
<artifactId>traces-junit</artifactId>
<version>1.1.0</version>
<scope>test</scope>
</dependency>