Class OPEN_TELEMETRY

java.lang.Object
org.jgroups.stack.Protocol
org.keycloak.jgroups.protocol.OPEN_TELEMETRY
All Implemented Interfaces:
org.jgroups.Lifecycle

public class OPEN_TELEMETRY extends org.jgroups.stack.Protocol
Provides Open Telemetry (https://opentelemetry.io/) tracing for JGroups. It should be placed just above the transport.
When a message is sent, a TracerHeader is added with the (optional) parent span. When received a new span is started (as a child span, if the parent span in the header is non-null), and ended when the the thread returns.
Since:
1.0.0
Author:
Bela Ban
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected boolean
     
    static final short
     
    protected io.opentelemetry.api.OpenTelemetry
     
    protected static final io.opentelemetry.context.propagation.TextMapGetter<TracerHeader>
     
    protected io.opentelemetry.api.trace.Tracer
     

    Fields inherited from class org.jgroups.stack.Protocol

    after_creation_hook, down_prot, ergonomics, id, local_addr, log, policies, stack, stats, up_prot
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    activate(boolean flag)
     
    boolean
     
    active(boolean f)
     
    down(org.jgroups.Message msg)
     
    protected static void
     
    void
     
    up(org.jgroups.Message msg)
     
    void
    up(org.jgroups.util.MessageBatch batch)
     

    Methods inherited from class org.jgroups.stack.Protocol

    accept, addPolicy, addr, addr, afterCreationHook, destroy, down, down, enableStats, getAddress, getComponents, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getLog, getName, getPolicies, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getUpServices, getValue, init, isErgonomics, level, parse, policies, providedDownServices, providedUpServices, removePolicy, requiredDownServices, requiredUpServices, resetStatistics, resetStats, setAddress, setDownProtocol, setErgonomics, setId, setLevel, setPolicies, setProtocolStack, setSocketFactory, setUpProtocol, setValue, statsEnabled, stop, toString, up

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • OPEN_TELEMETRY_ID

      public static final short OPEN_TELEMETRY_ID
      See Also:
    • otel

      protected io.opentelemetry.api.OpenTelemetry otel
    • tracer

      protected io.opentelemetry.api.trace.Tracer tracer
    • active

      protected boolean active
    • TEXT_MAP_GETTER

      protected static final io.opentelemetry.context.propagation.TextMapGetter<TracerHeader> TEXT_MAP_GETTER
  • Constructor Details

    • OPEN_TELEMETRY

      public OPEN_TELEMETRY()
  • Method Details

    • active

      public boolean active()
    • active

      public OPEN_TELEMETRY active(boolean f)
    • start

      public void start() throws Exception
      Specified by:
      start in interface org.jgroups.Lifecycle
      Overrides:
      start in class org.jgroups.stack.Protocol
      Throws:
      Exception
    • down

      public Object down(org.jgroups.Message msg)
      Overrides:
      down in class org.jgroups.stack.Protocol
    • up

      public Object up(org.jgroups.Message msg)
      Overrides:
      up in class org.jgroups.stack.Protocol
    • up

      public void up(org.jgroups.util.MessageBatch batch)
      Overrides:
      up in class org.jgroups.stack.Protocol
    • populateHeader

      protected static void populateHeader(TracerHeader hdr)
    • activate

      protected boolean activate(boolean flag)