Skip to content

Commit

Permalink
Use idiomatic RESTEasy Reactive filter declaration for OpenTelemetry
Browse files Browse the repository at this point in the history
Closes: quarkusio#31245
(cherry picked from commit 0825eed)
  • Loading branch information
geoand authored and gsmet committed Feb 22, 2023
1 parent ced1976 commit edbd21a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 16 deletions.
Expand Up @@ -29,7 +29,7 @@
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.resteasy.OpenTelemetryClassicServerFilter;
import io.quarkus.opentelemetry.runtime.tracing.intrumentation.resteasy.OpenTelemetryReactiveServerFilter;
import io.quarkus.resteasy.common.spi.ResteasyJaxrsProviderBuildItem;
import io.quarkus.resteasy.reactive.spi.ContainerRequestFilterBuildItem;
import io.quarkus.resteasy.reactive.spi.CustomContainerRequestFilterBuildItem;
import io.quarkus.runtime.LaunchMode;
import io.quarkus.vertx.core.deployment.VertxOptionsConsumerBuildItem;
import io.vertx.core.VertxOptions;
Expand Down Expand Up @@ -136,7 +136,7 @@ void registerResteasyClassicAndOrResteasyReactiveProvider(
@BuildStep
void registerResteasyReactiveProvider(
Capabilities capabilities,
BuildProducer<ContainerRequestFilterBuildItem> containerRequestFilterBuildItemBuildProducer) {
BuildProducer<CustomContainerRequestFilterBuildItem> containerRequestFilterBuildItemBuildProducer) {

boolean isResteasyReactiveAvailable = capabilities.isPresent(Capability.RESTEASY_REACTIVE);

Expand All @@ -146,8 +146,7 @@ void registerResteasyReactiveProvider(
}

containerRequestFilterBuildItemBuildProducer
.produce(new ContainerRequestFilterBuildItem.Builder(OpenTelemetryReactiveServerFilter.class.getName())
.build());
.produce(new CustomContainerRequestFilterBuildItem(OpenTelemetryReactiveServerFilter.class.getName()));
}

}
Expand Up @@ -2,11 +2,7 @@

import java.io.IOException;

import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.core.Context;
import javax.ws.rs.ext.Provider;

import org.jboss.resteasy.reactive.server.ServerRequestFilter;
import org.jboss.resteasy.reactive.server.SimpleResourceInfo;

import io.opentelemetry.api.trace.Span;
Expand All @@ -16,14 +12,10 @@
/**
* Handles RESTEasy Reactive (via Vert.x)
*/
@Provider
public class OpenTelemetryReactiveServerFilter implements ContainerRequestFilter {

@Context
SimpleResourceInfo resourceInfo;
public class OpenTelemetryReactiveServerFilter {

@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
@ServerRequestFilter
public void filter(SimpleResourceInfo resourceInfo) throws IOException {
Span localRootSpan = LocalRootSpan.current();

localRootSpan.setAttribute(SemanticAttributes.CODE_NAMESPACE, resourceInfo.getResourceClass().getName());
Expand Down

0 comments on commit edbd21a

Please sign in to comment.