Interface Labels
-
@Immutable public interface Labels
An immutable container for labels, which are key-value pairs ofString
s.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 Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description Map<String,String>
asMap()
static LabelsBuilder
builder()
Creates a newLabelsBuilder
instance for creating arbitraryLabels
.static Labels
empty()
Returns aLabels
instance with no attributes.void
forEach(BiConsumer<String,String> consumer)
Iterates over all the key-value pairs of labels contained by this instance.String
get(String key)
Returns the value for the givenkey
, ornull
if the key is not present.boolean
isEmpty()
Returns whether this instance is empty (contains no labels).static Labels
of(String... keyValueLabelPairs)
Returns aLabels
instance with the providedkeyValueLabelPairs
.static Labels
of(String key, String value)
Returns aLabels
instance with a single key-value pair.static Labels
of(String key1, String value1, String key2, String value2)
Returns aLabels
instance with two key-value pairs.static Labels
of(String key1, String value1, String key2, String value2, String key3, String value3)
Returns aLabels
instance with three key-value pairs.static Labels
of(String key1, String value1, String key2, String value2, String key3, String value3, String key4, String value4)
Returns aLabels
instance with four key-value pairs.static Labels
of(String key1, String value1, String key2, String value2, String key3, String value3, String key4, String value4, String key5, String value5)
Returns aLabels
instance with five key-value pairs.int
size()
The number of key-value pairs of labels in this instance.LabelsBuilder
toBuilder()
Create aLabelsBuilder
pre-populated with the contents of this Labels instance.
-
-
-
Method Detail
-
builder
static LabelsBuilder builder()
Creates a newLabelsBuilder
instance for creating arbitraryLabels
.
-
of
static Labels of(String key, String value)
Returns aLabels
instance with a single key-value pair.
-
of
static Labels of(String key1, String value1, String key2, String value2)
Returns aLabels
instance with two key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed.
-
of
static Labels of(String key1, String value1, String key2, String value2, String key3, String value3)
Returns aLabels
instance with three key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed.
-
of
static Labels of(String key1, String value1, String key2, String value2, String key3, String value3, String key4, String value4)
Returns aLabels
instance with four key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed.
-
of
static Labels of(String key1, String value1, String key2, String value2, String key3, String value3, String key4, String value4, String key5, String value5)
Returns aLabels
instance with five key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed.
-
of
static Labels of(String... keyValueLabelPairs)
Returns aLabels
instance with the providedkeyValueLabelPairs
.
-
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 givenkey
, ornull
if the key is not present.
-
isEmpty
boolean isEmpty()
Returns whether this instance is empty (contains no labels).
-
toBuilder
LabelsBuilder toBuilder()
Create aLabelsBuilder
pre-populated with the contents of this Labels instance.
-
-