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
14
OPENTELEMETRY_BEGIN_NAMESPACE
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
28
void
AddCallback
(
opentelemetry::metrics::ObservableCallbackPtr
callback,
29
void
*state) noexcept
override
;
30
31
void
RemoveCallback
(
opentelemetry::metrics::ObservableCallbackPtr
callback,
32
void
*state) noexcept
override
;
33
34
const
InstrumentDescriptor
&
GetInstrumentDescriptor
();
35
36
AsyncWritableMetricStorage
*
GetMetricStorage
();
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
45
OPENTELEMETRY_END_NAMESPACE
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
Privacy Policy
|
Your Privacy Choices
|
Terms of Service
|
Accessibility
|
Corporate Policies
|
Product Security
|
Contact
© 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
NVIDIA Confidential | Subject to Change | For test and development only.
Wed Oct 28 2026 12:02:00 | PR-09318-R32