All Projects → opentracing-contrib → java-web-servlet-filter

opentracing-contrib / java-web-servlet-filter

Licence: Apache-2.0 license
OpenTracing Java Web Servlet Filter Instrumentation

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to java-web-servlet-filter

go-sensor
🚀 Go Distributed Tracing & Metrics Sensor for Instana
Stars: ✭ 90 (+350%)
Mutual labels:  instrumentation, tracing, opentracing
Java Spring Cloud
Distributed tracing for Spring Boot, Cloud and other Spring projects
Stars: ✭ 326 (+1530%)
Mutual labels:  instrumentation, tracing, opentracing
zipkin-cpp-opentracing
OpenTracing Tracer implementation for Zipkin in C++
Stars: ✭ 46 (+130%)
Mutual labels:  instrumentation, tracing, opentracing
java-jaxrs
OpenTracing Java JAX-RS instrumentation
Stars: ✭ 37 (+85%)
Mutual labels:  instrumentation, tracing, opentracing
zipkin-ruby-opentracing
OpenTracing Tracer implementation for Zipkin in Ruby
Stars: ✭ 15 (-25%)
Mutual labels:  instrumentation, tracing, opentracing
java-okhttp
OpenTracing Okhttp client instrumentation
Stars: ✭ 21 (+5%)
Mutual labels:  instrumentation, tracing, opentracing
nginx-opentracing
Instrument nginx for OpenTracing.
Stars: ✭ 21 (+5%)
Mutual labels:  instrumentation, tracing, opentracing
Sqlhooks
Attach hooks to any database/sql driver
Stars: ✭ 397 (+1885%)
Mutual labels:  instrumentation, tracing, opentracing
Molten
php probe for zipkin and opentracing
Stars: ✭ 740 (+3600%)
Mutual labels:  instrumentation, tracing, opentracing
Zipkin Go Opentracing
OpenTracing Bridge for Zipkin Go
Stars: ✭ 472 (+2260%)
Mutual labels:  instrumentation, tracing, opentracing
Java Specialagent
Automatic instrumentation for 3rd-party libraries in Java applications with OpenTracing.
Stars: ✭ 156 (+680%)
Mutual labels:  instrumentation, tracing, opentracing
Brave Opentracing
Bridge between OpenTracing and Brave
Stars: ✭ 64 (+220%)
Mutual labels:  instrumentation, tracing, opentracing
ruby-sensor
💎 Ruby Distributed Tracing & Metrics Sensor for Instana
Stars: ✭ 23 (+15%)
Mutual labels:  instrumentation, tracing, opentracing
smallrye-opentracing
An MicroProfile-OpenTracing implementation
Stars: ✭ 17 (-15%)
Mutual labels:  tracing, opentracing
microservices-demo
A Monorepo Demoing Microservices Architecture
Stars: ✭ 36 (+80%)
Mutual labels:  tracing, opentracing
thundra-agent-python
Thundra Lambda Python Agent
Stars: ✭ 36 (+80%)
Mutual labels:  instrumentation, tracing
pyccolo
Declarative instrumentation for Python.
Stars: ✭ 70 (+250%)
Mutual labels:  instrumentation, tracing
jaeger-node
Out of the box distributed tracing for Node.js applications.
Stars: ✭ 66 (+230%)
Mutual labels:  tracing, opentracing
dropwizard-zipkin
Dropwizard Zipkin Bundle
Stars: ✭ 48 (+140%)
Mutual labels:  instrumentation, tracing
nodejs
Node.js in-process collectors for Instana
Stars: ✭ 66 (+230%)
Mutual labels:  tracing, opentracing

Build Status Released Version

OpenTracing Java Web Servlet Filter Instrumentation

This library provides instrumentation for Java Web Servlet applications.

Initialization

Tracing filter can be programmatically initialized:

   TracingFilter filter = new TracingFilter(tracer);
   servletContext.addFilter("tracingFilter", filter);

or added to web.xml, however it requires to register a tracer instance: GlobalTracer.register(tracer).

Tracer override

If a tracer has been associated with the ServletContext as an attribute with key io.opentracing.Tracer, then it will override any tracer explicitly passed to the filter or registered with the GlobalTracer.

This approach can be used where OpenTracing and Tracer implementation specific dependencies are configured within a servlet container (rather than bundled with the webapp), and we don't wish to share a single GlobalTracer instance across all webapps (e.g. as this may mean all webapps report their spans associated with the same service name).

In these situations, using a ServletContextListener to create a Tracer will enable it to be specific to the webapp and managed with its lifecycle.

Accessing Server Span

Current server span context is accessible in HttpServletRequest attributes.

   SpanContext spanContext = (SpanContext)httpservletRequest.getAttribute(TracingFilter.SERVER_SPAN_CONTEXT);
   

Development

./mvnw clean install

Release

Follow instructions in RELEASE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].