8 #include "opentelemetry/sdk/configuration/always_off_sampler_configuration.h"
9 #include "opentelemetry/sdk/configuration/base2_exponential_bucket_histogram_aggregation_configuration.h"
10 #include "opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h"
11 #include "opentelemetry/sdk/configuration/batch_span_processor_configuration.h"
12 #include "opentelemetry/sdk/configuration/boolean_array_attribute_value_configuration.h"
13 #include "opentelemetry/sdk/configuration/boolean_attribute_value_configuration.h"
14 #include "opentelemetry/sdk/configuration/configuration.h"
15 #include "opentelemetry/sdk/configuration/configured_sdk.h"
16 #include "opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h"
17 #include "opentelemetry/sdk/configuration/console_push_metric_exporter_configuration.h"
18 #include "opentelemetry/sdk/configuration/double_array_attribute_value_configuration.h"
19 #include "opentelemetry/sdk/configuration/double_attribute_value_configuration.h"
20 #include "opentelemetry/sdk/configuration/explicit_bucket_histogram_aggregation_configuration.h"
21 #include "opentelemetry/sdk/configuration/extension_pull_metric_exporter_configuration.h"
22 #include "opentelemetry/sdk/configuration/extension_push_metric_exporter_configuration.h"
23 #include "opentelemetry/sdk/configuration/extension_span_exporter_configuration.h"
24 #include "opentelemetry/sdk/configuration/extension_span_processor_configuration.h"
25 #include "opentelemetry/sdk/configuration/integer_array_attribute_value_configuration.h"
26 #include "opentelemetry/sdk/configuration/integer_attribute_value_configuration.h"
27 #include "opentelemetry/sdk/configuration/metric_reader_configuration.h"
28 #include "opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h"
29 #include "opentelemetry/sdk/configuration/otlp_file_push_metric_exporter_configuration.h"
30 #include "opentelemetry/sdk/configuration/otlp_file_span_exporter_configuration.h"
31 #include "opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h"
32 #include "opentelemetry/sdk/configuration/otlp_grpc_push_metric_exporter_configuration.h"
33 #include "opentelemetry/sdk/configuration/otlp_grpc_span_exporter_configuration.h"
34 #include "opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h"
35 #include "opentelemetry/sdk/configuration/otlp_http_push_metric_exporter_configuration.h"
36 #include "opentelemetry/sdk/configuration/otlp_http_span_exporter_configuration.h"
37 #include "opentelemetry/sdk/configuration/periodic_metric_reader_configuration.h"
38 #include "opentelemetry/sdk/configuration/prometheus_pull_metric_exporter_configuration.h"
39 #include "opentelemetry/sdk/configuration/pull_metric_exporter_configuration.h"
40 #include "opentelemetry/sdk/configuration/pull_metric_reader_configuration.h"
41 #include "opentelemetry/sdk/configuration/push_metric_exporter_configuration.h"
42 #include "opentelemetry/sdk/configuration/registry.h"
43 #include "opentelemetry/sdk/configuration/simple_span_processor_configuration.h"
44 #include "opentelemetry/sdk/configuration/span_exporter_configuration.h"
45 #include "opentelemetry/sdk/configuration/string_array_attribute_value_configuration.h"
46 #include "opentelemetry/sdk/configuration/string_attribute_value_configuration.h"
47 #include "opentelemetry/sdk/configuration/zipkin_span_exporter_configuration.h"
48 #include "opentelemetry/sdk/logs/exporter.h"
49 #include "opentelemetry/sdk/logs/logger_provider.h"
50 #include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader.h"
51 #include "opentelemetry/sdk/metrics/meter_provider.h"
52 #include "opentelemetry/sdk/metrics/push_metric_exporter.h"
53 #include "opentelemetry/sdk/trace/exporter.h"
54 #include "opentelemetry/sdk/trace/processor.h"
55 #include "opentelemetry/sdk/trace/sampler.h"
56 #include "opentelemetry/sdk/trace/tracer_provider.h"
57 #include "opentelemetry/trace/tracer_provider.h"
58 #include "opentelemetry/version.h"
63 namespace configuration
77 const opentelemetry::sdk::configuration::AlwaysOffSamplerConfiguration *model)
const;
80 const opentelemetry::sdk::configuration::AlwaysOnSamplerConfiguration *model)
const;
83 const opentelemetry::sdk::configuration::JaegerRemoteSamplerConfiguration *model)
const;
86 const opentelemetry::sdk::configuration::ParentBasedSamplerConfiguration *model)
const;
89 const opentelemetry::sdk::configuration::TraceIdRatioBasedSamplerConfiguration *model)
const;
92 const opentelemetry::sdk::configuration::ExtensionSamplerConfiguration *model)
const;
94 std::unique_ptr<opentelemetry::sdk::trace::Sampler>
CreateSampler(
95 const std::unique_ptr<opentelemetry::sdk::configuration::SamplerConfiguration> &model)
const;
98 const opentelemetry::sdk::configuration::OtlpHttpSpanExporterConfiguration *model)
const;
101 const opentelemetry::sdk::configuration::OtlpGrpcSpanExporterConfiguration *model)
const;
104 const opentelemetry::sdk::configuration::OtlpFileSpanExporterConfiguration *model)
const;
107 const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration *model)
const;
110 const opentelemetry::sdk::configuration::ZipkinSpanExporterConfiguration *model)
const;
113 const opentelemetry::sdk::configuration::ExtensionSpanExporterConfiguration *model)
const;
116 const std::unique_ptr<opentelemetry::sdk::configuration::SpanExporterConfiguration> &model)
120 const opentelemetry::sdk::configuration::BatchSpanProcessorConfiguration *model)
const;
123 const opentelemetry::sdk::configuration::SimpleSpanProcessorConfiguration *model)
const;
126 const opentelemetry::sdk::configuration::ExtensionSpanProcessorConfiguration *model)
const;
129 const std::unique_ptr<opentelemetry::sdk::configuration::SpanProcessorConfiguration> &model)
133 const std::unique_ptr<opentelemetry::sdk::configuration::TracerProviderConfiguration> &model,
134 const opentelemetry::sdk::resource::Resource &resource)
const;
137 const std::string &name)
const;
139 std::unique_ptr<opentelemetry::context::propagation::TextMapPropagator>
CreatePropagator(
140 const std::unique_ptr<opentelemetry::sdk::configuration::PropagatorConfiguration> &model)
144 const opentelemetry::sdk::configuration::OtlpHttpPushMetricExporterConfiguration *model)
148 const opentelemetry::sdk::configuration::OtlpGrpcPushMetricExporterConfiguration *model)
152 const opentelemetry::sdk::configuration::OtlpFilePushMetricExporterConfiguration *model)
156 const opentelemetry::sdk::configuration::ConsolePushMetricExporterConfiguration *model)
const;
158 std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter>
160 const opentelemetry::sdk::configuration::ExtensionPushMetricExporterConfiguration *model)
164 const opentelemetry::sdk::configuration::PrometheusPullMetricExporterConfiguration *model)
168 const opentelemetry::sdk::configuration::ExtensionPullMetricExporterConfiguration *model)
172 const std::unique_ptr<opentelemetry::sdk::configuration::PushMetricExporterConfiguration>
176 const std::unique_ptr<opentelemetry::sdk::configuration::PullMetricExporterConfiguration>
180 const opentelemetry::sdk::configuration::PeriodicMetricReaderConfiguration *model)
const;
183 const opentelemetry::sdk::configuration::PullMetricReaderConfiguration *model)
const;
186 const std::unique_ptr<opentelemetry::sdk::configuration::MetricReaderConfiguration> &model)
189 std::unique_ptr<opentelemetry::sdk::metrics::Base2ExponentialHistogramAggregationConfig>
191 const opentelemetry::sdk::configuration::
194 std::unique_ptr<opentelemetry::sdk::metrics::HistogramAggregationConfig>
196 const opentelemetry::sdk::configuration::ExplicitBucketHistogramAggregationConfiguration
200 const std::unique_ptr<opentelemetry::sdk::configuration::AggregationConfiguration> &model,
204 const std::unique_ptr<opentelemetry::sdk::configuration::IncludeExcludeConfiguration> &model)
208 opentelemetry::sdk::metrics::ViewRegistry *view_registry,
209 const std::unique_ptr<opentelemetry::sdk::configuration::ViewConfiguration> &model)
const;
212 const std::unique_ptr<opentelemetry::sdk::configuration::MeterProviderConfiguration> &model,
213 const opentelemetry::sdk::resource::Resource &resource)
const;
216 const opentelemetry::sdk::configuration::OtlpHttpLogRecordExporterConfiguration *model)
const;
219 const opentelemetry::sdk::configuration::OtlpGrpcLogRecordExporterConfiguration *model)
const;
222 const opentelemetry::sdk::configuration::OtlpFileLogRecordExporterConfiguration *model)
const;
225 const opentelemetry::sdk::configuration::ConsoleLogRecordExporterConfiguration *model)
const;
228 const opentelemetry::sdk::configuration::ExtensionLogRecordExporterConfiguration *model)
232 const std::unique_ptr<opentelemetry::sdk::configuration::LogRecordExporterConfiguration>
236 const opentelemetry::sdk::configuration::BatchLogRecordProcessorConfiguration *model)
const;
239 const opentelemetry::sdk::configuration::SimpleLogRecordProcessorConfiguration *model)
const;
242 const opentelemetry::sdk::configuration::ExtensionLogRecordProcessorConfiguration *model)
246 const std::unique_ptr<opentelemetry::sdk::configuration::LogRecordProcessorConfiguration>
250 const std::unique_ptr<opentelemetry::sdk::configuration::LoggerProviderConfiguration> &model,
251 const opentelemetry::sdk::resource::Resource &resource)
const;
255 const std::string &name,
256 const opentelemetry::sdk::configuration::AttributeValueConfiguration *model)
const;
258 void SetResource(opentelemetry::sdk::resource::Resource &resource,
259 const std::unique_ptr<opentelemetry::sdk::configuration::ResourceConfiguration>
263 const std::unique_ptr<opentelemetry::sdk::configuration::Configuration> &model)
const;
266 std::shared_ptr<Registry> registry_;