Class OpenTelemetryConfigurator

java.lang.Object
org.apache.solr.core.OpenTelemetryConfigurator
All Implemented Interfaces:
NamedListInitializedPlugin

public abstract class OpenTelemetryConfigurator extends Object implements NamedListInitializedPlugin
Configures and loads/sets GlobalOpenTelemetry from a OpenTelemetrySdk.
  • Field Details

    • TRACE_ID_GEN_ENABLED

      public static final boolean TRACE_ID_GEN_ENABLED
  • Constructor Details

    • OpenTelemetryConfigurator

      public OpenTelemetryConfigurator()
  • Method Details

    • initializeOpenTelemetrySdk

      public static void initializeOpenTelemetrySdk(NodeConfig cfg, SolrResourceLoader loader)
      Initializes the GlobalOpenTelemetry instance by configuring the OpenTelemetrySdk through custom plugin, auto-configure or default SDK.
    • getTracer

      protected abstract io.opentelemetry.api.trace.Tracer getTracer()
    • getOpenTelemetrySdk

      protected abstract io.opentelemetry.sdk.OpenTelemetrySdk getOpenTelemetrySdk()
    • getConfig

      protected static String getConfig(String envName, Map<String,String> env)
      Returns system property if found, else returns environment variable, or null if none found.
      Parameters:
      envName - the environment variable to look for
      env - current env
      Returns:
      the resolved value
    • envNameToSyspropName

      protected static String envNameToSyspropName(String envName)
      In OTEL Java SDK there is a convention that the java property name for OTEL_FOO_BAR is otel.foo.bar
      Parameters:
      envName - the environmnet name to convert
      Returns:
      the corresponding sysprop name
    • resetForTest

      public static void resetForTest()