Interface Labels


  • @Immutable
    public interface Labels
    An immutable container for labels, which are key-value pairs of Strings.

    Implementations of this interface *must* be immutable and have well-defined value-based equals/hashCode implementations. If an implementation does not strictly conform to these requirements, behavior of the OpenTelemetry APIs and default SDK cannot be guaranteed.

    For this reason, it is strongly suggested that you use the implementation that is provided here via the factory methods and the ArrayBackedLabelsBuilder.

    • Method Detail

      • empty

        static Labels empty()
        Returns a Labels instance with no attributes.
      • of

        static Labels of​(String key1,
                         String value1,
                         String key2,
                         String value2)
        Returns a Labels instance with two key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed.
      • of

        static Labels of​(String... keyValueLabelPairs)
        Returns a Labels instance with the provided keyValueLabelPairs.
      • forEach

        void forEach​(BiConsumer<String,​String> consumer)
        Iterates over all the key-value pairs of labels contained by this instance.
      • size

        int size()
        The number of key-value pairs of labels in this instance.
      • get

        @Nullable
        String get​(String key)
        Returns the value for the given key, or null if the key is not present.
      • isEmpty

        boolean isEmpty()
        Returns whether this instance is empty (contains no labels).