opentracing-contrib / java-api-extensions Goto Github PK
View Code? Open in Web Editor NEWThis repository contains API extensions for use with the core Tracer and Span APIs.
License: Apache License 2.0
This repository contains API extensions for use with the core Tracer and Span APIs.
License: Apache License 2.0
As per comment #3 (comment).
See #22
For this to be truly useful, I would need to also be able to observe the thread local span activations (scopes). Could this perhaps be an enhancement? The code for my jfr-tracer could then be greatly simplified.
Once OpenTracing API v0.32.0 is available, expose the trace and span id fields in the SpanData interface.
The Opentracing shim can be supported since the new release of OpenTelemetry.
In this repo, you have to implement Supplier
for the proxy span - like done in a similar project.
Although some Tracer
implementations may wish to natively support the observer and filter APIs, it would be useful to provide a Tracer
wrapper that handles the management of these APIs in a tracer provider independent way. As discussed here: #3 (comment)
From the releases page here and tags I see that release 0.5.0 was created, but this release was not published to maven central, so it's not available to users. Can you publish it?
As discussed in #3 (comment) it would be good to have an interceptor mechanism between OpenTracing framework integrations, which capture span information, and the Tracer
which is responsible for recording the span data.
These interceptors may be used to apply application/service specific logic to modifying the tags/log events being recorded or potential suppress the values.
When using the extensions with brave-opentracing I'm getting an IllegalArgumentException when APIExtensionsSpanBuilder#startActive is called:
java.lang.IllegalArgumentException: Span must be an instance of brave.opentracing.BraveSpan, but was class io.opentracing.contrib.api.tracer.APIExtensionsSpan
at brave.opentracing.BraveScopeManager.activate(BraveScopeManager.java:75) ~[brave-opentracing-0.31.1.jar:na]
at brave.opentracing.BraveScopeManager.activate(BraveScopeManager.java:26) ~[brave-opentracing-0.31.1.jar:na]
at io.opentracing.contrib.api.tracer.APIExtensionsSpanBuilder.startActive(APIExtensionsSpanBuilder.java:120) ~[opentracing-api-extensions-tracer-0.1.0.jar:na]
at io.opentracing.contrib.web.servlet.filter.TracingFilter.doFilter(TracingFilter.java:156) ~[opentracing-web-servlet-filter-0.1.0.jar:na]
To fix this the BraveScopeManager should be called with the original span instead of the APIExtensionsSpan version.
As discussed in this thread (#3 (comment)) we should rename this repo to something more appropriate to cover observer and filter API.
java-patterns
- too generic
java-tracer-decorator
and java-tracer-wrapper
- I think these are too implementation specific, and focus just on the wrapping/decorator rather than on the APIs
java-api-extensions
and java-tracer-extensions
- these are in the right direction, wonder if a truncated form would work - e.g. java-ext
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.