Class AttributesHashMap
Defined in File attributes_hashmap.h
Class Documentation
-
class AttributesHashMap
Public Functions
-
inline AttributesHashMap(size_t attributes_limit = kAggregationCardinalityLimit)
-
inline Aggregation *Get(size_t hash) const
-
inline bool Has(size_t hash) const
- Returns:
check if key is present in hash
-
inline Aggregation *GetOrSetDefault(const opentelemetry::common::KeyValueIterable &attributes, const AttributesProcessor *attributes_processor, std::function<std::unique_ptr<Aggregation>()> aggregation_callback, size_t hash)
- Returns:
the pointer to value for given key if present. If not present, it uses the provided callback to generate value and store in the hash
-
inline Aggregation *GetOrSetDefault(std::function<std::unique_ptr<Aggregation>()> aggregation_callback, size_t hash)
-
inline Aggregation *GetOrSetDefault(const MetricAttributes &attributes, std::function<std::unique_ptr<Aggregation>()> aggregation_callback, size_t hash)
-
inline void Set(const opentelemetry::common::KeyValueIterable &attributes, const AttributesProcessor *attributes_processor, std::unique_ptr<Aggregation> aggr, size_t hash)
Set the value for given key, overwriting the value if already present
-
inline void Set(const MetricAttributes &attributes, std::unique_ptr<Aggregation> aggr, size_t hash)
-
inline bool GetAllEnteries(nostd::function_ref<bool(const MetricAttributes&, Aggregation&)> callback) const
Iterate the hash to yield key and value stored in hash.
-
inline size_t Size()
Return the size of hash.
-
inline AttributesHashMap(size_t attributes_limit = kAggregationCardinalityLimit)