NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/exporters/ostream/metric_exporter.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 <atomic>
7 #include <chrono>
8 #include <iostream>
9 #include <map>
10 #include <mutex>
11 #include <string>
12 
13 #include "opentelemetry/sdk/common/attribute_utils.h"
14 #include "opentelemetry/sdk/common/exporter_utils.h"
15 #include "opentelemetry/sdk/metrics/data/metric_data.h"
16 #include "opentelemetry/sdk/metrics/export/metric_producer.h"
17 #include "opentelemetry/sdk/metrics/instruments.h"
18 #include "opentelemetry/sdk/metrics/push_metric_exporter.h"
19 #include "opentelemetry/sdk/resource/resource.h"
20 #include "opentelemetry/version.h"
21 
23 namespace exporter
24 {
25 namespace metrics
26 {
27 
31 class OStreamMetricExporter final : public opentelemetry::sdk::metrics::PushMetricExporter
32 {
33 public:
39  explicit OStreamMetricExporter(std::ostream &sout = std::cout,
40  sdk::metrics::AggregationTemporality aggregation_temporality =
42 
48 
55  sdk::metrics::InstrumentType instrument_type) const noexcept override;
56 
60  bool ForceFlush(
61  std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override;
62 
68  bool Shutdown(
69  std::chrono::microseconds timeout = (std::chrono::microseconds::max)()) noexcept override;
70 
71 private:
72  std::ostream &sout_;
73  std::atomic<bool> is_shutdown_{false};
74  std::mutex serialize_lock_;
75  sdk::metrics::AggregationTemporality aggregation_temporality_;
76  bool isShutdown() const noexcept;
77  void printInstrumentationInfoMetricData(const sdk::metrics::ScopeMetrics &info_metrics,
79  void printPointData(const opentelemetry::sdk::metrics::PointType &point_data);
80  void printPointAttributes(const opentelemetry::sdk::metrics::PointAttributes &point_attributes);
81  void printAttributes(const std::map<std::string, sdk::common::OwnedAttributeValue> &map,
82  const std::string &prefix);
83  void printResources(const opentelemetry::sdk::resource::Resource &resources);
84 };
85 } // namespace metrics
86 } // namespace exporter
sdk::common::ExportResult
ExportResult
ExportResult is returned as result of exporting a batch of Records.
Definition: includes/opentelemetry/sdk/common/exporter_utils.h:16
sdk::metrics::ScopeMetrics
Metric Data to be exported along with resources and Instrumentation scope.
Definition: includes/opentelemetry/sdk/metrics/export/metric_producer.h:36
exporter::metrics::OStreamMetricExporter::ForceFlush
bool ForceFlush(std::chrono::microseconds timeout=(std::chrono::microseconds::max)()) noexcept override
Force flush the exporter.
exporter::metrics::OStreamMetricExporter::Export
sdk::common::ExportResult Export(const sdk::metrics::ResourceMetrics &data) noexcept override
Export.
sdk::metrics::PointAttributes
opentelemetry::sdk::common::OrderedAttributeMap PointAttributes
Definition: includes/opentelemetry/sdk/metrics/data/metric_data.h:20
sdk::metrics::AggregationTemporality
AggregationTemporality
Definition: includes/opentelemetry/sdk/metrics/instruments.h:54
exporter
Definition: includes/opentelemetry/exporters/memory/in_memory_data.h:11
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
exporter::metrics::OStreamMetricExporter::GetAggregationTemporality
sdk::metrics::AggregationTemporality GetAggregationTemporality(sdk::metrics::InstrumentType instrument_type) const noexcept override
Get the AggregationTemporality for ostream exporter.
sdk::metrics::ResourceMetrics
Definition: includes/opentelemetry/sdk/metrics/export/metric_producer.h:55
max
int max(int a, int b)
Compute the component-wise maximum.
Definition: sources/libs/nvmultiobjecttracker/include/modules/cuDCFv2/helper_math.h:60
sdk::metrics::AggregationTemporality::kCumulative
@ kCumulative
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
exporter::metrics::OStreamMetricExporter::Shutdown
bool Shutdown(std::chrono::microseconds timeout=(std::chrono::microseconds::max)()) noexcept override
Shut down the exporter.
exporter::metrics::OStreamMetricExporter::OStreamMetricExporter
OStreamMetricExporter(std::ostream &sout=std::cout, sdk::metrics::AggregationTemporality aggregation_temporality=sdk::metrics::AggregationTemporality::kCumulative) noexcept
Create an OStreamMetricExporter.
exporter::metrics::OStreamMetricExporter
The OStreamMetricExporter exports record data through an ostream.
Definition: includes/opentelemetry/exporters/ostream/metric_exporter.h:31
metrics
Definition: includes/opentelemetry/metrics/async_instruments.h:10
data
JSAMPIMAGE data
Definition: sources/libs/nvll_batch_jpeg_encode/oss/jpeglib.h:967
sdk::metrics::PointType
opentelemetry::nostd::variant< SumPointData, HistogramPointData, Base2ExponentialHistogramPointData, LastValuePointData, DropPointData > PointType
Definition: includes/opentelemetry/sdk/metrics/data/metric_data.h:25
sdk::metrics::InstrumentType
InstrumentType
Definition: includes/opentelemetry/sdk/metrics/instruments.h:19