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

https://github.com/ttony/opentracing-java-annotation

Java Annotation For Opentracing
https://github.com/ttony/opentracing-java-annotation

annotation java opentracing

Last synced: 6 months ago
JSON representation

Java Annotation For Opentracing

Awesome Lists containing this project

README

          

[![Build Status](https://travis-ci.com/ttony/opentracing-java-annotation.svg?branch=master)](https://travis-ci.com/ttony/opentracing-java-annotation) [![Maven Central](https://img.shields.io/maven-central/v/io.github.ttony/opentracing-java-annotation.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.github.ttony%22%20AND%20a:%22opentracing-java-annotation%22)

# OpenTracing Java Annotation

This library is a java annotation driven for OpenTracing.

> Note: The annotation concept is purely comes from Spring Sleuth project.

## Dependency
```xml

io.github.ttony
opentracing-java-annotation
1.1.1

```

## Run
Please include VM Options as
```java
-javaagent:/aspectjweaver-1.9.4.jar
```

## Usage

### Creating A New Span

```java
@NewSpan
public void calculateTax(TaxModel model) {
...
}
```

### Tag A New Span
- Simple
````java
@NewSpan
public void calculateTax(TaxModel model, @SpanTag("tag-name") String tagValue) {
...
}
````
- Advance
````java
@NewSpan(tagMapper = @SpanTagMapper(resolver = TaxModelTagMapper.class))
public void calculateTax(TaxModel model) {
...
}
````
````java
public class TaxModelTagMapper implements TagMapper {

public Map tag(TaxModel model) throws Exception {
...
}
}
````

### Injecting A Span

```java
@NewSpan
public void calculateTax(Span span, TaxModel model) {
span.log("event logging");
...
}
```

### Override Default Span's OperationName

```java
@NewSpan(operationName="calculateGST")
public void calculateTax(Span span, TaxModel model) {
span.log("event logging");
...
}
```

## Integrating SpringBoot

Register the Aspect class as spring bean:
```xml

```

Include SpringBoot AOP dependencies:
```groovy
compile 'org.springframework.boot:spring-boot-starter-aop'
```