10 #include "opentelemetry/metrics/meter.h"
11 #include "opentelemetry/metrics/meter_provider.h"
12 #include "opentelemetry/nostd/shared_ptr.h"
13 #include "opentelemetry/nostd/string_view.h"
14 #include "opentelemetry/sdk/metrics/export/metric_filter.h"
15 #include "opentelemetry/sdk/metrics/meter_context.h"
16 #include "opentelemetry/sdk/metrics/metric_reader.h"
17 #include "opentelemetry/sdk/metrics/view/instrument_selector.h"
18 #include "opentelemetry/sdk/metrics/view/meter_selector.h"
19 #include "opentelemetry/sdk/metrics/view/view.h"
20 #include "opentelemetry/sdk/metrics/view/view_registry.h"
21 #include "opentelemetry/sdk/resource/resource.h"
22 #include "opentelemetry/version.h"
24 #include "opentelemetry/sdk/instrumentationscope/scope_configurator.h"
25 #include "opentelemetry/sdk/metrics/meter.h"
27 #ifdef ENABLE_METRICS_EXEMPLAR_PREVIEW
28 # include "opentelemetry/sdk/metrics/exemplar/filter_type.h"
48 std::unique_ptr<ViewRegistry> views = std::unique_ptr<ViewRegistry>(
new ViewRegistry()),
64 using opentelemetry::metrics::MeterProvider::GetMeter;
66 #if OPENTELEMETRY_ABI_VERSION_NO >= 2
71 const opentelemetry::common::KeyValueIterable *attributes) noexcept
override;
79 #if OPENTELEMETRY_ABI_VERSION_NO >= 2
102 void AddMetricReader(std::shared_ptr<MetricReader> reader,
103 std::unique_ptr<MetricFilter> metric_filter =
nullptr) noexcept;
113 void AddView(std::unique_ptr<InstrumentSelector> instrument_selector,
114 std::unique_ptr<MeterSelector> meter_selector,
115 std::unique_ptr<View> view) noexcept;
117 #ifdef ENABLE_METRICS_EXEMPLAR_PREVIEW
119 void SetExemplarFilter(metrics::ExemplarFilterType exemplar_filter_type =
120 metrics::ExemplarFilterType::kTraceBased) noexcept;
137 std::shared_ptr<MeterContext> context_;