NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.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 <vector>
7 
8 #include "opentelemetry/sdk/metrics/state/attributes_hashmap.h"
9 #include "opentelemetry/version.h"
10 
12 namespace sdk
13 {
14 namespace metrics
15 {
17 {
18 public:
19  AggregationConfig(size_t cardinality_limit = kAggregationCardinalityLimit)
20  : cardinality_limit_(cardinality_limit)
21  {}
22 
23  static const AggregationConfig *GetOrDefault(const AggregationConfig *config)
24  {
25  if (config)
26  {
27  return config;
28  }
29  static const AggregationConfig default_config{};
30  return &default_config;
31  }
32 
34  virtual ~AggregationConfig() = default;
35 };
36 
38 {
39 public:
40  std::vector<double> boundaries_;
41  bool record_min_max_ = true;
42 };
43 
45 {
46 public:
47  size_t max_buckets_ = 160;
48  int32_t max_scale_ = 20;
49  bool record_min_max_ = true;
50 };
51 
52 } // namespace metrics
53 } // namespace sdk
sdk::metrics::Base2ExponentialHistogramAggregationConfig::max_buckets_
size_t max_buckets_
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:47
sdk::metrics::HistogramAggregationConfig::record_min_max_
bool record_min_max_
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:41
sdk::metrics::AggregationConfig
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:16
sdk::metrics::AggregationConfig::GetOrDefault
static const AggregationConfig * GetOrDefault(const AggregationConfig *config)
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:23
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
sdk::metrics::HistogramAggregationConfig::boundaries_
std::vector< double > boundaries_
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:40
sdk::metrics::Base2ExponentialHistogramAggregationConfig
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:44
sdk::metrics::Base2ExponentialHistogramAggregationConfig::record_min_max_
bool record_min_max_
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:49
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk::metrics::AggregationConfig::AggregationConfig
AggregationConfig(size_t cardinality_limit=kAggregationCardinalityLimit)
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:19
sdk::metrics::Base2ExponentialHistogramAggregationConfig::max_scale_
int32_t max_scale_
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:48
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
metrics
Definition: includes/opentelemetry/metrics/async_instruments.h:10
sdk::metrics::AggregationConfig::~AggregationConfig
virtual ~AggregationConfig()=default
sdk::metrics::HistogramAggregationConfig
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:37
sdk::metrics::kAggregationCardinalityLimit
constexpr size_t kAggregationCardinalityLimit
Definition: includes/opentelemetry/sdk/metrics/state/attributes_hashmap.h:30
sdk::metrics::AggregationConfig::cardinality_limit_
size_t cardinality_limit_
Definition: includes/opentelemetry/sdk/metrics/aggregation/aggregation_config.h:33