7 #include <unordered_map>
9 #include "opentelemetry/common/timestamp.h"
10 #include "opentelemetry/context/context.h"
11 #include "opentelemetry/nostd/function_ref.h"
12 #include "opentelemetry/nostd/span.h"
13 #include "opentelemetry/sdk/metrics/data/metric_data.h"
14 #include "opentelemetry/sdk/metrics/instruments.h"
15 #include "opentelemetry/sdk/metrics/state/attributes_hashmap.h"
16 #include "opentelemetry/version.h"
21 class KeyValueIterable;
30 class CollectorHandle;
40 nostd::span<std::shared_ptr<CollectorHandle>> collectors,
41 opentelemetry::common::SystemTimestamp sdk_start_ts,
42 opentelemetry::common::SystemTimestamp collection_ts,
51 const opentelemetry::context::Context &
context) noexcept = 0;
54 const opentelemetry::common::KeyValueIterable &attributes,
55 const opentelemetry::context::Context &
context) noexcept = 0;
58 const opentelemetry::context::Context &
context) noexcept = 0;
61 const opentelemetry::common::KeyValueIterable &attributes,
62 const opentelemetry::context::Context &
context) noexcept = 0;
76 const std::unordered_map<MetricAttributes, int64_t, AttributeHashGenerator> &measurements,
77 opentelemetry::common::SystemTimestamp observation_time) noexcept = 0;
80 const std::unordered_map<MetricAttributes, double, AttributeHashGenerator> &measurements,
81 opentelemetry::common::SystemTimestamp observation_time) noexcept = 0;
89 opentelemetry::common::SystemTimestamp ,
90 opentelemetry::common::SystemTimestamp ,
102 const opentelemetry::context::Context &
context) noexcept
override = 0;
105 const opentelemetry::common::KeyValueIterable & ,
106 const opentelemetry::context::Context & ) noexcept
override
110 const opentelemetry::context::Context & ) noexcept
override
114 const opentelemetry::common::KeyValueIterable & ,
115 const opentelemetry::context::Context & ) noexcept
override
122 void RecordLong(
const std::unordered_map<MetricAttributes, int64_t, AttributeHashGenerator>
124 opentelemetry::common::SystemTimestamp ) noexcept
override
127 void RecordDouble(
const std::unordered_map<MetricAttributes, double, AttributeHashGenerator>
129 opentelemetry::common::SystemTimestamp ) noexcept
override