Package io.opentelemetry.api.common
Interface Attributes
@Immutable
public interface Attributes
An immutable container for attributes.
The keys are AttributeKeys and the values are Object instances that match the type of
the provided key.
Null keys will be silently dropped.
Note: The behavior of null-valued attributes is undefined, and hence strongly discouraged.
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 AttributesBuilder.
-
Method Summary
Modifier and TypeMethodDescriptionMap<AttributeKey<?>,Object> asMap()Returns a read-only view of thisAttributesas aMap.static AttributesBuilderbuilder()Returns a newAttributesBuilderinstance for creating arbitraryAttributes.static Attributesempty()Returns aAttributesinstance with no attributes.voidforEach(BiConsumer<? super AttributeKey<?>, ? super Object> consumer) Iterates over all the key-value pairs of attributes contained by this instance.<T> Tget(AttributeKey<T> key) Returns the value for the givenAttributeKey, ornullif not found.booleanisEmpty()Whether there are any attributes contained in this.static <T> Attributesof(AttributeKey<T> key, T value) Returns aAttributesinstance with a single key-value pair.static <T,U> Attributes of(AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2) Returns aAttributesinstance with two key-value pairs.static <T,U, V> Attributes of(AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3) Returns aAttributesinstance with three key-value pairs.static <T,U, V, W> Attributes of(AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3, AttributeKey<W> key4, W value4) Returns aAttributesinstance with four key-value pairs.static <T,U, V, W, X>
Attributesof(AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3, AttributeKey<W> key4, W value4, AttributeKey<X> key5, X value5) Returns aAttributesinstance with five key-value pairs.static <T,U, V, W, X, Y>
Attributesof(AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3, AttributeKey<W> key4, W value4, AttributeKey<X> key5, X value5, AttributeKey<Y> key6, Y value6) Returns aAttributesinstance with the given key-value pairs.intsize()The number of attributes contained in this.Returns a newAttributesBuilderinstance populated with the data of thisAttributes.
-
Method Details
-
get
Returns the value for the givenAttributeKey, ornullif not found. -
forEach
Iterates over all the key-value pairs of attributes contained by this instance. -
size
int size()The number of attributes contained in this. -
isEmpty
boolean isEmpty()Whether there are any attributes contained in this. -
asMap
Map<AttributeKey<?>,Object> asMap()Returns a read-only view of thisAttributesas aMap. -
empty
Returns aAttributesinstance with no attributes. -
of
Returns aAttributesinstance with a single key-value pair. -
of
Returns aAttributesinstance with two key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed. -
of
static <T,U, Attributes ofV> (AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3) Returns aAttributesinstance with three key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed. -
of
static <T,U, Attributes ofV, W> (AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3, AttributeKey<W> key4, W value4) Returns aAttributesinstance with four key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed. -
of
static <T,U, Attributes ofV, W, X> (AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3, AttributeKey<W> key4, W value4, AttributeKey<X> key5, X value5) Returns aAttributesinstance with five key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed. -
of
static <T,U, Attributes ofV, W, X, Y> (AttributeKey<T> key1, T value1, AttributeKey<U> key2, U value2, AttributeKey<V> key3, V value3, AttributeKey<W> key4, W value4, AttributeKey<X> key5, X value5, AttributeKey<Y> key6, Y value6) Returns aAttributesinstance with the given key-value pairs. Order of the keys is not preserved. Duplicate keys will be removed. -
builder
Returns a newAttributesBuilderinstance for creating arbitraryAttributes. -
toBuilder
AttributesBuilder toBuilder()Returns a newAttributesBuilderinstance populated with the data of thisAttributes.
-