-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
[](https://github.com/hprange/wotracing/actions/workflows/deploy.yml) | ||
[](https://opensource.org/licenses/Apache-2.0) | ||
|
||
# WOTracing | ||
|
||
The WOTracing framework integrates the [Open Tracing](https://opentracing.io) | ||
and [Open Telemetry](https://opentelemetry.io) standards with WebObjects and adds trace data from WebObjects | ||
applications. It provides a simple and easy-to-use way to collect and export trace data from WebObjects applications, | ||
and to integrate it with other Open Tracing/Open Telemetry-compatible tools. WOTracing can be used to debug and optimize | ||
WebObjects applications, for instance, by providing visibility into the performance and behavior of your code in | ||
production. | ||
|
||
## Requirements | ||
|
||
- OpenTracing 0.33.0 | ||
- OpenTelemetry 1.31 or later | ||
- Project Wonder 7 or later | ||
- WebObjects 5 | ||
- Java 11 | ||
|
||
## Features | ||
|
||
- WOTracing makes it easy to capture tracing information in WebObjects applications. | ||
- No changes in the code required, though you have the flexibility to add events and attributes to WOTracing spans if | ||
desired. | ||
- It can be integrated with other Open Tracing/Open Telemetry-compatible tools, such as Jaeger and Prometheus. | ||
|
||
## Installation | ||
|
||
### For Open Tracing Integration | ||
|
||
Maven users have to add the dependency declaration: | ||
|
||
```xml | ||
|
||
<dependency> | ||
<groupId>org.wocommunity</groupId> | ||
<artifactId>wotracing</artifactId> | ||
<version>1.0</version> | ||
</dependency> | ||
``` | ||
|
||
### For Open Telemetry Integration | ||
|
||
Maven users have to add the dependency declaration: | ||
|
||
```xml | ||
|
||
<dependency> | ||
<groupId>org.wocommunity</groupId> | ||
<artifactId>wotracing</artifactId> | ||
<version>2.0</version> | ||
</dependency> | ||
``` | ||
|
||
## Usage | ||
|
||
Once you have added the dependency, you need to enable WOTracing in your application. You can do this by adding the | ||
following parameter to your WebObjects application: | ||
|
||
```shell | ||
-Dwotracing.enabled=true | ||
``` | ||
|
||
## Viewing trace data | ||
|
||
To view trace data from your WebObjects applications, you must run your apps using | ||
the [OpenTelemetry Java agent](https://github.com/open-telemetry/opentelemetry-java-instrumentation). The OpenTelemetry | ||
Java agent can be attached to any Java 8+ application and dynamically injects bytecode to capture telemetry data from | ||
your running app. You can configure the OpenTelemetry Java agent as follows: | ||
|
||
```shell | ||
java -javaagent:path/to/opentelemetry-javaagent.jar ... | ||
``` | ||
|
||
Once you have attached the OpenTelemetry Java agent to your WebObjects application, you can view the trace data by using | ||
an OpenTelemetry-compatible tracing backend, such as Jaeger. | ||
|
||
## License | ||
|
||
This project is licensed under the Apache 2 License - see the [LICENSE.txt](LICENSE.txt) file for details. | ||
|
||
## About | ||
|
||
- **Site**: http://github.com/hprange/wotracing | ||
- **E-mail**: hprange at gmail.com | ||
- **Twitter**: @hprange |