Empty Release Project to Avoid Maven Bug


License

License

GroupId

GroupId

io.smallrye
ArtifactId

ArtifactId

smallrye-opentracing-release-1.3
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

pom
Description

Description

Empty Release Project to Avoid Maven Bug
Empty Release Project to Avoid Maven Bug

Download smallrye-opentracing-release-1.3

How to add to project

<!-- https://jarcasting.com/artifacts/io.smallrye/smallrye-opentracing-release-1.3/ -->
<dependency>
    <groupId>io.smallrye</groupId>
    <artifactId>smallrye-opentracing-release-1.3</artifactId>
    <version>1.0.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.smallrye/smallrye-opentracing-release-1.3/
implementation 'io.smallrye:smallrye-opentracing-release-1.3:1.0.0'
// https://jarcasting.com/artifacts/io.smallrye/smallrye-opentracing-release-1.3/
implementation ("io.smallrye:smallrye-opentracing-release-1.3:1.0.0")
'io.smallrye:smallrye-opentracing-release-1.3:pom:1.0.0'
<dependency org="io.smallrye" name="smallrye-opentracing-release-1.3" rev="1.0.0">
  <artifact name="smallrye-opentracing-release-1.3" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.smallrye', module='smallrye-opentracing-release-1.3', version='1.0.0')
)
libraryDependencies += "io.smallrye" % "smallrye-opentracing-release-1.3" % "1.0.0"
[io.smallrye/smallrye-opentracing-release-1.3 "1.0.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

badge Quality Gate Status License smallrye opentracing?color=green

SmallRye OpenTracing

SmallRye OpenTracing is an implementation of https://github.com/eclipse/microprofile-opentracing meant to be reusable for different vendors.

How to use

The following components have to be added to deployment to pass microprofile-opentracing-tck:

Server side JAX-RS

Server side JAX-RS tracing integration is provided by JAX-RS SmallRyeTracingDynamicFeature and servlet filter SpanFinishingFilter which finishes the span started in JAX-RS filter.

The installation is JAX-RS and server implementation specific. For example in RestEasy DynamicFeature it can be enabled by specifying resteasy.providers in servlet context init parameters. The following code snippet demonstrates possible installation.

public class ServletContextTracingInstaller implements ServletContextListener {

  @Override
  public void contextInitialized(ServletContextEvent servletContextEvent) {
    ServletContext servletContext = servletContextEvent.getServletContext();
    servletContext.setInitParameter("resteasy.providers", SmallRyeTracingDynamicFeature.class.getName());

    Dynamic filterRegistration = servletContext.addFilter("tracingFilter", new SpanFinishingFilter());
    filterRegistration.setAsyncSupported(true);
    filterRegistration.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "*");
  }
}

Client side JAX-RS

Vendor has to implement ClientTracingRegistrarProvider and specify it in META-INF/services/org.eclipse.microprofile.opentracing.ClientTracingRegistrarProvider.

This project provides SmallRyeClientTracingFeature with tracing integration. The feature has to be registered to ClientBuilder in vendor specific implementation of ClientTracingRegistrarProvider. Client side tracing usually requires more components, for example OpenTracing-aware AsyncExecutor.

MicroProfile Rest Client

The Rest Client instrumentation is provided in SmallRyeRestClientListener which has to be registered in META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener.

CDI

The @Traced aspects of the specification is provided by the OpenTracingInterceptor, from the OpenTracing Contrib Java Interceptors project.

Tracer producer

Vendor has to provide CDI tracer producer. It is not provided by this library as the tracer resolution is not defined by MicroProfile specification.

Develop

mvn clean install

Debug

Debug of the deployment can be enabled in arquillian.xml configuration file.

Run the following to debug tests on port 8788.

mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8788 -Xnoagent -Djava.compiler=NONE" test
io.smallrye

SmallRye

Versions

Version
1.0.0