NVIDIA DeepStream SDK API Reference

9.2 Release
9.2/includes/opentelemetry/sdk/metrics/sync_instruments.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 <stdint.h>
7 #include <memory>
8 #include <utility>
9 
10 #include "opentelemetry/common/key_value_iterable.h"
11 #include "opentelemetry/context/context.h"
12 #include "opentelemetry/metrics/sync_instruments.h"
13 #include "opentelemetry/sdk/metrics/instruments.h"
14 #include "opentelemetry/sdk/metrics/state/metric_storage.h"
15 #include "opentelemetry/version.h"
16 
18 namespace sdk
19 {
20 namespace metrics
21 {
22 
23 class Synchronous
24 {
25 public:
26  Synchronous(InstrumentDescriptor instrument_descriptor,
27  std::unique_ptr<SyncWritableMetricStorage> storage)
28  : instrument_descriptor_(instrument_descriptor), storage_(std::move(storage))
29  {}
30 
31 protected:
33  std::unique_ptr<SyncWritableMetricStorage> storage_;
34 };
35 
36 class LongCounter : public Synchronous, public opentelemetry::metrics::Counter<uint64_t>
37 {
38 public:
39  LongCounter(const InstrumentDescriptor &instrument_descriptor,
40  std::unique_ptr<SyncWritableMetricStorage> storage);
41 
42  void Add(uint64_t value,
43  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
44 
45  void Add(uint64_t value,
46  const opentelemetry::common::KeyValueIterable &attributes,
47  const opentelemetry::context::Context &context) noexcept override;
48 
49  void Add(uint64_t value) noexcept override;
50 
51  void Add(uint64_t value, const opentelemetry::context::Context &context) noexcept override;
52 };
53 
54 class DoubleCounter : public Synchronous, public opentelemetry::metrics::Counter<double>
55 {
56 
57 public:
58  DoubleCounter(const InstrumentDescriptor &instrument_descriptor,
59  std::unique_ptr<SyncWritableMetricStorage> storage);
60 
61  void Add(double value,
62  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
63  void Add(double value,
64  const opentelemetry::common::KeyValueIterable &attributes,
65  const opentelemetry::context::Context &context) noexcept override;
66 
67  void Add(double value) noexcept override;
68  void Add(double value, const opentelemetry::context::Context &context) noexcept override;
69 };
70 
71 class LongUpDownCounter : public Synchronous, public opentelemetry::metrics::UpDownCounter<int64_t>
72 {
73 public:
74  LongUpDownCounter(const InstrumentDescriptor &instrument_descriptor,
75  std::unique_ptr<SyncWritableMetricStorage> storage);
76 
77  void Add(int64_t value,
78  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
79  void Add(int64_t value,
80  const opentelemetry::common::KeyValueIterable &attributes,
81  const opentelemetry::context::Context &context) noexcept override;
82 
83  void Add(int64_t value) noexcept override;
84  void Add(int64_t value, const opentelemetry::context::Context &context) noexcept override;
85 };
86 
87 class DoubleUpDownCounter : public Synchronous, public opentelemetry::metrics::UpDownCounter<double>
88 {
89 public:
90  DoubleUpDownCounter(const InstrumentDescriptor &instrument_descriptor,
91  std::unique_ptr<SyncWritableMetricStorage> storage);
92 
93  void Add(double value,
94  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
95  void Add(double value,
96  const opentelemetry::common::KeyValueIterable &attributes,
97  const opentelemetry::context::Context &context) noexcept override;
98 
99  void Add(double value) noexcept override;
100  void Add(double value, const opentelemetry::context::Context &context) noexcept override;
101 };
102 
103 #if OPENTELEMETRY_ABI_VERSION_NO >= 2
104 class LongGauge : public Synchronous, public opentelemetry::metrics::Gauge<int64_t>
105 {
106 public:
107  LongGauge(const InstrumentDescriptor &instrument_descriptor,
108  std::unique_ptr<SyncWritableMetricStorage> storage);
109 
110  void Record(int64_t value,
111  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
112  void Record(int64_t value,
113  const opentelemetry::common::KeyValueIterable &attributes,
114  const opentelemetry::context::Context &context) noexcept override;
115 
116  void Record(int64_t value) noexcept override;
117  void Record(int64_t value, const opentelemetry::context::Context &context) noexcept override;
118 };
119 
120 class DoubleGauge : public Synchronous, public opentelemetry::metrics::Gauge<double>
121 {
122 public:
123  DoubleGauge(const InstrumentDescriptor &instrument_descriptor,
124  std::unique_ptr<SyncWritableMetricStorage> storage);
125 
126  void Record(double value,
127  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
128  void Record(double value,
129  const opentelemetry::common::KeyValueIterable &attributes,
130  const opentelemetry::context::Context &context) noexcept override;
131 
132  void Record(double value) noexcept override;
133  void Record(double value, const opentelemetry::context::Context &context) noexcept override;
134 };
135 #endif
136 
137 class LongHistogram : public Synchronous, public opentelemetry::metrics::Histogram<uint64_t>
138 {
139 public:
140  LongHistogram(const InstrumentDescriptor &instrument_descriptor,
141  std::unique_ptr<SyncWritableMetricStorage> storage);
142 
143 #if OPENTELEMETRY_ABI_VERSION_NO >= 2
144  void Record(uint64_t value,
145  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
146 
147  void Record(uint64_t value) noexcept override;
148 #endif
149 
150  void Record(uint64_t value,
151  const opentelemetry::common::KeyValueIterable &attributes,
152  const opentelemetry::context::Context &context) noexcept override;
153 
154  void Record(uint64_t value, const opentelemetry::context::Context &context) noexcept override;
155 };
156 
157 class DoubleHistogram : public Synchronous, public opentelemetry::metrics::Histogram<double>
158 {
159 public:
160  DoubleHistogram(const InstrumentDescriptor &instrument_descriptor,
161  std::unique_ptr<SyncWritableMetricStorage> storage);
162 
163 #if OPENTELEMETRY_ABI_VERSION_NO >= 2
164  void Record(double value,
165  const opentelemetry::common::KeyValueIterable &attributes) noexcept override;
166 
167  void Record(double value) noexcept override;
168 #endif
169 
170  void Record(double value,
171  const opentelemetry::common::KeyValueIterable &attributes,
172  const opentelemetry::context::Context &context) noexcept override;
173 
174  void Record(double value, const opentelemetry::context::Context &context) noexcept override;
175 };
176 
177 } // namespace metrics
178 } // namespace sdk
sdk::metrics::DoubleUpDownCounter::Add
void Add(double value, const opentelemetry::common::KeyValueIterable &attributes) noexcept override
sdk::metrics::LongUpDownCounter::Add
void Add(int64_t value, const opentelemetry::common::KeyValueIterable &attributes) noexcept override
sdk::metrics::LongUpDownCounter::LongUpDownCounter
LongUpDownCounter(const InstrumentDescriptor &instrument_descriptor, std::unique_ptr< SyncWritableMetricStorage > storage)
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
sdk::metrics::LongCounter::Add
void Add(uint64_t value, const opentelemetry::common::KeyValueIterable &attributes) noexcept override
context
Definition: includes/opentelemetry/context/context.h:16
sdk::metrics::LongHistogram::LongHistogram
LongHistogram(const InstrumentDescriptor &instrument_descriptor, std::unique_ptr< SyncWritableMetricStorage > storage)
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
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::DoubleCounter::DoubleCounter
DoubleCounter(const InstrumentDescriptor &instrument_descriptor, std::unique_ptr< SyncWritableMetricStorage > storage)
sdk::metrics::Synchronous::Synchronous
Synchronous(InstrumentDescriptor instrument_descriptor, std::unique_ptr< SyncWritableMetricStorage > storage)
Definition: 9.2/includes/opentelemetry/sdk/metrics/sync_instruments.h:26
sdk::metrics::DoubleHistogram::Record
void Record(double value, const opentelemetry::common::KeyValueIterable &attributes, const opentelemetry::context::Context &context) noexcept override
sdk::metrics::Synchronous::storage_
std::unique_ptr< SyncWritableMetricStorage > storage_
Definition: includes/opentelemetry/sdk/metrics/sync_instruments.h:33
sdk::metrics::LongCounter::LongCounter
LongCounter(const InstrumentDescriptor &instrument_descriptor, std::unique_ptr< SyncWritableMetricStorage > storage)
sdk::metrics::DoubleHistogram::DoubleHistogram
DoubleHistogram(const InstrumentDescriptor &instrument_descriptor, std::unique_ptr< SyncWritableMetricStorage > storage)
std
Extensions to the C++ standard library.
Definition: includes/opentelemetry/nostd/string_view.h:212
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
sdk::metrics::LongHistogram::Record
void Record(uint64_t value, const opentelemetry::common::KeyValueIterable &attributes, const opentelemetry::context::Context &context) noexcept override
metrics
Definition: includes/opentelemetry/metrics/async_instruments.h:10
sdk::metrics::InstrumentDescriptor
Definition: includes/opentelemetry/sdk/metrics/instruments.h:61
sdk::metrics::Synchronous::instrument_descriptor_
InstrumentDescriptor instrument_descriptor_
Definition: includes/opentelemetry/sdk/metrics/sync_instruments.h:32
sdk::metrics::DoubleUpDownCounter::DoubleUpDownCounter
DoubleUpDownCounter(const InstrumentDescriptor &instrument_descriptor, std::unique_ptr< SyncWritableMetricStorage > storage)
sdk::metrics::DoubleCounter::Add
void Add(double value, const opentelemetry::common::KeyValueIterable &attributes) noexcept override