NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/sdk/metrics/data/point_data.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 <vector>
7 
8 #include "opentelemetry/common/timestamp.h"
9 #include "opentelemetry/nostd/variant.h"
10 #include "opentelemetry/sdk/metrics/data/circular_buffer.h"
11 #include "opentelemetry/version.h"
12 
14 namespace sdk
15 {
16 namespace metrics
17 {
18 
20 
21 // TODO: remove ctors and initializers from below classes when GCC<5 stops
22 // shipping on Ubuntu
23 
25 {
26 public:
27  // TODO: remove ctors and initializers when GCC<5 stops shipping on Ubuntu
28  SumPointData(SumPointData &&) = default;
29  SumPointData(const SumPointData &) = default;
30  SumPointData &operator=(SumPointData &&) = default;
31  SumPointData() = default;
32  SumPointData &operator=(const SumPointData &other) = default;
33  ~SumPointData() = default;
34 
36  bool is_monotonic_ = true;
37 };
38 
40 {
41 public:
42  // TODO: remove ctors and initializers when GCC<5 stops shipping on Ubuntu
44  LastValuePointData(const LastValuePointData &) = default;
46  LastValuePointData() = default;
47  LastValuePointData &operator=(const LastValuePointData &other) = default;
48  ~LastValuePointData() = default;
49 
52  opentelemetry::common::SystemTimestamp sample_ts_ = {};
53 };
54 
56 {
57 public:
58  // TODO: remove ctors and initializers when GCC<5 stops shipping on Ubuntu
61  HistogramPointData(const HistogramPointData &) = default;
62  HistogramPointData() = default;
63  HistogramPointData(const std::vector<double> &boundaries) : boundaries_(boundaries) {}
64  HistogramPointData &operator=(const HistogramPointData &other) = default;
65  ~HistogramPointData() = default;
66 
67  std::vector<double> boundaries_ = {};
71  std::vector<uint64_t> counts_ = {};
72  uint64_t count_ = {};
73  bool record_min_max_ = true;
74 };
75 
77 {
78 public:
81  default;
82 
84  : sum_(other.sum_),
85  min_(other.min_),
86  max_(other.max_),
88  count_(other.count_),
89  zero_count_(other.zero_count_),
91  scale_(other.scale_),
93  {
94  if (other.positive_buckets_)
95  {
96  positive_buckets_ = std::make_unique<AdaptingCircularBufferCounter>(*other.positive_buckets_);
97  }
98  if (other.negative_buckets_)
99  {
100  negative_buckets_ = std::make_unique<AdaptingCircularBufferCounter>(*other.negative_buckets_);
101  }
102  }
103 
105  {
106  if (this != &other)
107  {
108  sum_ = other.sum_;
109  min_ = other.min_;
110  max_ = other.max_;
112  count_ = other.count_;
113  zero_count_ = other.zero_count_;
114  max_buckets_ = other.max_buckets_;
115  scale_ = other.scale_;
117 
118  if (other.positive_buckets_)
119  {
121  std::make_unique<AdaptingCircularBufferCounter>(*other.positive_buckets_);
122  }
123  else
124  {
125  positive_buckets_.reset();
126  }
127 
128  if (other.negative_buckets_)
129  {
131  std::make_unique<AdaptingCircularBufferCounter>(*other.negative_buckets_);
132  }
133  else
134  {
135  negative_buckets_.reset();
136  }
137  }
138  return *this;
139  }
140 
141  // Default constructor
143 
144  // Members
145  double sum_ = {};
146  double min_ = {};
147  double max_ = {};
148  double zero_threshold_ = {};
149  uint64_t count_ = {};
150  uint64_t zero_count_ = {};
151  std::unique_ptr<AdaptingCircularBufferCounter> positive_buckets_ =
152  std::make_unique<AdaptingCircularBufferCounter>(0);
153  std::unique_ptr<AdaptingCircularBufferCounter> negative_buckets_ =
154  std::make_unique<AdaptingCircularBufferCounter>(0);
155  size_t max_buckets_ = {};
156  int32_t scale_ = {};
157  bool record_min_max_ = true;
158 };
159 
161 {
162 public:
163  // TODO: remove ctors and initializers when GCC<5 stops shipping on Ubuntu
164  DropPointData(DropPointData &&) = default;
165  DropPointData(const DropPointData &) = default;
166  DropPointData() = default;
167  DropPointData &operator=(DropPointData &&) = default;
168 };
169 
170 } // namespace metrics
171 } // namespace sdk
sdk::metrics::HistogramPointData
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:55
sdk::metrics::Base2ExponentialHistogramPointData::min_
double min_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:146
sdk::metrics::HistogramPointData::HistogramPointData
HistogramPointData(const std::vector< double > &boundaries)
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:63
sdk::metrics::Base2ExponentialHistogramPointData::operator=
Base2ExponentialHistogramPointData & operator=(const Base2ExponentialHistogramPointData &other)
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:104
absl::OTABSL_OPTION_NAMESPACE_NAME::variant
Definition: includes/opentelemetry/nostd/variant.h:61
sdk::metrics::Base2ExponentialHistogramPointData
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:76
sdk::metrics::DropPointData::DropPointData
DropPointData()=default
sdk::metrics::HistogramPointData::HistogramPointData
HistogramPointData()=default
sdk::metrics::SumPointData::value_
ValueType value_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:35
sdk::metrics::Base2ExponentialHistogramPointData::zero_threshold_
double zero_threshold_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:148
sdk::metrics::LastValuePointData::LastValuePointData
LastValuePointData()=default
sdk::metrics::DropPointData::operator=
DropPointData & operator=(DropPointData &&)=default
sdk::metrics::SumPointData::operator=
SumPointData & operator=(SumPointData &&)=default
sdk::metrics::HistogramPointData::min_
ValueType min_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:69
sdk::metrics::SumPointData
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:24
sdk::metrics::HistogramPointData::count_
uint64_t count_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:72
sdk::metrics::Base2ExponentialHistogramPointData::zero_count_
uint64_t zero_count_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:150
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
sdk::metrics::SumPointData::is_monotonic_
bool is_monotonic_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:36
sdk::metrics::HistogramPointData::~HistogramPointData
~HistogramPointData()=default
sdk::metrics::Base2ExponentialHistogramPointData::scale_
int32_t scale_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:156
sdk::metrics::Base2ExponentialHistogramPointData::negative_buckets_
std::unique_ptr< AdaptingCircularBufferCounter > negative_buckets_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:153
sdk::metrics::SumPointData::SumPointData
SumPointData()=default
sdk::metrics::HistogramPointData::boundaries_
std::vector< double > boundaries_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:67
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk::metrics::Base2ExponentialHistogramPointData::Base2ExponentialHistogramPointData
Base2ExponentialHistogramPointData(const Base2ExponentialHistogramPointData &other)
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:83
sdk::metrics::Base2ExponentialHistogramPointData::count_
uint64_t count_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:149
sdk::metrics::LastValuePointData::sample_ts_
opentelemetry::common::SystemTimestamp sample_ts_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:52
sdk::metrics::Base2ExponentialHistogramPointData::sum_
double sum_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:145
sdk::metrics::DropPointData
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:160
sdk::metrics::Base2ExponentialHistogramPointData::positive_buckets_
std::unique_ptr< AdaptingCircularBufferCounter > positive_buckets_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:151
sdk::metrics::Base2ExponentialHistogramPointData::record_min_max_
bool record_min_max_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:157
sdk::metrics::LastValuePointData
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:39
sdk::metrics::SumPointData::~SumPointData
~SumPointData()=default
sdk::metrics::HistogramPointData::sum_
ValueType sum_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:68
sdk::metrics::Base2ExponentialHistogramPointData::operator=
Base2ExponentialHistogramPointData & operator=(Base2ExponentialHistogramPointData &&) noexcept=default
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
sdk::metrics::HistogramPointData::max_
ValueType max_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:70
sdk::metrics::Base2ExponentialHistogramPointData::Base2ExponentialHistogramPointData
Base2ExponentialHistogramPointData()=default
sdk::metrics::LastValuePointData::is_lastvalue_valid_
bool is_lastvalue_valid_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:51
metrics
Definition: includes/opentelemetry/metrics/async_instruments.h:10
sdk::metrics::LastValuePointData::~LastValuePointData
~LastValuePointData()=default
sdk::metrics::HistogramPointData::record_min_max_
bool record_min_max_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:73
sdk::metrics::LastValuePointData::value_
ValueType value_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:50
sdk::metrics::HistogramPointData::operator=
HistogramPointData & operator=(HistogramPointData &&)=default
sdk::metrics::HistogramPointData::counts_
std::vector< uint64_t > counts_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:71
sdk::metrics::LastValuePointData::operator=
LastValuePointData & operator=(LastValuePointData &&)=default
sdk::metrics::Base2ExponentialHistogramPointData::max_buckets_
size_t max_buckets_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:155
sdk::metrics::Base2ExponentialHistogramPointData::max_
double max_
Definition: includes/opentelemetry/sdk/metrics/data/point_data.h:147