Class OpenTelemetryTracingModule

java.lang.Object
io.grpc.opentelemetry.OpenTelemetryTracingModule

final class OpenTelemetryTracingModule extends Object
Provides factories for StreamTracer that records tracing to OpenTelemetry.
  • Field Details

  • Constructor Details

    • OpenTelemetryTracingModule

      OpenTelemetryTracingModule(io.opentelemetry.api.OpenTelemetry openTelemetry)
  • Method Details

    • getTracer

      io.opentelemetry.api.trace.Tracer getTracer()
    • newClientCallTracer

      OpenTelemetryTracingModule.CallAttemptsTracerFactory newClientCallTracer(io.opentelemetry.api.trace.Span clientSpan, io.grpc.MethodDescriptor<?,?> method)
    • getServerTracerFactory

      io.grpc.ServerStreamTracer.Factory getServerTracerFactory()
      Returns the server tracer factory.
    • getClientInterceptor

      io.grpc.ClientInterceptor getClientInterceptor()
      Returns the client interceptor that facilitates otel tracing reporting.
    • getServerSpanPropagationInterceptor

      io.grpc.ServerInterceptor getServerSpanPropagationInterceptor()
    • recordOutboundMessageSentEvent

      private void recordOutboundMessageSentEvent(io.opentelemetry.api.trace.Span span, int seqNo, long optionalWireSize, long optionalUncompressedSize)
    • recordInboundCompressedMessage

      private void recordInboundCompressedMessage(io.opentelemetry.api.trace.Span span, int seqNo, long optionalWireSize)
    • recordInboundMessageSize

      private void recordInboundMessageSize(io.opentelemetry.api.trace.Span span, int seqNo, long bytes)
    • generateErrorStatusDescription

      private String generateErrorStatusDescription(io.grpc.Status status)
    • endSpanWithStatus

      private void endSpanWithStatus(io.opentelemetry.api.trace.Span span, io.grpc.Status status)
    • generateTraceSpanName

      static String generateTraceSpanName(boolean isServer, String fullMethodName)
      Convert a full method name to a tracing span name.
      Parameters:
      isServer - false if the span is on the client-side, true if on the server-side
      fullMethodName - the method name as returned by MethodDescriptor.getFullMethodName().