NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/sdk/metrics/async_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 <memory>
7 
8 #include "opentelemetry/metrics/async_instruments.h"
9 #include "opentelemetry/sdk/metrics/instruments.h"
10 #include "opentelemetry/sdk/metrics/state/metric_storage.h"
11 #include "opentelemetry/sdk/metrics/state/observable_registry.h"
12 #include "opentelemetry/version.h"
13 
15 namespace sdk
16 {
17 namespace metrics
18 {
19 
20 class ObservableInstrument : public opentelemetry::metrics::ObservableInstrument
21 {
22 public:
23  ObservableInstrument(InstrumentDescriptor instrument_descriptor,
24  std::unique_ptr<AsyncWritableMetricStorage> storage,
25  std::shared_ptr<ObservableRegistry> observable_registry);
26  ~ObservableInstrument() override;
27 
29  void *state) noexcept override;
30 
32  void *state) noexcept override;
33 
35 
37 
38 private:
39  InstrumentDescriptor instrument_descriptor_;
40  std::unique_ptr<AsyncWritableMetricStorage> storage_;
41  std::shared_ptr<ObservableRegistry> observable_registry_;
42 };
43 } // namespace metrics
44 } // namespace sdk
sdk::metrics::ObservableInstrument::ObservableInstrument
ObservableInstrument(InstrumentDescriptor instrument_descriptor, std::unique_ptr< AsyncWritableMetricStorage > storage, std::shared_ptr< ObservableRegistry > observable_registry)
sdk::metrics::ObservableInstrument
Definition: includes/opentelemetry/sdk/metrics/async_instruments.h:20
sdk::metrics::ObservableInstrument::~ObservableInstrument
~ObservableInstrument() override
sdk::metrics::ObservableInstrument::RemoveCallback
void RemoveCallback(opentelemetry::metrics::ObservableCallbackPtr callback, void *state) noexcept override
sdk::metrics::AsyncWritableMetricStorage
Definition: includes/opentelemetry/sdk/metrics/state/metric_storage.h:68
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
metrics::ObservableCallbackPtr
void(*)(ObserverResult, void *) ObservableCallbackPtr
Definition: includes/opentelemetry/metrics/async_instruments.h:13
sdk::metrics::ObservableInstrument::GetInstrumentDescriptor
const InstrumentDescriptor & GetInstrumentDescriptor()
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk::metrics::ObservableInstrument::GetMetricStorage
AsyncWritableMetricStorage * GetMetricStorage()
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
metrics
Definition: includes/opentelemetry/metrics/async_instruments.h:10
sdk::metrics::InstrumentDescriptor
Definition: includes/opentelemetry/sdk/metrics/instruments.h:61
sdk::metrics::ObservableInstrument::AddCallback
void AddCallback(opentelemetry::metrics::ObservableCallbackPtr callback, void *state) noexcept override