datarouter-trace is a tool to collect and visualize distributed request traces.
<dependency>
<groupId>io.datarouter</groupId>
<artifactId>datarouter-trace</artifactId>
<version>0.0.125</version>
</dependency>
You can install this module by adding its plugin to the WebappBuilder
.
.addPlugin(new DatarouterTracePluginBuilder()
...
.build())
The following are automatically traced:
- Node operations
- DatarouterHttpClientRequests
- Handlers
You can add additional tracing to the code with:
try(var $ = TracerTool.startSpan("some trace name")){
...
}
Traces can be saved locally or sent to an external service over http. Saving traces can be taxing on the the local database or on the publishing client, since traces can be generated in high volume. Traces are first buffered in memory buffer, then in a queuing system (like SQS) before being sent to their respective locations.
This library is licensed under the Apache License, Version 2.0 - see LICENSE for details.