From c4680ecc5509594e3652dcce5020d1cb53fbb925 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sun, 27 Jul 2025 13:39:48 +0200 Subject: [PATCH 1/2] [CONFIGURATION] File configuration - ostream exporter builders --- .../ostream/console_log_record_builder.h | 36 +++++++++++++++++++ .../ostream/console_push_metric_builder.h | 36 +++++++++++++++++++ .../exporters/ostream/console_span_builder.h | 36 +++++++++++++++++++ .../ostream/src/console_log_record_builder.cc | 36 +++++++++++++++++++ .../src/console_push_metric_builder.cc | 36 +++++++++++++++++++ exporters/ostream/src/console_span_builder.cc | 35 ++++++++++++++++++ 6 files changed, 215 insertions(+) create mode 100644 exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h create mode 100644 exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h create mode 100644 exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h create mode 100644 exporters/ostream/src/console_log_record_builder.cc create mode 100644 exporters/ostream/src/console_push_metric_builder.cc create mode 100644 exporters/ostream/src/console_span_builder.cc diff --git a/exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h b/exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h new file mode 100644 index 0000000000..2673635e51 --- /dev/null +++ b/exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include + +#include "opentelemetry/sdk/configuration/console_log_record_exporter_builder.h" +#include "opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/logs/exporter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace logs +{ + +class OPENTELEMETRY_EXPORT ConsoleLogRecordBuilder + : public opentelemetry::sdk::configuration::ConsoleLogRecordExporterBuilder +{ +public: + static void Register(opentelemetry::sdk::configuration::Registry *registry); + + ConsoleLogRecordBuilder() = default; + ~ConsoleLogRecordBuilder() override = default; + + std::unique_ptr Build( + const opentelemetry::sdk::configuration::ConsoleLogRecordExporterConfiguration *model) + const override; +}; + +} // namespace logs +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h b/exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h new file mode 100644 index 0000000000..6376844890 --- /dev/null +++ b/exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include + +#include "opentelemetry/sdk/configuration/console_push_metric_exporter_builder.h" +#include "opentelemetry/sdk/configuration/console_push_metric_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/metrics/push_metric_exporter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace metrics +{ + +class OPENTELEMETRY_EXPORT ConsolePushMetricBuilder + : public opentelemetry::sdk::configuration::ConsolePushMetricExporterBuilder +{ +public: + static void Register(opentelemetry::sdk::configuration::Registry *registry); + + ConsolePushMetricBuilder() = default; + ~ConsolePushMetricBuilder() override = default; + + std::unique_ptr Build( + const opentelemetry::sdk::configuration::ConsolePushMetricExporterConfiguration *model) + const override; +}; + +} // namespace metrics +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h b/exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h new file mode 100644 index 0000000000..1cb6ef9c64 --- /dev/null +++ b/exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include + +#include "opentelemetry/sdk/configuration/console_span_exporter_builder.h" +#include "opentelemetry/sdk/configuration/console_span_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/trace/exporter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace trace +{ + +class OPENTELEMETRY_EXPORT ConsoleSpanBuilder + : public opentelemetry::sdk::configuration::ConsoleSpanExporterBuilder +{ +public: + static void Register(opentelemetry::sdk::configuration::Registry *registry); + + ConsoleSpanBuilder() = default; + ~ConsoleSpanBuilder() override = default; + + std::unique_ptr Build( + const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration *model) + const override; +}; + +} // namespace trace +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/ostream/src/console_log_record_builder.cc b/exporters/ostream/src/console_log_record_builder.cc new file mode 100644 index 0000000000..a3849a41c3 --- /dev/null +++ b/exporters/ostream/src/console_log_record_builder.cc @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include +#include + +#include "opentelemetry/exporters/ostream/console_log_record_builder.h" +#include "opentelemetry/exporters/ostream/log_record_exporter_factory.h" +#include "opentelemetry/sdk/configuration/console_log_record_exporter_builder.h" +#include "opentelemetry/sdk/configuration/console_log_record_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/logs/exporter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace logs +{ + +void ConsoleLogRecordBuilder::Register(opentelemetry::sdk::configuration::Registry *registry) +{ + auto builder = std::make_unique(); + registry->SetConsoleLogRecordBuilder(std::move(builder)); +} + +std::unique_ptr ConsoleLogRecordBuilder::Build( + const opentelemetry::sdk::configuration::ConsoleLogRecordExporterConfiguration * /* model */) + const +{ + return OStreamLogRecordExporterFactory::Create(); +} + +} // namespace logs +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/ostream/src/console_push_metric_builder.cc b/exporters/ostream/src/console_push_metric_builder.cc new file mode 100644 index 0000000000..ca87561755 --- /dev/null +++ b/exporters/ostream/src/console_push_metric_builder.cc @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include +#include + +#include "opentelemetry/exporters/ostream/console_push_metric_builder.h" +#include "opentelemetry/exporters/ostream/metric_exporter_factory.h" +#include "opentelemetry/sdk/configuration/console_push_metric_exporter_builder.h" +#include "opentelemetry/sdk/configuration/console_push_metric_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/metrics/push_metric_exporter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace metrics +{ + +void ConsolePushMetricBuilder::Register(opentelemetry::sdk::configuration::Registry *registry) +{ + auto builder = std::make_unique(); + registry->SetConsolePushMetricExporterBuilder(std::move(builder)); +} + +std::unique_ptr ConsolePushMetricBuilder::Build( + const opentelemetry::sdk::configuration::ConsolePushMetricExporterConfiguration * /* model */) + const +{ + return OStreamMetricExporterFactory::Create(); +} + +} // namespace metrics +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE diff --git a/exporters/ostream/src/console_span_builder.cc b/exporters/ostream/src/console_span_builder.cc new file mode 100644 index 0000000000..e55190bda9 --- /dev/null +++ b/exporters/ostream/src/console_span_builder.cc @@ -0,0 +1,35 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include +#include + +#include "opentelemetry/exporters/ostream/console_span_builder.h" +#include "opentelemetry/exporters/ostream/span_exporter_factory.h" +#include "opentelemetry/sdk/configuration/console_span_exporter_builder.h" +#include "opentelemetry/sdk/configuration/console_span_exporter_configuration.h" +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/trace/exporter.h" +#include "opentelemetry/version.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace exporter +{ +namespace trace +{ + +void ConsoleSpanBuilder::Register(opentelemetry::sdk::configuration::Registry *registry) +{ + auto builder = std::make_unique(); + registry->SetConsoleSpanBuilder(std::move(builder)); +} + +std::unique_ptr ConsoleSpanBuilder::Build( + const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration * /* model */) const +{ + return OStreamSpanExporterFactory::Create(); +} + +} // namespace trace +} // namespace exporter +OPENTELEMETRY_END_NAMESPACE From 0b15f901f4fcc266a974fbb0a39c281b36fe09e2 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Mon, 28 Jul 2025 00:28:41 +0200 Subject: [PATCH 2/2] Refresh code from PR #2518, to fix review comments. --- .../exporters/ostream/console_log_record_builder.h | 3 --- .../exporters/ostream/console_push_metric_builder.h | 3 --- .../opentelemetry/exporters/ostream/console_span_builder.h | 3 --- 3 files changed, 9 deletions(-) diff --git a/exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h b/exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h index 2673635e51..16822d92bb 100644 --- a/exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h +++ b/exporters/ostream/include/opentelemetry/exporters/ostream/console_log_record_builder.h @@ -23,9 +23,6 @@ class OPENTELEMETRY_EXPORT ConsoleLogRecordBuilder public: static void Register(opentelemetry::sdk::configuration::Registry *registry); - ConsoleLogRecordBuilder() = default; - ~ConsoleLogRecordBuilder() override = default; - std::unique_ptr Build( const opentelemetry::sdk::configuration::ConsoleLogRecordExporterConfiguration *model) const override; diff --git a/exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h b/exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h index 6376844890..3b1bd7f224 100644 --- a/exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h +++ b/exporters/ostream/include/opentelemetry/exporters/ostream/console_push_metric_builder.h @@ -23,9 +23,6 @@ class OPENTELEMETRY_EXPORT ConsolePushMetricBuilder public: static void Register(opentelemetry::sdk::configuration::Registry *registry); - ConsolePushMetricBuilder() = default; - ~ConsolePushMetricBuilder() override = default; - std::unique_ptr Build( const opentelemetry::sdk::configuration::ConsolePushMetricExporterConfiguration *model) const override; diff --git a/exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h b/exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h index 1cb6ef9c64..03a7b615c2 100644 --- a/exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h +++ b/exporters/ostream/include/opentelemetry/exporters/ostream/console_span_builder.h @@ -23,9 +23,6 @@ class OPENTELEMETRY_EXPORT ConsoleSpanBuilder public: static void Register(opentelemetry::sdk::configuration::Registry *registry); - ConsoleSpanBuilder() = default; - ~ConsoleSpanBuilder() override = default; - std::unique_ptr Build( const opentelemetry::sdk::configuration::ConsoleSpanExporterConfiguration *model) const override;