Skip to content

Commit

Permalink
Add a readme to the project
Browse files Browse the repository at this point in the history
  • Loading branch information
hprange committed Oct 26, 2023
1 parent ea59199 commit 22e4534
Showing 1 changed file with 87 additions and 0 deletions.
87 changes: 87 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
[![Build Status](https://github.com/hprange/wotracing/actions/workflows/deploy.yml/badge.svg)](https://github.com/hprange/wotracing/actions/workflows/deploy.yml)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](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

0 comments on commit 22e4534

Please sign in to comment.