Skip to content

Commit 5423b91

Browse files
authored
[CONFIGURATION] File configuration - component registry (#3537)
1 parent 0e51e67 commit 5423b91

24 files changed

+1307
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h"
9+
#include "opentelemetry/sdk/logs/exporter.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ConsoleLogRecordExporterBuilder
19+
{
20+
public:
21+
ConsoleLogRecordExporterBuilder() = default;
22+
ConsoleLogRecordExporterBuilder(ConsoleLogRecordExporterBuilder &&) = default;
23+
ConsoleLogRecordExporterBuilder(const ConsoleLogRecordExporterBuilder &) = default;
24+
ConsoleLogRecordExporterBuilder &operator=(ConsoleLogRecordExporterBuilder &&) = default;
25+
ConsoleLogRecordExporterBuilder &operator=(const ConsoleLogRecordExporterBuilder &other) =
26+
default;
27+
virtual ~ConsoleLogRecordExporterBuilder() = default;
28+
29+
virtual std::unique_ptr<opentelemetry::sdk::logs::LogRecordExporter> Build(
30+
const opentelemetry::sdk::configuration::ConsoleLogRecordExporterConfiguration *model)
31+
const = 0;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/console_push_metric_exporter_configuration.h"
9+
#include "opentelemetry/sdk/metrics/push_metric_exporter.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ConsolePushMetricExporterBuilder
19+
{
20+
public:
21+
ConsolePushMetricExporterBuilder() = default;
22+
ConsolePushMetricExporterBuilder(ConsolePushMetricExporterBuilder &&) = default;
23+
ConsolePushMetricExporterBuilder(const ConsolePushMetricExporterBuilder &) = default;
24+
ConsolePushMetricExporterBuilder &operator=(ConsolePushMetricExporterBuilder &&) = default;
25+
ConsolePushMetricExporterBuilder &operator=(const ConsolePushMetricExporterBuilder &other) =
26+
default;
27+
virtual ~ConsolePushMetricExporterBuilder() = default;
28+
29+
virtual std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> Build(
30+
const opentelemetry::sdk::configuration::ConsolePushMetricExporterConfiguration *model)
31+
const = 0;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/console_span_exporter_configuration.h"
9+
#include "opentelemetry/sdk/trace/exporter.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ConsoleSpanExporterBuilder
19+
{
20+
public:
21+
ConsoleSpanExporterBuilder() = default;
22+
ConsoleSpanExporterBuilder(ConsoleSpanExporterBuilder &&) = default;
23+
ConsoleSpanExporterBuilder(const ConsoleSpanExporterBuilder &) = default;
24+
ConsoleSpanExporterBuilder &operator=(ConsoleSpanExporterBuilder &&) = default;
25+
ConsoleSpanExporterBuilder &operator=(const ConsoleSpanExporterBuilder &other) = default;
26+
virtual ~ConsoleSpanExporterBuilder() = default;
27+
28+
virtual std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> Build(
29+
const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration *model) const = 0;
30+
};
31+
32+
} // namespace configuration
33+
} // namespace sdk
34+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/extension_log_record_exporter_configuration.h"
9+
#include "opentelemetry/sdk/logs/exporter.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ExtensionLogRecordExporterBuilder
19+
{
20+
public:
21+
ExtensionLogRecordExporterBuilder() = default;
22+
ExtensionLogRecordExporterBuilder(ExtensionLogRecordExporterBuilder &&) = default;
23+
ExtensionLogRecordExporterBuilder(const ExtensionLogRecordExporterBuilder &) = default;
24+
ExtensionLogRecordExporterBuilder &operator=(ExtensionLogRecordExporterBuilder &&) = default;
25+
ExtensionLogRecordExporterBuilder &operator=(const ExtensionLogRecordExporterBuilder &other) =
26+
default;
27+
virtual ~ExtensionLogRecordExporterBuilder() = default;
28+
29+
virtual std::unique_ptr<opentelemetry::sdk::logs::LogRecordExporter> Build(
30+
const opentelemetry::sdk::configuration::ExtensionLogRecordExporterConfiguration *model)
31+
const = 0;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/extension_log_record_processor_configuration.h"
9+
#include "opentelemetry/sdk/logs/processor.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ExtensionLogRecordProcessorBuilder
19+
{
20+
public:
21+
ExtensionLogRecordProcessorBuilder() = default;
22+
ExtensionLogRecordProcessorBuilder(ExtensionLogRecordProcessorBuilder &&) = default;
23+
ExtensionLogRecordProcessorBuilder(const ExtensionLogRecordProcessorBuilder &) = default;
24+
ExtensionLogRecordProcessorBuilder &operator=(ExtensionLogRecordProcessorBuilder &&) = default;
25+
ExtensionLogRecordProcessorBuilder &operator=(const ExtensionLogRecordProcessorBuilder &other) =
26+
default;
27+
virtual ~ExtensionLogRecordProcessorBuilder() = default;
28+
29+
virtual std::unique_ptr<opentelemetry::sdk::logs::LogRecordProcessor> Build(
30+
const opentelemetry::sdk::configuration::ExtensionLogRecordProcessorConfiguration *model)
31+
const = 0;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/extension_pull_metric_exporter_configuration.h"
9+
#include "opentelemetry/sdk/metrics/metric_reader.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ExtensionPullMetricExporterBuilder
19+
{
20+
public:
21+
ExtensionPullMetricExporterBuilder() = default;
22+
ExtensionPullMetricExporterBuilder(ExtensionPullMetricExporterBuilder &&) = default;
23+
ExtensionPullMetricExporterBuilder(const ExtensionPullMetricExporterBuilder &) = default;
24+
ExtensionPullMetricExporterBuilder &operator=(ExtensionPullMetricExporterBuilder &&) = default;
25+
ExtensionPullMetricExporterBuilder &operator=(const ExtensionPullMetricExporterBuilder &other) =
26+
default;
27+
virtual ~ExtensionPullMetricExporterBuilder() = default;
28+
29+
virtual std::unique_ptr<opentelemetry::sdk::metrics::MetricReader> Build(
30+
const opentelemetry::sdk::configuration::ExtensionPullMetricExporterConfiguration *model)
31+
const = 0;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/extension_push_metric_exporter_configuration.h"
9+
#include "opentelemetry/sdk/metrics/push_metric_exporter.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ExtensionPushMetricExporterBuilder
19+
{
20+
public:
21+
ExtensionPushMetricExporterBuilder() = default;
22+
ExtensionPushMetricExporterBuilder(ExtensionPushMetricExporterBuilder &&) = default;
23+
ExtensionPushMetricExporterBuilder(const ExtensionPushMetricExporterBuilder &) = default;
24+
ExtensionPushMetricExporterBuilder &operator=(ExtensionPushMetricExporterBuilder &&) = default;
25+
ExtensionPushMetricExporterBuilder &operator=(const ExtensionPushMetricExporterBuilder &other) =
26+
default;
27+
virtual ~ExtensionPushMetricExporterBuilder() = default;
28+
29+
virtual std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> Build(
30+
const opentelemetry::sdk::configuration::ExtensionPushMetricExporterConfiguration *model)
31+
const = 0;
32+
};
33+
34+
} // namespace configuration
35+
} // namespace sdk
36+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/extension_sampler_configuration.h"
9+
#include "opentelemetry/sdk/trace/sampler.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ExtensionSamplerBuilder
19+
{
20+
public:
21+
ExtensionSamplerBuilder() = default;
22+
ExtensionSamplerBuilder(ExtensionSamplerBuilder &&) = default;
23+
ExtensionSamplerBuilder(const ExtensionSamplerBuilder &) = default;
24+
ExtensionSamplerBuilder &operator=(ExtensionSamplerBuilder &&) = default;
25+
ExtensionSamplerBuilder &operator=(const ExtensionSamplerBuilder &other) = default;
26+
virtual ~ExtensionSamplerBuilder() = default;
27+
28+
virtual std::unique_ptr<opentelemetry::sdk::trace::Sampler> Build(
29+
const opentelemetry::sdk::configuration::ExtensionSamplerConfiguration *model) const = 0;
30+
};
31+
32+
} // namespace configuration
33+
} // namespace sdk
34+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/extension_span_exporter_configuration.h"
9+
#include "opentelemetry/sdk/trace/exporter.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ExtensionSpanExporterBuilder
19+
{
20+
public:
21+
ExtensionSpanExporterBuilder() = default;
22+
ExtensionSpanExporterBuilder(ExtensionSpanExporterBuilder &&) = default;
23+
ExtensionSpanExporterBuilder(const ExtensionSpanExporterBuilder &) = default;
24+
ExtensionSpanExporterBuilder &operator=(ExtensionSpanExporterBuilder &&) = default;
25+
ExtensionSpanExporterBuilder &operator=(const ExtensionSpanExporterBuilder &other) = default;
26+
virtual ~ExtensionSpanExporterBuilder() = default;
27+
28+
virtual std::unique_ptr<opentelemetry::sdk::trace::SpanExporter> Build(
29+
const opentelemetry::sdk::configuration::ExtensionSpanExporterConfiguration *model) const = 0;
30+
};
31+
32+
} // namespace configuration
33+
} // namespace sdk
34+
OPENTELEMETRY_END_NAMESPACE
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright The OpenTelemetry Authors
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
#pragma once
5+
6+
#include <memory>
7+
8+
#include "opentelemetry/sdk/configuration/extension_span_processor_configuration.h"
9+
#include "opentelemetry/sdk/trace/processor.h"
10+
#include "opentelemetry/version.h"
11+
12+
OPENTELEMETRY_BEGIN_NAMESPACE
13+
namespace sdk
14+
{
15+
namespace configuration
16+
{
17+
18+
class ExtensionSpanProcessorBuilder
19+
{
20+
public:
21+
ExtensionSpanProcessorBuilder() = default;
22+
ExtensionSpanProcessorBuilder(ExtensionSpanProcessorBuilder &&) = default;
23+
ExtensionSpanProcessorBuilder(const ExtensionSpanProcessorBuilder &) = default;
24+
ExtensionSpanProcessorBuilder &operator=(ExtensionSpanProcessorBuilder &&) = default;
25+
ExtensionSpanProcessorBuilder &operator=(const ExtensionSpanProcessorBuilder &other) = default;
26+
virtual ~ExtensionSpanProcessorBuilder() = default;
27+
28+
virtual std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor> Build(
29+
const opentelemetry::sdk::configuration::ExtensionSpanProcessorConfiguration *model)
30+
const = 0;
31+
};
32+
33+
} // namespace configuration
34+
} // namespace sdk
35+
OPENTELEMETRY_END_NAMESPACE

0 commit comments

Comments
 (0)