Class ComponentRegistry<V>

java.lang.Object
io.opentelemetry.sdk.internal.ComponentRegistry<V>
Type Parameters:
V - the type of the registered value.

public final class ComponentRegistry<V> extends Object
Component (tracer, meter, etc) registry class for all the provider classes (TracerProvider, MeterProvider, etc.).

Components are identified by name, version, and schema. Name is required, but version and schema are optional. Therefore, we have 4 possible scenarios for component keys:

  1. Only name is provided, represented by componentByName
  2. Name and version are provided, represented by componentByNameAndVersion
  3. Name and schema are provided, represented by componentByNameAndSchema
  4. Name, version and schema are provided, represented by componentByNameVersionAndSchema

This class is internal and is hence not for public use. Its APIs are unstable and can change at any time.

  • Constructor Details

  • Method Details

    • get

      public V get(String name, @Nullable String version, @Nullable String schemaUrl, Attributes attributes)
      Returns the component associated with the name, version, and schemaUrl. Attributes are not part of component identity. Behavior is undefined when different Attributes are provided where name, version, and schemaUrl are identical.
    • getComponents

      public Collection<V> getComponents()
      Returns a Collection view of the registered components.
      Returns:
      a Collection view of the registered components.