9 #include "opentelemetry/sdk/metrics/aggregation/aggregation_config.h"
10 #include "opentelemetry/sdk/metrics/instruments.h"
11 #include "opentelemetry/sdk/metrics/view/attributes_processor.h"
12 #include "opentelemetry/version.h"
27 View(
const std::string &name,
28 const std::string &description =
"",
30 std::shared_ptr<AggregationConfig> aggregation_config =
nullptr,
31 std::unique_ptr<opentelemetry::sdk::metrics::AttributesProcessor> attributes_processor =
32 std::unique_ptr<opentelemetry::sdk::metrics::AttributesProcessor>(
33 new opentelemetry::sdk::metrics::DefaultAttributesProcessor()))
35 description_(description),
36 aggregation_type_{aggregation_type},
37 aggregation_config_{aggregation_config},
38 attributes_processor_{
std::move(attributes_processor)}
41 virtual ~View() =
default;
43 virtual std::string
GetName() const noexcept {
return name_; }
51 return aggregation_config_.get();
54 virtual std::shared_ptr<const opentelemetry::sdk::metrics::AttributesProcessor>
57 return attributes_processor_;
62 std::string description_;
64 std::shared_ptr<AggregationConfig> aggregation_config_;
65 std::shared_ptr<AttributesProcessor> attributes_processor_;