Class HttpInstrumenterVertxTracer

java.lang.Object
io.quarkus.opentelemetry.runtime.tracing.intrumentation.vertx.HttpInstrumenterVertxTracer
All Implemented Interfaces:
InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>, io.vertx.core.spi.tracing.VertxTracer<OpenTelemetryVertxTracer.SpanOperation,OpenTelemetryVertxTracer.SpanOperation>

public class HttpInstrumenterVertxTracer extends Object implements InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
  • Constructor Details

    • HttpInstrumenterVertxTracer

      public HttpInstrumenterVertxTracer(io.opentelemetry.api.OpenTelemetry openTelemetry, OTelRuntimeConfig runtimeConfig, OTelBuildConfig buildConfig)
  • Method Details

    • canHandle

      public <R> boolean canHandle(R request, io.vertx.core.spi.tracing.TagExtractor<R> tagExtractor)
      Specified by:
      canHandle in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
    • getReceiveRequestInstrumenter

      public io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse> getReceiveRequestInstrumenter()
      Specified by:
      getReceiveRequestInstrumenter in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
    • getSendResponseInstrumenter

      public io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse> getSendResponseInstrumenter()
      Specified by:
      getSendResponseInstrumenter in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
    • getSendRequestInstrumenter

      public io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse> getSendRequestInstrumenter()
      Specified by:
      getSendRequestInstrumenter in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
    • getReceiveResponseInstrumenter

      public io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse> getReceiveResponseInstrumenter()
      Specified by:
      getReceiveResponseInstrumenter in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
    • spanOperation

      public OpenTelemetryVertxTracer.SpanOperation spanOperation(io.vertx.core.Context context, io.vertx.core.spi.observability.HttpRequest request, io.vertx.core.MultiMap headers, io.opentelemetry.context.Context spanContext, io.opentelemetry.context.Scope scope)
      Specified by:
      spanOperation in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
    • sendResponse

      public <R> void sendResponse(io.vertx.core.Context context, R response, OpenTelemetryVertxTracer.SpanOperation spanOperation, Throwable failure, io.vertx.core.spi.tracing.TagExtractor<R> tagExtractor)
      Specified by:
      sendResponse in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
      Specified by:
      sendResponse in interface io.vertx.core.spi.tracing.VertxTracer<OpenTelemetryVertxTracer.SpanOperation,OpenTelemetryVertxTracer.SpanOperation>
    • sendRequest

      public <R> OpenTelemetryVertxTracer.SpanOperation sendRequest(io.vertx.core.Context context, io.vertx.core.spi.tracing.SpanKind kind, io.vertx.core.tracing.TracingPolicy policy, R request, String operation, BiConsumer<String,String> headers, io.vertx.core.spi.tracing.TagExtractor<R> tagExtractor)
      Specified by:
      sendRequest in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
      Specified by:
      sendRequest in interface io.vertx.core.spi.tracing.VertxTracer<OpenTelemetryVertxTracer.SpanOperation,OpenTelemetryVertxTracer.SpanOperation>
    • writableHeaders

      public io.vertx.core.spi.observability.HttpRequest writableHeaders(io.vertx.core.spi.observability.HttpRequest request, BiConsumer<String,String> headers)
      Specified by:
      writableHeaders in interface InstrumenterVertxTracer<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
    • getServerInstrumenter

      static io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse> getServerInstrumenter(io.opentelemetry.api.OpenTelemetry openTelemetry, OTelRuntimeConfig runtimeConfig, OTelBuildConfig buildConfig)
    • getClientInstrumenter

      static io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse> getClientInstrumenter(io.opentelemetry.api.OpenTelemetry openTelemetry, OTelRuntimeConfig runtimeConfig)