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 
17 namespace sdk
18 {
19 namespace metrics
20 {
21 
22 class MetricReader;
23 class MeterContext;
24 
26 {
27 public:
28  CollectorHandle() = default;
29  virtual ~CollectorHandle() = default;
30 
32  InstrumentType instrument_type) noexcept = 0;
33 };
34 
42 {
43 public:
45  std::shared_ptr<MetricReader> metric_reader,
46  std::unique_ptr<MetricFilter> metric_filter = nullptr);
47 
48  ~MetricCollector() override = default;
49 
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
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