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
- Host: GitHub
- URL: https://github.com/ttony/opentracing-java-annotation
- Owner: ttony
- License: gpl-2.0
- Created: 2019-07-18T03:38:58.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-02-18T15:24:09.000Z (over 5 years ago)
- Last Synced: 2024-07-21T14:56:43.687Z (almost 2 years ago)
- Topics: annotation, java, opentracing
- Language: Java
- Size: 116 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://travis-ci.com/ttony/opentracing-java-annotation) [](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'
```