NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/exporters/otlp/otlp_metric_utils.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 "opentelemetry/exporters/otlp/otlp_preferred_temporality.h"
7 #include "opentelemetry/sdk/metrics/data/metric_data.h"
8 #include "opentelemetry/sdk/metrics/export/metric_producer.h"
9 #include "opentelemetry/sdk/metrics/instruments.h"
10 #include "opentelemetry/version.h"
11 
12 // clang-format off
13 #include "opentelemetry/exporters/otlp/protobuf_include_prefix.h" // IWYU pragma: keep
14 #include "opentelemetry/proto/metrics/v1/metrics.pb.h"
15 #include "opentelemetry/exporters/otlp/protobuf_include_suffix.h" // IWYU pragma: keep
16 // clang-format on
17 
18 namespace opentelemetry
19 {
20 namespace proto
21 {
22 namespace collector
23 {
24 namespace metrics
25 {
26 namespace v1
27 {
28 class ExportMetricsServiceRequest;
29 }
30 } // namespace metrics
31 } // namespace collector
32 } // namespace proto
33 } // namespace opentelemetry
34 
36 namespace exporter
37 {
38 namespace otlp
39 {
44 {
45 public:
47  const opentelemetry::sdk::metrics::MetricData &metric_data) noexcept;
48 
50  const opentelemetry::sdk::metrics::AggregationTemporality &aggregation_temporality) noexcept;
51 
52  static void ConvertSumMetric(const opentelemetry::sdk::metrics::MetricData &metric_data,
53  proto::metrics::v1::Sum *const sum) noexcept;
54 
55  static void ConvertHistogramMetric(const opentelemetry::sdk::metrics::MetricData &metric_data,
56  proto::metrics::v1::Histogram *const histogram) noexcept;
57 
59  const opentelemetry::sdk::metrics::MetricData &metric_data,
60  proto::metrics::v1::ExponentialHistogram *const histogram) noexcept;
61 
62  static void ConvertGaugeMetric(const opentelemetry::sdk::metrics::MetricData &metric_data,
63  proto::metrics::v1::Gauge *const gauge) noexcept;
64 
66  const opentelemetry::sdk::metrics::MetricData &metric_data,
67  proto::metrics::v1::Metric *metric) noexcept;
68 
69  static void PopulateResourceMetrics(
70  const opentelemetry::sdk::metrics::ResourceMetrics &data,
71  proto::metrics::v1::ResourceMetrics *proto_resource_metrics) noexcept;
72 
73  static void PopulateRequest(
74  const opentelemetry::sdk::metrics::ResourceMetrics &data,
75  proto::collector::metrics::v1::ExportMetricsServiceRequest *request) noexcept;
76 
78  PreferredAggregationTemporality preferred_aggregation_temporality) noexcept;
80  sdk::metrics::InstrumentType instrument_type) noexcept;
82  sdk::metrics::InstrumentType instrument_type) noexcept;
84  sdk::metrics::InstrumentType instrument_type) noexcept;
85 };
86 
87 } // namespace otlp
88 } // namespace exporter
exporter::otlp::OtlpMetricUtils::ConvertGaugeMetric
static void ConvertGaugeMetric(const opentelemetry::sdk::metrics::MetricData &metric_data, proto::metrics::v1::Gauge *const gauge) noexcept
exporter::otlp::OtlpMetricUtils::PopulateRequest
static void PopulateRequest(const opentelemetry::sdk::metrics::ResourceMetrics &data, proto::collector::metrics::v1::ExportMetricsServiceRequest *request) noexcept
sdk::metrics::AggregationType
AggregationType
Definition: includes/opentelemetry/sdk/metrics/instruments.h:44
sdk::metrics::AggregationTemporality
AggregationTemporality
Definition: includes/opentelemetry/sdk/metrics/instruments.h:54
exporter::otlp::OtlpMetricUtils::PopulateInstrumentInfoMetrics
static void PopulateInstrumentInfoMetrics(const opentelemetry::sdk::metrics::MetricData &metric_data, proto::metrics::v1::Metric *metric) noexcept
exporter
Definition: includes/opentelemetry/exporters/memory/in_memory_data.h:11
opentelemetry::proto::metrics::v1::AggregationTemporality
AggregationTemporality
Definition: includes/opentelemetry/proto/metrics/v1/metrics.pb.h:129
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
sdk::metrics::AggregationTemporalitySelector
std::function< AggregationTemporality(InstrumentType)> AggregationTemporalitySelector
Definition: includes/opentelemetry/sdk/metrics/instruments.h:218
exporter::otlp::OtlpMetricUtils::LowMemoryTemporalitySelector
static sdk::metrics::AggregationTemporality LowMemoryTemporalitySelector(sdk::metrics::InstrumentType instrument_type) noexcept
exporter::otlp::OtlpMetricUtils::DeltaTemporalitySelector
static sdk::metrics::AggregationTemporality DeltaTemporalitySelector(sdk::metrics::InstrumentType instrument_type) noexcept
exporter::otlp::OtlpMetricUtils::GetProtoAggregationTemporality
static proto::metrics::v1::AggregationTemporality GetProtoAggregationTemporality(const opentelemetry::sdk::metrics::AggregationTemporality &aggregation_temporality) noexcept
exporter::otlp::OtlpMetricUtils::ConvertSumMetric
static void ConvertSumMetric(const opentelemetry::sdk::metrics::MetricData &metric_data, proto::metrics::v1::Sum *const sum) noexcept
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
exporter::otlp::OtlpMetricUtils::CumulativeTemporalitySelector
static sdk::metrics::AggregationTemporality CumulativeTemporalitySelector(sdk::metrics::InstrumentType instrument_type) noexcept
exporter::otlp::OtlpMetricUtils
The OtlpMetricUtils contains utility functions for OTLP metrics.
Definition: includes/opentelemetry/exporters/otlp/otlp_metric_utils.h:43
exporter::otlp::OtlpMetricUtils::ConvertExponentialHistogramMetric
static void ConvertExponentialHistogramMetric(const opentelemetry::sdk::metrics::MetricData &metric_data, proto::metrics::v1::ExponentialHistogram *const histogram) noexcept
exporter::otlp::OtlpMetricUtils::ChooseTemporalitySelector
static sdk::metrics::AggregationTemporalitySelector ChooseTemporalitySelector(PreferredAggregationTemporality preferred_aggregation_temporality) noexcept
exporter::otlp::OtlpMetricUtils::PopulateResourceMetrics
static void PopulateResourceMetrics(const opentelemetry::sdk::metrics::ResourceMetrics &data, proto::metrics::v1::ResourceMetrics *proto_resource_metrics) noexcept
metrics
Definition: includes/opentelemetry/metrics/async_instruments.h:10
data
JSAMPIMAGE data
Definition: sources/libs/nvll_batch_jpeg_encode/oss/jpeglib.h:967
exporter::otlp::OtlpMetricUtils::ConvertHistogramMetric
static void ConvertHistogramMetric(const opentelemetry::sdk::metrics::MetricData &metric_data, proto::metrics::v1::Histogram *const histogram) noexcept
exporter::otlp::OtlpMetricUtils::GetAggregationType
static opentelemetry::sdk::metrics::AggregationType GetAggregationType(const opentelemetry::sdk::metrics::MetricData &metric_data) noexcept
sdk::metrics::InstrumentType
InstrumentType
Definition: includes/opentelemetry/sdk/metrics/instruments.h:19
opentelemetry
Definition: includes/opentelemetry/exporters/otlp/otlp_grpc_client.h:38
exporter::otlp::PreferredAggregationTemporality
PreferredAggregationTemporality
Definition: includes/opentelemetry/exporters/otlp/otlp_preferred_temporality.h:13