NVIDIA DeepStream SDK API Reference
9.2 Release
includes/opentelemetry/sdk/metrics/state/metric_collector.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 <chrono>
7
#include <memory>
8
9
#include "opentelemetry/nostd/function_ref.h"
10
#include "opentelemetry/sdk/metrics/export/metric_filter.h"
11
#include "opentelemetry/sdk/metrics/export/metric_producer.h"
12
#include "opentelemetry/sdk/metrics/instruments.h"
13
#include "opentelemetry/sdk/metrics/metric_reader.h"
14
#include "opentelemetry/version.h"
15
16
OPENTELEMETRY_BEGIN_NAMESPACE
17
namespace
sdk
18
{
19
namespace
metrics
20
{
21
22
class
MetricReader;
23
class
MeterContext;
24
25
class
CollectorHandle
26
{
27
public
:
28
CollectorHandle
() =
default
;
29
virtual
~CollectorHandle
() =
default
;
30
31
virtual
AggregationTemporality
GetAggregationTemporality
(
32
InstrumentType
instrument_type) noexcept = 0;
33
};
34
41
class
MetricCollector
:
public
MetricProducer
,
public
CollectorHandle
42
{
43
public
:
44
MetricCollector
(
MeterContext
*
context
,
45
std::shared_ptr<MetricReader> metric_reader,
46
std::unique_ptr<MetricFilter> metric_filter =
nullptr
);
47
48
~MetricCollector
()
override
=
default
;
49
50
AggregationTemporality
GetAggregationTemporality
(
51
InstrumentType
instrument_type) noexcept
override
;
52
59
Result
Produce
() noexcept
override
;
60
61
bool
ForceFlush
(std::chrono::microseconds timeout = (
std::chrono::microseconds::max
)()) noexcept;
62
63
bool
Shutdown
(std::chrono::microseconds timeout = (
std::chrono::microseconds::max
)()) noexcept;
64
65
private
:
66
MeterContext
*meter_context_;
67
std::shared_ptr<MetricReader> metric_reader_;
68
std::unique_ptr<MetricFilter> metric_filter_;
69
};
70
}
// namespace metrics
71
}
// namespace sdk
72
OPENTELEMETRY_END_NAMESPACE
sdk::metrics::MetricCollector::ForceFlush
bool ForceFlush(std::chrono::microseconds timeout=(std::chrono::microseconds::max)()) noexcept
sdk::metrics::MetricCollector::GetAggregationTemporality
AggregationTemporality GetAggregationTemporality(InstrumentType instrument_type) noexcept override
sdk::metrics::CollectorHandle
Definition:
includes/opentelemetry/sdk/metrics/state/metric_collector.h:25
sdk::metrics::AggregationTemporality
AggregationTemporality
Definition:
includes/opentelemetry/sdk/metrics/instruments.h:54
sdk::metrics::CollectorHandle::CollectorHandle
CollectorHandle()=default
sdk::metrics::MeterContext
A class which stores the MeterProvider context.
Definition:
includes/opentelemetry/sdk/metrics/meter_context.h:54
sdk::metrics::CollectorHandle::~CollectorHandle
virtual ~CollectorHandle()=default
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition:
includes/opentelemetry/version.h:21
sdk::metrics::MetricCollector::Produce
Result Produce() noexcept override
The callback to be called for each metric exporter.
sdk::metrics::MetricProducer::Result
Definition:
includes/opentelemetry/sdk/metrics/export/metric_producer.h:98
context
Definition:
includes/opentelemetry/context/context.h:16
sdk::metrics::MetricProducer
MetricProducer defines the interface which bridges to third-party metric sources MUST implement,...
Definition:
includes/opentelemetry/sdk/metrics/export/metric_producer.h:82
sdk::metrics::MetricCollector::MetricCollector
MetricCollector(MeterContext *context, std::shared_ptr< MetricReader > metric_reader, std::unique_ptr< MetricFilter > metric_filter=nullptr)
max
int max(int a, int b)
Compute the component-wise maximum.
Definition:
sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:60
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition:
includes/opentelemetry/version.h:24
sdk::metrics::MetricCollector::Shutdown
bool Shutdown(std::chrono::microseconds timeout=(std::chrono::microseconds::max)()) noexcept
sdk
Definition:
includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
metrics
Definition:
includes/opentelemetry/metrics/async_instruments.h:10
sdk::metrics::CollectorHandle::GetAggregationTemporality
virtual AggregationTemporality GetAggregationTemporality(InstrumentType instrument_type) noexcept=0
sdk::metrics::InstrumentType
InstrumentType
Definition:
includes/opentelemetry/sdk/metrics/instruments.h:19
sdk::metrics::MetricCollector
An internal opaque interface that the MetricReader receives as MetricProducer.
Definition:
includes/opentelemetry/sdk/metrics/state/metric_collector.h:41
sdk::metrics::MetricCollector::~MetricCollector
~MetricCollector() override=default
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:10 | PR-09318-R32