NVIDIA DeepStream SDK API Reference

9.2 Release
9.2/includes/opentelemetry/sdk/metrics/view/view.h
Go to the documentation of this file.
1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
3 
4 #pragma once
5 
6 #include <memory>
7 #include <string>
8 
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"
13 
15 namespace sdk
16 {
17 namespace metrics
18 {
24 class View
25 {
26 public:
27  View(const std::string &name,
28  const std::string &description = "",
29  AggregationType aggregation_type = AggregationType::kDefault,
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()))
34  : name_(name),
35  description_(description),
36  aggregation_type_{aggregation_type},
37  aggregation_config_{aggregation_config},
38  attributes_processor_{std::move(attributes_processor)}
39  {}
40 
41  virtual ~View() = default;
42 
43  virtual std::string GetName() const noexcept { return name_; }
44 
45  virtual std::string GetDescription() const noexcept { return description_; }
46 
47  virtual AggregationType GetAggregationType() const noexcept { return aggregation_type_; }
48 
49  virtual AggregationConfig *GetAggregationConfig() const noexcept
50  {
51  return aggregation_config_.get();
52  }
53 
54  virtual std::shared_ptr<const opentelemetry::sdk::metrics::AttributesProcessor>
55  GetAttributesProcessor() const noexcept
56  {
57  return attributes_processor_;
58  }
59 
60 private:
61  std::string name_;
62  std::string description_;
63  AggregationType aggregation_type_;
64  std::shared_ptr<AggregationConfig> aggregation_config_;
65  std::shared_ptr<AttributesProcessor> attributes_processor_;
66 };
67 } // namespace metrics
68 } // namespace sdk
sdk::metrics::AggregationType
AggregationType
Definition: includes/opentelemetry/sdk/metrics/instruments.h:44
sdk::metrics::View::GetAggregationConfig
virtual AggregationConfig * GetAggregationConfig() const noexcept
Definition: 9.2/includes/opentelemetry/sdk/metrics/view/view.h:49
sdk::metrics::AggregationConfig
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:16
sdk::metrics::View::~View
virtual ~View()=default
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
sdk::metrics::View::View
View(const std::string &name, const std::string &description="", AggregationType aggregation_type=AggregationType::kDefault, std::shared_ptr< AggregationConfig > aggregation_config=nullptr, std::unique_ptr< opentelemetry::sdk::metrics::AttributesProcessor > attributes_processor=std::unique_ptr< opentelemetry::sdk::metrics::AttributesProcessor >(new opentelemetry::sdk::metrics::DefaultAttributesProcessor()))
Definition: 9.2/includes/opentelemetry/sdk/metrics/view/view.h:27
sdk::metrics::View::GetDescription
virtual std::string GetDescription() const noexcept
Definition: 9.2/includes/opentelemetry/sdk/metrics/view/view.h:45
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk::metrics::View::GetAttributesProcessor
virtual std::shared_ptr< const opentelemetry::sdk::metrics::AttributesProcessor > GetAttributesProcessor() const noexcept
Definition: 9.2/includes/opentelemetry/sdk/metrics/view/view.h:55
absl::move
constexpr absl::OTABSL_OPTION_NAMESPACE_NAME::remove_reference_t< T > && move(T &&t) noexcept
Definition: includes/opentelemetry/nostd/internal/absl/utility/utility.h:199
sdk::metrics::View::GetAggregationType
virtual AggregationType GetAggregationType() const noexcept
Definition: 9.2/includes/opentelemetry/sdk/metrics/view/view.h:47
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
metrics
Definition: includes/opentelemetry/metrics/async_instruments.h:10
sdk::metrics::View::GetName
virtual std::string GetName() const noexcept
Definition: 9.2/includes/opentelemetry/sdk/metrics/view/view.h:43
sdk::metrics::AggregationType::kDefault
@ kDefault