NVIDIA DeepStream SDK API Reference

9.2 Release
9.2/includes/opentelemetry/sdk/configuration/configuration.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 <memory>
7 #include <string>
8 
9 #include "opentelemetry/sdk/configuration/attribute_limits_configuration.h"
10 #include "opentelemetry/sdk/configuration/document.h"
11 #include "opentelemetry/sdk/configuration/logger_provider_configuration.h"
12 #include "opentelemetry/sdk/configuration/meter_provider_configuration.h"
13 #include "opentelemetry/sdk/configuration/propagator_configuration.h"
14 #include "opentelemetry/sdk/configuration/resource_configuration.h"
15 #include "opentelemetry/sdk/configuration/tracer_provider_configuration.h"
16 #include "opentelemetry/version.h"
17 
18 /*
19  * General notes about configuration classes.
20  *
21  * Each Yaml node that exists in the yaml schema,
22  * as defined by https://github.com/open-telemetry/opentelemetry-configuration
23  * is represented by a C++ class.
24  * Special comments are used to relate the C++ class to
25  * the Yaml node it represents.
26  *
27  * YAML-SCHEMA: points to the relevant file within the
28  * opentelemetry-configuration repository
29  * YAML-NODE: points to the relevant node within the file.
30  *
31  * For example,
32  * C++ class opentelemetry::sdk::configuration::Configuration
33  * corresponds to
34  * Yaml node OpenTelemetryConfiguration,
35  * in file
36  * https://github.com/open-telemetry/opentelemetry-configuration/blob/main/schema/opentelemetry_configuration.json
37  *
38  * Every property in the yaml schema is already documented in the
39  * opentelemetry-configuration repository,
40  * in file schema/type_descriptions.yaml, see
41  * https://github.com/open-telemetry/opentelemetry-configuration/blob/main/schema/type_descriptions.yaml
42  *
43  * As a result, C++ class members representing yaml properties are not
44  * commented with details, refer to the source of truth in
45  * type_descriptions.yaml directly.
46  */
47 
49 namespace sdk
50 {
51 namespace configuration
52 {
53 
54 // YAML-SCHEMA: schema/opentelemetry_configuration.json
55 // YAML-NODE: OpenTelemetryConfiguration
56 class Configuration
57 {
58 public:
59  Configuration(std::unique_ptr<Document> doc) : doc_(std::move(doc)) {}
60  Configuration(Configuration &&) = delete;
61  Configuration(const Configuration &) = delete;
63  Configuration &operator=(const Configuration &other) = delete;
64  ~Configuration() = default;
65 
66  std::string file_format;
67  bool disabled{false};
68  std::string log_level;
69 
70  std::unique_ptr<AttributeLimitsConfiguration> attribute_limits;
71  std::unique_ptr<LoggerProviderConfiguration> logger_provider;
72  std::unique_ptr<MeterProviderConfiguration> meter_provider;
73  std::unique_ptr<PropagatorConfiguration> propagator;
74  std::unique_ptr<TracerProviderConfiguration> tracer_provider;
75  std::unique_ptr<ResourceConfiguration> resource;
76  // Ignored: instrumentation
77 
78 private:
79  std::unique_ptr<Document> doc_;
80 };
81 
82 } // namespace configuration
83 } // namespace sdk
sdk::configuration::Configuration::disabled
bool disabled
Definition: includes/opentelemetry/sdk/configuration/configuration.h:67
sdk::configuration::Configuration::propagator
std::unique_ptr< PropagatorConfiguration > propagator
Definition: includes/opentelemetry/sdk/configuration/configuration.h:73
sdk::configuration::Configuration::~Configuration
~Configuration()=default
sdk::configuration::Configuration::attribute_limits
std::unique_ptr< AttributeLimitsConfiguration > attribute_limits
Definition: includes/opentelemetry/sdk/configuration/configuration.h:70
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
sdk::configuration::Configuration::resource
std::unique_ptr< ResourceConfiguration > resource
Definition: includes/opentelemetry/sdk/configuration/configuration.h:75
sdk::configuration::Configuration::logger_provider
std::unique_ptr< LoggerProviderConfiguration > logger_provider
Definition: includes/opentelemetry/sdk/configuration/configuration.h:71
sdk::configuration::Configuration::operator=
Configuration & operator=(Configuration &&)=delete
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
sdk::configuration::Configuration::Configuration
Configuration(std::unique_ptr< Document > doc)
Definition: 9.2/includes/opentelemetry/sdk/configuration/configuration.h:59
sdk::configuration::Configuration::tracer_provider
std::unique_ptr< TracerProviderConfiguration > tracer_provider
Definition: includes/opentelemetry/sdk/configuration/configuration.h:74
absl::move
constexpr absl::OTABSL_OPTION_NAMESPACE_NAME::remove_reference_t< T > && move(T &&t) noexcept
Definition: includes/opentelemetry/nostd/internal/absl/utility/utility.h:199
std
Extensions to the C++ standard library.
Definition: includes/opentelemetry/nostd/string_view.h:212
sdk
Definition: includes/opentelemetry/sdk/common/atomic_shared_ptr.h:13
sdk::configuration::Configuration
Definition: includes/opentelemetry/sdk/configuration/configuration.h:56
sdk::configuration::Configuration::meter_provider
std::unique_ptr< MeterProviderConfiguration > meter_provider
Definition: includes/opentelemetry/sdk/configuration/configuration.h:72
sdk::configuration::Configuration::log_level
std::string log_level
Definition: includes/opentelemetry/sdk/configuration/configuration.h:68
sdk::configuration::Configuration::file_format
std::string file_format
Definition: includes/opentelemetry/sdk/configuration/configuration.h:66