An open API service indexing awesome lists of open source software.

https://github.com/opentracing-contrib/java-rxjava

OpenTracing Instrumentation for RxJava
https://github.com/opentracing-contrib/java-rxjava

java opentracing rxjava rxjava2

Last synced: 11 months ago
JSON representation

OpenTracing Instrumentation for RxJava

Awesome Lists containing this project

README

          

[![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] [![Released Version][maven-img]][maven] [![Apache-2.0 license](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

# OpenTracing RxJava Instrumentation
OpenTracing instrumentation for RxJava.

## Installation

### RxJava 1
pom.xml
```xml

io.opentracing.contrib
opentracing-rxjava-1
VERSION

```

### RxJava 2
pom.xml
```xml

io.opentracing.contrib
opentracing-rxjava-2
VERSION

```

### RxJava 3
pom.xml
```xml

io.opentracing.contrib
opentracing-rxjava-3
VERSION

```

## Usage

```java
// Instantiate tracer
Tracer tracer = ...

// Optionally register tracer with GlobalTracer
GlobalTracer.register(tracer);
```

### RxJava 1

```java
// Enable Tracing via TracingRxJavaUtils
TracingRxJavaUtils.enableTracing(tracer);
```

#### Subscriber

```java
// Decorate RxJava Subscriber with TracingSubscriber
Subscriber subscriber = ...
Subscriber tracingSubscriber = new TracingSubscriber<>(subscriber, "subscriber", tracer);

// Subscribe Observable to TracingSubscriber
observable.subscribe(tracingSubscriber);
```

#### Action

```java
// Decorate RxJava Action with TracingActionSubscriber
Action1 onNext = ...
TracingActionSubscriber tracingSubscriber = new TracingActionSubscriber<>(onNext,
"action", tracer);

// Subscribe Observable to TracingActionSubscriber
observable.subscribe(tracingSubscriber);
```

#### Observer

```java
// Decorate RxJava Observer with TracingObserverSubscriber
Observer observer = ...
TracingObserverSubscriber tracingSubscriber = new TracingObserverSubscriber(observer,
"observer", tracer);

// Subscribe Observable to TracingObserverSubscriber
observable.subscribe(tracingSubscriber);
```

### RxJava 2 / RxJava 3

```java
// Enable Tracing via TracingRxJava2Utils

// For RxJava 2:
TracingRxJava2Utils.enableTracing(tracer);

// For RxJava 3:
TracingRxJava3Utils.enableTracing(tracer);
```

#### Observer

```java
// Decorate RxJava Observer with TracingObserver
Observer observer = ...
Observer tracingObserver = new TracingObserver<>(observer, "observer", tracer);

// Subscribe Observable to TracingObserver
observable.subscribe(tracingObserver);
```

#### Consumer

```java
// Decorate RxJava Consumer with TracingConsumer
Consumer onNext = ...
TracingConsumer tracingConsumer = new TracingConsumer(onNext, "consumer", tracer);

// Subscribe Observable to TracingConsumer
observable.subscribe(tracingConsumer);
```

## License

[Apache 2.0 License](./LICENSE).

[ci-img]: https://travis-ci.org/opentracing-contrib/java-rxjava.svg?branch=master
[ci]: https://travis-ci.org/opentracing-contrib/java-rxjava
[cov-img]: https://coveralls.io/repos/github/opentracing-contrib/java-rxjava/badge.svg?branch=master
[cov]: https://coveralls.io/github/opentracing-contrib/java-rxjava?branch=master
[maven-img]: https://img.shields.io/maven-central/v/io.opentracing.contrib/opentracing-rxjava-1.svg
[maven]: http://search.maven.org/#search%7Cga%7C1%7Copentracing-rxjava-1