|
3 | 3 |
|
4 | 4 | #pragma once |
5 | 5 |
|
6 | | -#include <cstddef> |
7 | 6 | #include <memory> |
| 7 | +#include <string> |
8 | 8 |
|
9 | | -#include "opentelemetry/sdk/configuration/always_off_sampler_configuration.h" |
10 | | -#include "opentelemetry/sdk/configuration/attribute_limits_configuration.h" |
11 | | -#include "opentelemetry/sdk/configuration/base2_exponential_bucket_histogram_aggregation_configuration.h" |
12 | | -#include "opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h" |
13 | | -#include "opentelemetry/sdk/configuration/batch_span_processor_configuration.h" |
14 | | -#include "opentelemetry/sdk/configuration/boolean_array_attribute_value_configuration.h" |
15 | | -#include "opentelemetry/sdk/configuration/boolean_attribute_value_configuration.h" |
| 9 | +#include "opentelemetry/context/propagation/text_map_propagator.h" |
| 10 | +#include "opentelemetry/sdk/common/global_log_handler.h" |
| 11 | +#include "opentelemetry/sdk/configuration/attribute_value_configuration.h" |
16 | 12 | #include "opentelemetry/sdk/configuration/configuration.h" |
17 | 13 | #include "opentelemetry/sdk/configuration/configured_sdk.h" |
18 | | -#include "opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h" |
19 | | -#include "opentelemetry/sdk/configuration/console_push_metric_exporter_configuration.h" |
20 | 14 | #include "opentelemetry/sdk/configuration/container_resource_detector_configuration.h" |
21 | | -#include "opentelemetry/sdk/configuration/double_array_attribute_value_configuration.h" |
22 | | -#include "opentelemetry/sdk/configuration/double_attribute_value_configuration.h" |
23 | | -#include "opentelemetry/sdk/configuration/explicit_bucket_histogram_aggregation_configuration.h" |
24 | | -#include "opentelemetry/sdk/configuration/extension_pull_metric_exporter_configuration.h" |
25 | | -#include "opentelemetry/sdk/configuration/extension_push_metric_exporter_configuration.h" |
26 | 15 | #include "opentelemetry/sdk/configuration/extension_resource_detector_configuration.h" |
27 | | -#include "opentelemetry/sdk/configuration/extension_span_exporter_configuration.h" |
28 | | -#include "opentelemetry/sdk/configuration/extension_span_processor_configuration.h" |
29 | 16 | #include "opentelemetry/sdk/configuration/host_resource_detector_configuration.h" |
30 | | -#include "opentelemetry/sdk/configuration/integer_array_attribute_value_configuration.h" |
31 | | -#include "opentelemetry/sdk/configuration/integer_attribute_value_configuration.h" |
32 | | -#include "opentelemetry/sdk/configuration/logger_configurator_configuration.h" |
33 | | -#include "opentelemetry/sdk/configuration/meter_configurator_configuration.h" |
34 | | -#include "opentelemetry/sdk/configuration/metric_reader_configuration.h" |
35 | | -#include "opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h" |
36 | | -#include "opentelemetry/sdk/configuration/otlp_file_push_metric_exporter_configuration.h" |
37 | | -#include "opentelemetry/sdk/configuration/otlp_file_span_exporter_configuration.h" |
38 | | -#include "opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h" |
39 | | -#include "opentelemetry/sdk/configuration/otlp_grpc_push_metric_exporter_configuration.h" |
40 | | -#include "opentelemetry/sdk/configuration/otlp_grpc_span_exporter_configuration.h" |
41 | | -#include "opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h" |
42 | | -#include "opentelemetry/sdk/configuration/otlp_http_push_metric_exporter_configuration.h" |
43 | | -#include "opentelemetry/sdk/configuration/otlp_http_span_exporter_configuration.h" |
44 | | -#include "opentelemetry/sdk/configuration/periodic_metric_reader_configuration.h" |
45 | | -#include "opentelemetry/sdk/configuration/probability_sampler_configuration.h" |
46 | 17 | #include "opentelemetry/sdk/configuration/process_resource_detector_configuration.h" |
47 | | -#include "opentelemetry/sdk/configuration/prometheus_pull_metric_exporter_configuration.h" |
48 | | -#include "opentelemetry/sdk/configuration/pull_metric_exporter_configuration.h" |
49 | | -#include "opentelemetry/sdk/configuration/pull_metric_reader_configuration.h" |
50 | | -#include "opentelemetry/sdk/configuration/push_metric_exporter_configuration.h" |
| 18 | +#include "opentelemetry/sdk/configuration/propagator_configuration.h" |
51 | 19 | #include "opentelemetry/sdk/configuration/registry.h" |
| 20 | +#include "opentelemetry/sdk/configuration/resource_configuration.h" |
52 | 21 | #include "opentelemetry/sdk/configuration/resource_detection_configuration.h" |
53 | 22 | #include "opentelemetry/sdk/configuration/resource_detector_configuration.h" |
54 | 23 | #include "opentelemetry/sdk/configuration/service_resource_detector_configuration.h" |
55 | | -#include "opentelemetry/sdk/configuration/simple_span_processor_configuration.h" |
56 | | -#include "opentelemetry/sdk/configuration/span_exporter_configuration.h" |
57 | | -#include "opentelemetry/sdk/configuration/string_array_attribute_value_configuration.h" |
58 | | -#include "opentelemetry/sdk/configuration/string_attribute_value_configuration.h" |
59 | | -#include "opentelemetry/sdk/configuration/tracer_configurator_configuration.h" |
60 | | -#include "opentelemetry/sdk/instrumentationscope/scope_configurator.h" |
| 24 | +#include "opentelemetry/sdk/configuration/severity_number.h" |
| 25 | +#include "opentelemetry/sdk/resource/resource.h" |
61 | 26 | #include "opentelemetry/sdk/resource/resource_detector.h" |
62 | | -#include "opentelemetry/sdk/trace/exporter.h" |
63 | | -#include "opentelemetry/sdk/trace/processor.h" |
64 | | -#include "opentelemetry/sdk/trace/sampler.h" |
65 | | -#include "opentelemetry/sdk/trace/tracer_config.h" |
66 | | -#include "opentelemetry/sdk/trace/tracer_provider.h" |
67 | | -#include "opentelemetry/trace/tracer_provider.h" |
68 | 27 | #include "opentelemetry/version.h" |
69 | 28 |
|
70 | 29 | OPENTELEMETRY_BEGIN_NAMESPACE |
71 | 30 | namespace sdk |
72 | 31 | { |
73 | | -namespace trace |
74 | | -{ |
75 | | -class ComposableSampler; |
76 | | -} // namespace trace |
77 | | - |
78 | 32 | namespace configuration |
79 | 33 | { |
80 | 34 |
|
81 | | -class ComposableSamplerConfiguration; |
82 | | - |
83 | 35 | class SdkBuilder |
84 | 36 | { |
85 | 37 | public: |
86 | | - SdkBuilder(std::shared_ptr<Registry> registry) : registry_(std::move(registry)) {} |
87 | | - SdkBuilder(SdkBuilder &&) = default; |
88 | | - SdkBuilder(const SdkBuilder &) = default; |
89 | | - SdkBuilder &operator=(SdkBuilder &&) = default; |
90 | | - SdkBuilder &operator=(const SdkBuilder &other) = default; |
91 | | - ~SdkBuilder() = default; |
92 | | - |
93 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateAlwaysOffSampler( |
94 | | - const opentelemetry::sdk::configuration::AlwaysOffSamplerConfiguration *model) const; |
95 | | - |
96 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateAlwaysOnSampler( |
97 | | - const opentelemetry::sdk::configuration::AlwaysOnSamplerConfiguration *model) const; |
98 | | - |
99 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateJaegerRemoteSampler( |
100 | | - const opentelemetry::sdk::configuration::JaegerRemoteSamplerConfiguration *model) const; |
101 | | - |
102 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateParentBasedSampler( |
103 | | - const opentelemetry::sdk::configuration::ParentBasedSamplerConfiguration *model) const; |
104 | | - |
105 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateProbabilitySampler( |
106 | | - const opentelemetry::sdk::configuration::ProbabilitySamplerConfiguration *model) const; |
107 | | - |
108 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateTraceIdRatioBasedSampler( |
109 | | - const opentelemetry::sdk::configuration::TraceIdRatioBasedSamplerConfiguration *model) const; |
110 | | - |
111 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateExtensionSampler( |
112 | | - const opentelemetry::sdk::configuration::ExtensionSamplerConfiguration *model) const; |
113 | | - |
114 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateSampler( |
115 | | - const std::unique_ptr<opentelemetry::sdk::configuration::SamplerConfiguration> &model) const; |
116 | | - |
117 | | - std::unique_ptr<opentelemetry::sdk::trace::Sampler> CreateCompositeSampler( |
118 | | - const opentelemetry::sdk::configuration::ComposableSamplerConfiguration *model) const; |
119 | | - |
120 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> CreateOtlpHttpSpanExporter( |
121 | | - const opentelemetry::sdk::configuration::OtlpHttpSpanExporterConfiguration *model) const; |
122 | | - |
123 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> CreateOtlpGrpcSpanExporter( |
124 | | - const opentelemetry::sdk::configuration::OtlpGrpcSpanExporterConfiguration *model) const; |
125 | | - |
126 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> CreateOtlpFileSpanExporter( |
127 | | - const opentelemetry::sdk::configuration::OtlpFileSpanExporterConfiguration *model) const; |
128 | | - |
129 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> CreateConsoleSpanExporter( |
130 | | - const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration *model) const; |
131 | | - |
132 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> CreateExtensionSpanExporter( |
133 | | - const opentelemetry::sdk::configuration::ExtensionSpanExporterConfiguration *model) const; |
134 | | - |
135 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> CreateSpanExporter( |
136 | | - const std::unique_ptr<opentelemetry::sdk::configuration::SpanExporterConfiguration> &model) |
137 | | - const; |
138 | | - |
139 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor> CreateBatchSpanProcessor( |
140 | | - const opentelemetry::sdk::configuration::BatchSpanProcessorConfiguration *model) const; |
141 | | - |
142 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor> CreateSimpleSpanProcessor( |
143 | | - const opentelemetry::sdk::configuration::SimpleSpanProcessorConfiguration *model) const; |
144 | | - |
145 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor> CreateExtensionSpanProcessor( |
146 | | - const opentelemetry::sdk::configuration::ExtensionSpanProcessorConfiguration *model) const; |
147 | | - |
148 | | - std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor> CreateSpanProcessor( |
149 | | - const std::unique_ptr<opentelemetry::sdk::configuration::SpanProcessorConfiguration> &model) |
150 | | - const; |
151 | | - |
152 | | - std::unique_ptr<opentelemetry::sdk::instrumentationscope::ScopeConfigurator< |
153 | | - opentelemetry::sdk::trace::TracerConfig>> |
154 | | - CreateTracerConfigurator(const std::unique_ptr<TracerConfiguratorConfiguration> &model) const; |
155 | | - |
156 | | - std::unique_ptr<opentelemetry::sdk::trace::TracerProvider> CreateTracerProvider( |
157 | | - const std::unique_ptr<opentelemetry::sdk::configuration::TracerProviderConfiguration> &model, |
158 | | - const opentelemetry::sdk::resource::Resource &resource, |
159 | | - const AttributeLimitsConfiguration *attribute_limits = nullptr) const; |
| 38 | + explicit SdkBuilder(std::shared_ptr<Registry> registry); |
160 | 39 |
|
161 | 40 | std::unique_ptr<opentelemetry::context::propagation::TextMapPropagator> CreateTextMapPropagator( |
162 | 41 | const std::string &name) const; |
|
0 commit comments