From fe8f24092dfe41bd0d412dbea7e6dcf4658aef5b Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 12 Jun 2025 21:17:26 +0200 Subject: [PATCH 1/2] [CONFIGURATION] File configuration - log model --- ...batch_log_record_processor_configuration.h | 41 ++++++++++++++++ ...onsole_log_record_exporter_configuration.h | 32 +++++++++++++ .../log_record_exporter_configuration.h | 28 +++++++++++ ...og_record_exporter_configuration_visitor.h | 35 ++++++++++++++ .../log_record_limits_configuration.h | 25 ++++++++++ .../log_record_processor_configuration.h | 28 +++++++++++ ...g_record_processor_configuration_visitor.h | 31 ++++++++++++ .../logger_provider_configuration.h | 31 ++++++++++++ ...p_file_log_record_exporter_configuration.h | 36 ++++++++++++++ ...p_grpc_log_record_exporter_configuration.h | 46 ++++++++++++++++++ ...p_http_log_record_exporter_configuration.h | 47 +++++++++++++++++++ ...imple_log_record_processor_configuration.h | 36 ++++++++++++++ 12 files changed, 416 insertions(+) create mode 100644 sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/logger_provider_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h create mode 100644 sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h diff --git a/sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h b/sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h new file mode 100644 index 0000000000..6a4c736c5e --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h @@ -0,0 +1,41 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include + +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_processor_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/logger_provider.json +// YAML-NODE: BatchLogRecordProcessor +class BatchLogRecordProcessorConfiguration : public LogRecordProcessorConfiguration +{ +public: + BatchLogRecordProcessorConfiguration() = default; + ~BatchLogRecordProcessorConfiguration() override = default; + + void Accept(LogRecordProcessorConfigurationVisitor *visitor) const override + { + visitor->VisitBatch(this); + } + + size_t schedule_delay{0}; + size_t export_timeout{0}; + size_t max_queue_size{0}; + size_t max_export_batch_size{0}; + std::unique_ptr exporter; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h new file mode 100644 index 0000000000..8175f01fc0 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h @@ -0,0 +1,32 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/common.json +// YAML-NODE: Console +class ConsoleLogRecordExporterConfiguration : public LogRecordExporterConfiguration +{ +public: + ConsoleLogRecordExporterConfiguration() = default; + ~ConsoleLogRecordExporterConfiguration() override = default; + + void Accept(LogRecordExporterConfigurationVisitor *visitor) const override + { + visitor->VisitConsole(this); + } +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h new file mode 100644 index 0000000000..77c98eed71 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h @@ -0,0 +1,28 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ +class LogRecordExporterConfigurationVisitor; + +// YAML-SCHEMA: schema/logger_provider.json +// YAML-NODE: LogRecordExporter +class LogRecordExporterConfiguration +{ +public: + LogRecordExporterConfiguration() = default; + virtual ~LogRecordExporterConfiguration() = default; + + virtual void Accept(LogRecordExporterConfigurationVisitor *visitor) const = 0; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h new file mode 100644 index 0000000000..e38e794b83 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h @@ -0,0 +1,35 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +class OtlpHttpLogRecordExporterConfiguration; +class OtlpGrpcLogRecordExporterConfiguration; +class OtlpFileLogRecordExporterConfiguration; +class ConsoleLogRecordExporterConfiguration; +class ExtensionLogRecordExporterConfiguration; + +class LogRecordExporterConfigurationVisitor +{ +public: + LogRecordExporterConfigurationVisitor() = default; + virtual ~LogRecordExporterConfigurationVisitor() = default; + + virtual void VisitOtlpHttp(const OtlpHttpLogRecordExporterConfiguration *model) = 0; + virtual void VisitOtlpGrpc(const OtlpGrpcLogRecordExporterConfiguration *model) = 0; + virtual void VisitOtlpFile(const OtlpFileLogRecordExporterConfiguration *model) = 0; + virtual void VisitConsole(const ConsoleLogRecordExporterConfiguration *model) = 0; + virtual void VisitExtension(const ExtensionLogRecordExporterConfiguration *model) = 0; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h b/sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h new file mode 100644 index 0000000000..c8b9eb74ec --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h @@ -0,0 +1,25 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/logger_provider.json +// YAML-NODE: LogRecordLimits +class LogRecordLimitsConfiguration +{ +public: + size_t attribute_value_length_limit; + size_t attribute_count_limit; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h new file mode 100644 index 0000000000..3e05ebd5af --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h @@ -0,0 +1,28 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ +class LogRecordProcessorConfigurationVisitor; + +// YAML-SCHEMA: schema/logger_provider.json +// YAML-NODE: LogRecordProcessor +class LogRecordProcessorConfiguration +{ +public: + LogRecordProcessorConfiguration() = default; + virtual ~LogRecordProcessorConfiguration() = default; + + virtual void Accept(LogRecordProcessorConfigurationVisitor *visitor) const = 0; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h new file mode 100644 index 0000000000..263407b171 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +class BatchLogRecordProcessorConfiguration; +class SimpleLogRecordProcessorConfiguration; +class ExtensionLogRecordProcessorConfiguration; + +class LogRecordProcessorConfigurationVisitor +{ +public: + LogRecordProcessorConfigurationVisitor() = default; + virtual ~LogRecordProcessorConfigurationVisitor() = default; + + virtual void VisitBatch(const BatchLogRecordProcessorConfiguration *model) = 0; + virtual void VisitSimple(const SimpleLogRecordProcessorConfiguration *model) = 0; + virtual void VisitExtension(const ExtensionLogRecordProcessorConfiguration *model) = 0; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/logger_provider_configuration.h b/sdk/include/opentelemetry/sdk/configuration/logger_provider_configuration.h new file mode 100644 index 0000000000..8debcaac49 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/logger_provider_configuration.h @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include +#include + +#include "opentelemetry/sdk/configuration/log_record_limits_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_processor_configuration.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/logger_provider.json +// YAML-NODE: LoggerProvider +class LoggerProviderConfiguration +{ +public: + std::vector> processors; + std::unique_ptr limits; + // FIXME: logger_configurator +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h new file mode 100644 index 0000000000..cd82a489d3 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include + +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/common.json +// YAML-NODE: ExperimentalOtlpFileExporter +class OtlpFileLogRecordExporterConfiguration : public LogRecordExporterConfiguration +{ +public: + OtlpFileLogRecordExporterConfiguration() = default; + ~OtlpFileLogRecordExporterConfiguration() override = default; + + void Accept(LogRecordExporterConfigurationVisitor *visitor) const override + { + visitor->VisitOtlpFile(this); + } + + std::string output_stream; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h new file mode 100644 index 0000000000..1a259ff237 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h @@ -0,0 +1,46 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include +#include + +#include "opentelemetry/sdk/configuration/headers_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/common.json +// YAML-NODE: Otlp +class OtlpGrpcLogRecordExporterConfiguration : public LogRecordExporterConfiguration +{ +public: + OtlpGrpcLogRecordExporterConfiguration() = default; + ~OtlpGrpcLogRecordExporterConfiguration() override = default; + + void Accept(LogRecordExporterConfigurationVisitor *visitor) const override + { + visitor->VisitOtlpGrpc(this); + } + + std::string endpoint; + std::string certificate_file; + std::string client_key_file; + std::string client_certificate_file; + std::unique_ptr headers; + std::string headers_list; + std::string compression; + size_t timeout{0}; + bool insecure{false}; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h new file mode 100644 index 0000000000..ce20685d1e --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h @@ -0,0 +1,47 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include +#include + +#include "opentelemetry/sdk/configuration/headers_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h" +#include "opentelemetry/sdk/configuration/otlp_http_encoding.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/common.json +// YAML-NODE: OtlpHttpExporter +class OtlpHttpLogRecordExporterConfiguration : public LogRecordExporterConfiguration +{ +public: + OtlpHttpLogRecordExporterConfiguration() = default; + ~OtlpHttpLogRecordExporterConfiguration() override = default; + + void Accept(LogRecordExporterConfigurationVisitor *visitor) const override + { + visitor->VisitOtlpHttp(this); + } + + std::string endpoint; + std::string certificate_file; + std::string client_key_file; + std::string client_certificate_file; + std::unique_ptr headers; + std::string headers_list; + std::string compression; + size_t timeout{0}; + enum_otlp_http_encoding encoding{protobuf}; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h b/sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h new file mode 100644 index 0000000000..914d9b09f4 --- /dev/null +++ b/sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include + +#include "opentelemetry/sdk/configuration/log_record_processor_configuration.h" +#include "opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace sdk +{ +namespace configuration +{ + +// YAML-SCHEMA: schema/logger_provider.json +// YAML-NODE: SimpleLogRecordProcessor +class SimpleLogRecordProcessorConfiguration : public LogRecordProcessorConfiguration +{ +public: + SimpleLogRecordProcessorConfiguration() = default; + ~SimpleLogRecordProcessorConfiguration() override = default; + + void Accept(LogRecordProcessorConfigurationVisitor *visitor) const override + { + visitor->VisitSimple(this); + } + + std::unique_ptr exporter; +}; + +} // namespace configuration +} // namespace sdk +OPENTELEMETRY_END_NAMESPACE From d000d71ec31c03a49dc192393847d339b4971616 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 27 Jun 2025 17:16:29 +0200 Subject: [PATCH 2/2] Refresh code from PR #2518, to fix review comments (clang-tidy) --- .../batch_log_record_processor_configuration.h | 11 ++++------- .../console_log_record_exporter_configuration.h | 3 --- .../configuration/log_record_exporter_configuration.h | 8 ++++++-- .../log_record_exporter_configuration_visitor.h | 10 ++++++++-- .../configuration/log_record_limits_configuration.h | 4 ++-- .../log_record_processor_configuration.h | 7 ++++++- .../log_record_processor_configuration_visitor.h | 10 ++++++++-- .../otlp_file_log_record_exporter_configuration.h | 3 --- .../otlp_grpc_log_record_exporter_configuration.h | 5 +---- .../otlp_http_log_record_exporter_configuration.h | 5 +---- .../simple_log_record_processor_configuration.h | 4 +--- 11 files changed, 37 insertions(+), 33 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h b/sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h index 6a4c736c5e..17570f0552 100644 --- a/sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/batch_log_record_processor_configuration.h @@ -21,18 +21,15 @@ namespace configuration class BatchLogRecordProcessorConfiguration : public LogRecordProcessorConfiguration { public: - BatchLogRecordProcessorConfiguration() = default; - ~BatchLogRecordProcessorConfiguration() override = default; - void Accept(LogRecordProcessorConfigurationVisitor *visitor) const override { visitor->VisitBatch(this); } - size_t schedule_delay{0}; - size_t export_timeout{0}; - size_t max_queue_size{0}; - size_t max_export_batch_size{0}; + std::size_t schedule_delay{0}; + std::size_t export_timeout{0}; + std::size_t max_queue_size{0}; + std::size_t max_export_batch_size{0}; std::unique_ptr exporter; }; diff --git a/sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h index 8175f01fc0..89bd2b0893 100644 --- a/sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h @@ -18,9 +18,6 @@ namespace configuration class ConsoleLogRecordExporterConfiguration : public LogRecordExporterConfiguration { public: - ConsoleLogRecordExporterConfiguration() = default; - ~ConsoleLogRecordExporterConfiguration() override = default; - void Accept(LogRecordExporterConfigurationVisitor *visitor) const override { visitor->VisitConsole(this); diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h index 77c98eed71..9eed3ee62f 100644 --- a/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration.h @@ -17,8 +17,12 @@ class LogRecordExporterConfigurationVisitor; class LogRecordExporterConfiguration { public: - LogRecordExporterConfiguration() = default; - virtual ~LogRecordExporterConfiguration() = default; + LogRecordExporterConfiguration() = default; + LogRecordExporterConfiguration(LogRecordExporterConfiguration &&) = default; + LogRecordExporterConfiguration(const LogRecordExporterConfiguration &) = default; + LogRecordExporterConfiguration &operator=(LogRecordExporterConfiguration &&) = default; + LogRecordExporterConfiguration &operator=(const LogRecordExporterConfiguration &other) = default; + virtual ~LogRecordExporterConfiguration() = default; virtual void Accept(LogRecordExporterConfigurationVisitor *visitor) const = 0; }; diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h index e38e794b83..a8a2878ca5 100644 --- a/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_exporter_configuration_visitor.h @@ -20,8 +20,14 @@ class ExtensionLogRecordExporterConfiguration; class LogRecordExporterConfigurationVisitor { public: - LogRecordExporterConfigurationVisitor() = default; - virtual ~LogRecordExporterConfigurationVisitor() = default; + LogRecordExporterConfigurationVisitor() = default; + LogRecordExporterConfigurationVisitor(LogRecordExporterConfigurationVisitor &&) = default; + LogRecordExporterConfigurationVisitor(const LogRecordExporterConfigurationVisitor &) = default; + LogRecordExporterConfigurationVisitor &operator=(LogRecordExporterConfigurationVisitor &&) = + default; + LogRecordExporterConfigurationVisitor &operator=( + const LogRecordExporterConfigurationVisitor &other) = default; + virtual ~LogRecordExporterConfigurationVisitor() = default; virtual void VisitOtlpHttp(const OtlpHttpLogRecordExporterConfiguration *model) = 0; virtual void VisitOtlpGrpc(const OtlpGrpcLogRecordExporterConfiguration *model) = 0; diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h b/sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h index c8b9eb74ec..81ab1383be 100644 --- a/sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_limits_configuration.h @@ -16,8 +16,8 @@ namespace configuration class LogRecordLimitsConfiguration { public: - size_t attribute_value_length_limit; - size_t attribute_count_limit; + std::size_t attribute_value_length_limit; + std::size_t attribute_count_limit; }; } // namespace configuration diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h index 3e05ebd5af..916995367a 100644 --- a/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration.h @@ -17,7 +17,12 @@ class LogRecordProcessorConfigurationVisitor; class LogRecordProcessorConfiguration { public: - LogRecordProcessorConfiguration() = default; + LogRecordProcessorConfiguration() = default; + LogRecordProcessorConfiguration(LogRecordProcessorConfiguration &&) = default; + LogRecordProcessorConfiguration(const LogRecordProcessorConfiguration &) = default; + LogRecordProcessorConfiguration &operator=(LogRecordProcessorConfiguration &&) = default; + LogRecordProcessorConfiguration &operator=(const LogRecordProcessorConfiguration &other) = + default; virtual ~LogRecordProcessorConfiguration() = default; virtual void Accept(LogRecordProcessorConfigurationVisitor *visitor) const = 0; diff --git a/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h index 263407b171..ac4dd52d23 100644 --- a/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h +++ b/sdk/include/opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h @@ -18,8 +18,14 @@ class ExtensionLogRecordProcessorConfiguration; class LogRecordProcessorConfigurationVisitor { public: - LogRecordProcessorConfigurationVisitor() = default; - virtual ~LogRecordProcessorConfigurationVisitor() = default; + LogRecordProcessorConfigurationVisitor() = default; + LogRecordProcessorConfigurationVisitor(LogRecordProcessorConfigurationVisitor &&) = default; + LogRecordProcessorConfigurationVisitor(const LogRecordProcessorConfigurationVisitor &) = default; + LogRecordProcessorConfigurationVisitor &operator=(LogRecordProcessorConfigurationVisitor &&) = + default; + LogRecordProcessorConfigurationVisitor &operator=( + const LogRecordProcessorConfigurationVisitor &other) = default; + virtual ~LogRecordProcessorConfigurationVisitor() = default; virtual void VisitBatch(const BatchLogRecordProcessorConfiguration *model) = 0; virtual void VisitSimple(const SimpleLogRecordProcessorConfiguration *model) = 0; diff --git a/sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h index cd82a489d3..ca836a1079 100644 --- a/sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/otlp_file_log_record_exporter_configuration.h @@ -20,9 +20,6 @@ namespace configuration class OtlpFileLogRecordExporterConfiguration : public LogRecordExporterConfiguration { public: - OtlpFileLogRecordExporterConfiguration() = default; - ~OtlpFileLogRecordExporterConfiguration() override = default; - void Accept(LogRecordExporterConfigurationVisitor *visitor) const override { visitor->VisitOtlpFile(this); diff --git a/sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h index 1a259ff237..c8078cbcaf 100644 --- a/sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/otlp_grpc_log_record_exporter_configuration.h @@ -22,9 +22,6 @@ namespace configuration class OtlpGrpcLogRecordExporterConfiguration : public LogRecordExporterConfiguration { public: - OtlpGrpcLogRecordExporterConfiguration() = default; - ~OtlpGrpcLogRecordExporterConfiguration() override = default; - void Accept(LogRecordExporterConfigurationVisitor *visitor) const override { visitor->VisitOtlpGrpc(this); @@ -37,7 +34,7 @@ class OtlpGrpcLogRecordExporterConfiguration : public LogRecordExporterConfigura std::unique_ptr headers; std::string headers_list; std::string compression; - size_t timeout{0}; + std::size_t timeout{0}; bool insecure{false}; }; diff --git a/sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h b/sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h index ce20685d1e..0ff65ec077 100644 --- a/sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/otlp_http_log_record_exporter_configuration.h @@ -23,9 +23,6 @@ namespace configuration class OtlpHttpLogRecordExporterConfiguration : public LogRecordExporterConfiguration { public: - OtlpHttpLogRecordExporterConfiguration() = default; - ~OtlpHttpLogRecordExporterConfiguration() override = default; - void Accept(LogRecordExporterConfigurationVisitor *visitor) const override { visitor->VisitOtlpHttp(this); @@ -38,7 +35,7 @@ class OtlpHttpLogRecordExporterConfiguration : public LogRecordExporterConfigura std::unique_ptr headers; std::string headers_list; std::string compression; - size_t timeout{0}; + std::size_t timeout{0}; enum_otlp_http_encoding encoding{protobuf}; }; diff --git a/sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h b/sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h index 914d9b09f4..67acd8a813 100644 --- a/sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h +++ b/sdk/include/opentelemetry/sdk/configuration/simple_log_record_processor_configuration.h @@ -5,6 +5,7 @@ #include +#include "opentelemetry/sdk/configuration/log_record_exporter_configuration.h" #include "opentelemetry/sdk/configuration/log_record_processor_configuration.h" #include "opentelemetry/sdk/configuration/log_record_processor_configuration_visitor.h" #include "opentelemetry/version.h" @@ -20,9 +21,6 @@ namespace configuration class SimpleLogRecordProcessorConfiguration : public LogRecordProcessorConfiguration { public: - SimpleLogRecordProcessorConfiguration() = default; - ~SimpleLogRecordProcessorConfiguration() override = default; - void Accept(LogRecordProcessorConfigurationVisitor *visitor) const override { visitor->VisitSimple(this);