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>
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    (package private) static class 
     
  • Field Summary

    Fields inherited from interface io.vertx.core.spi.tracing.VertxTracer

    NOOP
  • Constructor Summary

    Constructors
    Constructor
    Description
    HttpInstrumenterVertxTracer(io.opentelemetry.api.OpenTelemetry openTelemetry, OTelRuntimeConfig runtimeConfig)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <R> boolean
    canHandle(R request, io.vertx.core.spi.tracing.TagExtractor<R> tagExtractor)
     
    (package private) 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)
     
    io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
     
    io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
     
    io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
     
    io.opentelemetry.instrumentation.api.instrumenter.Instrumenter<io.vertx.core.spi.observability.HttpRequest,io.vertx.core.spi.observability.HttpResponse>
     
    (package private) 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)
     
    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)
     
    <R> void
    sendResponse(io.vertx.core.Context context, R response, OpenTelemetryVertxTracer.SpanOperation spanOperation, Throwable failure, io.vertx.core.spi.tracing.TagExtractor<R> tagExtractor)
     
    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)
     
    io.vertx.core.spi.observability.HttpRequest
    writableHeaders(io.vertx.core.spi.observability.HttpRequest request, BiConsumer<String,String> headers)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.quarkus.opentelemetry.runtime.tracing.intrumentation.vertx.InstrumenterVertxTracer

    receiveRequest, receiveResponse

    Methods inherited from interface io.vertx.core.spi.tracing.VertxTracer

    close
  • Constructor Details

    • HttpInstrumenterVertxTracer

      public HttpInstrumenterVertxTracer(io.opentelemetry.api.OpenTelemetry openTelemetry, OTelRuntimeConfig runtimeConfig)
  • 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)
    • 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)