From 10dc42eaac9ae60c10d4a813ad59e309d5db3c66 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sun, 28 Sep 2025 23:37:09 +0200 Subject: [PATCH 1/7] [CONFIGURATION] File configuration - cmake install --- cmake/ryml.cmake | 6 ++- examples/configuration/CMakeLists.txt | 20 +++++---- .../test/cmake/examples_test/CMakeLists.txt | 4 ++ sdk/CMakeLists.txt | 42 ++++++++++++++----- 4 files changed, 50 insertions(+), 22 deletions(-) diff --git a/cmake/ryml.cmake b/cmake/ryml.cmake index c246d72afe..85bf6db291 100644 --- a/cmake/ryml.cmake +++ b/cmake/ryml.cmake @@ -16,8 +16,10 @@ if(NOT ryml_FOUND) ) set(ryml_PROVIDER "fetch_repository") - set(RYML_ENABLE_TESTING OFF CACHE BOOL "" FORCE) - set(RYML_ENABLE_INSTALL OFF CACHE BOOL "" FORCE) + set(RYML_BUILD_TOOLS OFF CACHE BOOL "" FORCE) + set(RYML_BUILD_API OFF CACHE BOOL "" FORCE) + set(RYML_DBG OFF CACHE BOOL "" FORCE) + set(RYML_INSTALL ${OPENTELEMETRY_INSTALL} CACHE BOOL "" FORCE) FetchContent_MakeAvailable(ryml) diff --git a/examples/configuration/CMakeLists.txt b/examples/configuration/CMakeLists.txt index de65e7dee6..6c8bf15366 100644 --- a/examples/configuration/CMakeLists.txt +++ b/examples/configuration/CMakeLists.txt @@ -1,10 +1,6 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -if(DEFINED OPENTELEMETRY_BUILD_DLL) - add_definitions(-DOPENTELEMETRY_BUILD_IMPORT_DLL) -endif() - add_executable( example_yaml main.cc @@ -32,7 +28,7 @@ target_link_libraries( opentelemetry-cpp::ostream_log_record_exporter_builder) if(WITH_OTLP_HTTP) - add_definitions(-DOTEL_HAVE_OTLP_HTTP) + target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_OTLP_HTTP) target_link_libraries( example_yaml PRIVATE opentelemetry-cpp::otlp_http_exporter_builder @@ -41,7 +37,7 @@ if(WITH_OTLP_HTTP) endif() if(WITH_OTLP_GRPC) - add_definitions(-DOTEL_HAVE_OTLP_GRPC) + target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_OTLP_GRPC) target_link_libraries( example_yaml PRIVATE opentelemetry-cpp::otlp_grpc_exporter_builder @@ -50,7 +46,7 @@ if(WITH_OTLP_GRPC) endif() if(WITH_OTLP_FILE) - add_definitions(-DOTEL_HAVE_OTLP_FILE) + target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_OTLP_FILE) target_link_libraries( example_yaml PRIVATE opentelemetry-cpp::otlp_file_exporter_builder @@ -59,18 +55,20 @@ if(WITH_OTLP_FILE) endif() if(WITH_ZIPKIN) - add_definitions(-DOTEL_HAVE_ZIPKIN) + target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_ZIPKIN) target_link_libraries( example_yaml PRIVATE opentelemetry-cpp::zipkin_trace_exporter_builder) endif() if(WITH_PROMETHEUS) - add_definitions(-DOTEL_HAVE_PROMETHEUS) + target_compile_definitions(example_yaml PRIVATE OTEL_HAVE_PROMETHEUS) target_link_libraries(example_yaml PRIVATE opentelemetry-cpp::prometheus_exporter_builder) endif() if(DEFINED OPENTELEMETRY_BUILD_DLL) + target_compile_definitions(example_yaml + PRIVATE OPENTELEMETRY_BUILD_IMPORT_DLL) target_link_libraries(example_yaml PRIVATE opentelemetry-cpp::opentelemetry_cpp) else() @@ -79,3 +77,7 @@ else() PRIVATE opentelemetry-cpp::configuration opentelemetry-cpp::common opentelemetry-cpp::trace opentelemetry-cpp::logs) endif() + +if(BUILD_TESTING) + add_test(NAME examples.example_yaml COMMAND "$") +endif() diff --git a/install/test/cmake/examples_test/CMakeLists.txt b/install/test/cmake/examples_test/CMakeLists.txt index c1489ea71f..e9c11f5063 100644 --- a/install/test/cmake/examples_test/CMakeLists.txt +++ b/install/test/cmake/examples_test/CMakeLists.txt @@ -50,6 +50,10 @@ if("ext_http_curl" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) set(WITH_EXAMPLES_HTTP ON) endif() +if("configuration" IN_LIST OPENTELEMETRY_CPP_COMPONENTS_INSTALLED) + set(WITH_CONFIGURATION ON) +endif() + set(BUILD_TESTING ON) include(CTest) diff --git a/sdk/CMakeLists.txt b/sdk/CMakeLists.txt index 250de63b99..e9ce2ebdcc 100644 --- a/sdk/CMakeLists.txt +++ b/sdk/CMakeLists.txt @@ -14,33 +14,53 @@ target_link_libraries(opentelemetry_sdk INTERFACE opentelemetry_api) set(OTEL_SDK_DIR ${CMAKE_CURRENT_SOURCE_DIR}) add_subdirectory(src) -list( - APPEND - OPENTELEMETRY_SDK_TARGETS +otel_add_component( + COMPONENT + sdk + TARGETS opentelemetry_sdk opentelemetry_common opentelemetry_resources opentelemetry_version opentelemetry_logs opentelemetry_trace - opentelemetry_metrics) - -if(WITH_CONFIGURATION) - list(APPEND OPENTELEMETRY_SDK_TARGETS opentelemetry_configuration) -endif() + opentelemetry_metrics + FILES_DIRECTORY + "include/opentelemetry/" + FILES_DESTINATION + "include/opentelemetry" + FILES_MATCHING + PATTERN + "sdk_config.h" + PATTERN + "sdk/common/*.h" + PATTERN + "sdk/instrumentationlibrary/*.h" + PATTERN + "sdk/instrumentationscope/*.h" + PATTERN + "sdk/logs/*.h" + PATTERN + "sdk/metrics/*.h" + PATTERN + "sdk/resource/*.h" + PATTERN + "sdk/trace/*.h" + PATTERN + "sdk/version/*.h") otel_add_component( COMPONENT - sdk + configuration TARGETS - ${OPENTELEMETRY_SDK_TARGETS} + opentelemetry_configuration FILES_DIRECTORY "include/opentelemetry/" FILES_DESTINATION "include/opentelemetry" FILES_MATCHING PATTERN - "*.h") + "sdk/configuration/*.h") if(BUILD_TESTING) add_subdirectory(test) From dbf3c3d3dbd734104b9eef57e736d957b781d1eb Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sun, 28 Sep 2025 23:42:41 +0200 Subject: [PATCH 2/7] tentative fix. --- sdk/CMakeLists.txt | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/sdk/CMakeLists.txt b/sdk/CMakeLists.txt index e9ce2ebdcc..486760d831 100644 --- a/sdk/CMakeLists.txt +++ b/sdk/CMakeLists.txt @@ -49,18 +49,20 @@ otel_add_component( PATTERN "sdk/version/*.h") -otel_add_component( - COMPONENT - configuration - TARGETS - opentelemetry_configuration - FILES_DIRECTORY - "include/opentelemetry/" - FILES_DESTINATION - "include/opentelemetry" - FILES_MATCHING - PATTERN - "sdk/configuration/*.h") +if(WITH_CONFIGURATION) + otel_add_component( + COMPONENT + configuration + TARGETS + opentelemetry_configuration + FILES_DIRECTORY + "include/opentelemetry/" + FILES_DESTINATION + "include/opentelemetry" + FILES_MATCHING + PATTERN + "sdk/configuration/*.h") +endif() if(BUILD_TESTING) add_subdirectory(test) From 24319b44f2413053525000ae914e9ebd44afd220 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Mon, 29 Sep 2025 00:12:39 +0200 Subject: [PATCH 3/7] cleanup, tentative --- sdk/CMakeLists.txt | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/sdk/CMakeLists.txt b/sdk/CMakeLists.txt index 486760d831..c433c560c2 100644 --- a/sdk/CMakeLists.txt +++ b/sdk/CMakeLists.txt @@ -31,23 +31,10 @@ otel_add_component( "include/opentelemetry" FILES_MATCHING PATTERN - "sdk_config.h" + "*.h" PATTERN - "sdk/common/*.h" - PATTERN - "sdk/instrumentationlibrary/*.h" - PATTERN - "sdk/instrumentationscope/*.h" - PATTERN - "sdk/logs/*.h" - PATTERN - "sdk/metrics/*.h" - PATTERN - "sdk/resource/*.h" - PATTERN - "sdk/trace/*.h" - PATTERN - "sdk/version/*.h") + "sdk/configuration/*.h" + EXCLUDE) if(WITH_CONFIGURATION) otel_add_component( From 8198837bbd0d0c830340116a0feb9d183f7abcbd Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Mon, 29 Sep 2025 21:38:51 +0200 Subject: [PATCH 4/7] dll build, in progress --- ext/src/dll/CMakeLists.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ext/src/dll/CMakeLists.txt b/ext/src/dll/CMakeLists.txt index 628a03abeb..5b6b4369cf 100644 --- a/ext/src/dll/CMakeLists.txt +++ b/ext/src/dll/CMakeLists.txt @@ -15,11 +15,32 @@ add_library(opentelemetry_cpp SHARED dllmain.cc ${OPENTELEMETRY_EXPORT_DEF}) set_target_properties(opentelemetry_cpp PROPERTIES EXPORT_NAME opentelemetry_cpp) +if(WITH_ABI_VERSION_1) + target_compile_definitions(opentelemetry_cpp PRIVATE WITH_ABI_VERSION_1) +endif() + +if(WITH_ABI_VERSION_2) + target_compile_definitions(opentelemetry_cpp PRIVATE WITH_ABI_VERSION_2) +endif() + +if(WITH_CONFIGURATION) + target_compile_definitions(opentelemetry_cpp PRIVATE WITH_CONFIGURATION) +endif() + target_link_libraries( opentelemetry_cpp PUBLIC opentelemetry_api PRIVATE opentelemetry_trace opentelemetry_exporter_ostream_span) +if(WITH_CONFIGURATION) + target_link_libraries( + opentelemetry_cpp + PUBLIC opentelemetry_api + PRIVATE opentelemetry_exporter_ostream_span_builder + opentelemetry_exporter_ostream_metrics_builder + opentelemetry_exporter_ostream_logs_builder) +endif() + target_include_directories( opentelemetry_cpp PUBLIC From 7e153f82f2f7ba5cbc0360ffc90a2462159232ad Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Wed, 1 Oct 2025 01:00:15 +0200 Subject: [PATCH 5/7] work in progress --- ci/do_ci.sh | 7 +++ examples/configuration/CMakeLists.txt | 2 +- exporters/otlp/CMakeLists.txt | 32 ++++++----- exporters/otlp/src/otlp_builder_utils.cc | 17 +++--- .../configuration/CMakeLists.txt | 23 ++++++++ .../exporters_ostream_builder/CMakeLists.txt | 22 ++++++++ .../CMakeLists.txt | 26 +++++++++ .../CMakeLists.txt | 26 +++++++++ .../CMakeLists.txt | 26 +++++++++ .../CMakeLists.txt | 23 ++++++++ .../exporters_zipkin_builder/CMakeLists.txt | 23 ++++++++ install/test/src/test_configuration.cc | 49 +++++++++++++++++ .../src/test_exporters_ostream_builder.cc | 32 +++++++++++ .../src/test_exporters_otlp_file_builder.cc | 36 +++++++++++++ .../src/test_exporters_otlp_grpc_builder.cc | 54 +++++++++++++++++++ .../src/test_exporters_otlp_http_builder.cc | 54 +++++++++++++++++++ .../src/test_exporters_prometheus_builder.cc | 22 ++++++++ .../test/src/test_exporters_zipkin_builder.cc | 18 +++++++ 18 files changed, 471 insertions(+), 21 deletions(-) create mode 100644 install/test/cmake/component_tests/configuration/CMakeLists.txt create mode 100644 install/test/cmake/component_tests/exporters_ostream_builder/CMakeLists.txt create mode 100644 install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt create mode 100644 install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt create mode 100644 install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt create mode 100644 install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt create mode 100644 install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt create mode 100644 install/test/src/test_configuration.cc create mode 100644 install/test/src/test_exporters_ostream_builder.cc create mode 100644 install/test/src/test_exporters_otlp_file_builder.cc create mode 100644 install/test/src/test_exporters_otlp_grpc_builder.cc create mode 100644 install/test/src/test_exporters_otlp_http_builder.cc create mode 100644 install/test/src/test_exporters_prometheus_builder.cc create mode 100644 install/test/src/test_exporters_zipkin_builder.cc diff --git a/ci/do_ci.sh b/ci/do_ci.sh index 976cc55c42..2278c88afe 100755 --- a/ci/do_ci.sh +++ b/ci/do_ci.sh @@ -457,17 +457,24 @@ elif [[ "$1" == "cmake.install.test" ]]; then EXPECTED_COMPONENTS=( "api" "sdk" + "configuration" "ext_common" "ext_http_curl" "exporters_in_memory" "exporters_ostream" + "exporters_ostream_builder" "exporters_otlp_common" "exporters_otlp_file" + "exporters_otlp_file_builder" "exporters_otlp_grpc" + "exporters_otlp_grpc_builder" "exporters_otlp_http" + "exporters_otlp_http_builder" "exporters_prometheus" + "exporters_prometheus_builder" "exporters_elasticsearch" "exporters_zipkin" + "exporters_zipkin_builder" ) EXPECTED_COMPONENTS_STRING=$(IFS=\;; echo "${EXPECTED_COMPONENTS[*]}") mkdir -p "${BUILD_DIR}/install_test" diff --git a/examples/configuration/CMakeLists.txt b/examples/configuration/CMakeLists.txt index 6c8bf15366..87c3156f52 100644 --- a/examples/configuration/CMakeLists.txt +++ b/examples/configuration/CMakeLists.txt @@ -42,7 +42,7 @@ if(WITH_OTLP_GRPC) example_yaml PRIVATE opentelemetry-cpp::otlp_grpc_exporter_builder opentelemetry-cpp::otlp_grpc_log_record_exporter_builder - opentelemetry-cpp::otlp_grpc_metrics_exporter_builder) + opentelemetry-cpp::otlp_grpc_metric_exporter_builder) endif() if(WITH_OTLP_FILE) diff --git a/exporters/otlp/CMakeLists.txt b/exporters/otlp/CMakeLists.txt index c2b74262ed..683ffff65b 100644 --- a/exporters/otlp/CMakeLists.txt +++ b/exporters/otlp/CMakeLists.txt @@ -139,7 +139,8 @@ if(WITH_OTLP_GRPC) set_target_version(opentelemetry_exporter_otlp_grpc_builder) target_link_libraries(opentelemetry_exporter_otlp_grpc_builder - PUBLIC opentelemetry_exporter_otlp_grpc) + PUBLIC opentelemetry_exporter_otlp_grpc + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_GRPC_BUILDER_TARGETS opentelemetry_exporter_otlp_grpc_builder) @@ -180,7 +181,8 @@ if(WITH_OTLP_GRPC) set_target_version(opentelemetry_exporter_otlp_grpc_log_builder) target_link_libraries(opentelemetry_exporter_otlp_grpc_log_builder - PUBLIC opentelemetry_exporter_otlp_grpc_log) + PUBLIC opentelemetry_exporter_otlp_grpc_log + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_GRPC_BUILDER_TARGETS opentelemetry_exporter_otlp_grpc_log_builder) @@ -208,23 +210,24 @@ if(WITH_OTLP_GRPC) opentelemetry_exporter_otlp_grpc_metrics) # - # opentelemetry_exporter_otlp_grpc_metrics_builder + # opentelemetry_exporter_otlp_grpc_metric_builder # add_library( - opentelemetry_exporter_otlp_grpc_metrics_builder + opentelemetry_exporter_otlp_grpc_metric_builder ${OPENTELEMETRY_OTLP_TARGETS_LIB_TYPE} src/otlp_grpc_push_metric_builder.cc) set_target_properties( - opentelemetry_exporter_otlp_grpc_metrics_builder - PROPERTIES EXPORT_NAME otlp_grpc_metrics_exporter_builder) - set_target_version(opentelemetry_exporter_otlp_grpc_metrics_builder) + opentelemetry_exporter_otlp_grpc_metric_builder + PROPERTIES EXPORT_NAME otlp_grpc_metric_exporter_builder) + set_target_version(opentelemetry_exporter_otlp_grpc_metric_builder) - target_link_libraries(opentelemetry_exporter_otlp_grpc_metrics_builder - PUBLIC opentelemetry_exporter_otlp_grpc_metrics) + target_link_libraries(opentelemetry_exporter_otlp_grpc_metric_builder + PUBLIC opentelemetry_exporter_otlp_grpc_metrics + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_GRPC_BUILDER_TARGETS - opentelemetry_exporter_otlp_grpc_metrics_builder) + opentelemetry_exporter_otlp_grpc_metric_builder) endif() @@ -446,7 +449,8 @@ if(WITH_OTLP_FILE) set_target_version(opentelemetry_exporter_otlp_file_builder) target_link_libraries(opentelemetry_exporter_otlp_file_builder - PUBLIC opentelemetry_exporter_otlp_file) + PUBLIC opentelemetry_exporter_otlp_file + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_FILE_BUILDER_TARGETS opentelemetry_exporter_otlp_file_builder) @@ -487,7 +491,8 @@ if(WITH_OTLP_FILE) set_target_version(opentelemetry_exporter_otlp_file_log_builder) target_link_libraries(opentelemetry_exporter_otlp_file_log_builder - PUBLIC opentelemetry_exporter_otlp_file_log) + PUBLIC opentelemetry_exporter_otlp_file_log + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_FILE_BUILDER_TARGETS opentelemetry_exporter_otlp_file_log_builder) @@ -528,7 +533,8 @@ if(WITH_OTLP_FILE) set_target_version(opentelemetry_exporter_otlp_file_metric_builder) target_link_libraries(opentelemetry_exporter_otlp_file_metric_builder - PUBLIC opentelemetry_exporter_otlp_file_metric) + PUBLIC opentelemetry_exporter_otlp_file_metric + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_FILE_BUILDER_TARGETS opentelemetry_exporter_otlp_file_metric_builder) diff --git a/exporters/otlp/src/otlp_builder_utils.cc b/exporters/otlp/src/otlp_builder_utils.cc index cac5efcbad..2ce2bea972 100644 --- a/exporters/otlp/src/otlp_builder_utils.cc +++ b/exporters/otlp/src/otlp_builder_utils.cc @@ -79,16 +79,19 @@ OtlpHeaders OtlpBuilderUtils::ConvertHeadersConfigurationModel( } } - // Second, scan headers, which has high priority. - for (const auto &kv : model->kv_map) + if (model != nullptr) { - const auto &search = headers.find(kv.first); - if (search != headers.end()) + // Second, scan headers, which has high priority. + for (const auto &kv : model->kv_map) { - headers.erase(search); - } + const auto &search = headers.find(kv.first); + if (search != headers.end()) + { + headers.erase(search); + } - headers.emplace(std::make_pair(kv.first, kv.second)); + headers.emplace(std::make_pair(kv.first, kv.second)); + } } return headers; diff --git a/install/test/cmake/component_tests/configuration/CMakeLists.txt b/install/test/cmake/component_tests/configuration/CMakeLists.txt new file mode 100644 index 0000000000..275289c18b --- /dev/null +++ b/install/test/cmake/component_tests/configuration/CMakeLists.txt @@ -0,0 +1,23 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.16) +project(opentelemetry-cpp-configuration-install-test LANGUAGES CXX) + +find_package(opentelemetry-cpp REQUIRED COMPONENTS sdk) + +if(NOT TARGET Threads::Threads) + message(FATAL_ERROR "Threads::Threads target not found") +endif() + +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(configuration_test ${INSTALL_TEST_SRC_DIR}/test_configuration.cc) +target_link_libraries( + configuration_test + PRIVATE opentelemetry-cpp::configuration + GTest::gtest + GTest::gtest_main) + +gtest_discover_tests(configuration_test) diff --git a/install/test/cmake/component_tests/exporters_ostream_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_ostream_builder/CMakeLists.txt new file mode 100644 index 0000000000..260a8ba1f9 --- /dev/null +++ b/install/test/cmake/component_tests/exporters_ostream_builder/CMakeLists.txt @@ -0,0 +1,22 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.16) +project(opentelemetry-cpp-exporters-ostream-builder-install-test LANGUAGES CXX) + +find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_ostream_builder) + +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(exporters_ostream_builder_test + ${INSTALL_TEST_SRC_DIR}/test_exporters_ostream_builder.cc) +target_link_libraries( + exporters_ostream_builder_test + PRIVATE opentelemetry-cpp::ostream_log_record_exporter_builder + opentelemetry-cpp::ostream_metrics_exporter_builder + opentelemetry-cpp::ostream_span_exporter_builder + GTest::gtest + GTest::gtest_main) + +gtest_discover_tests(exporters_ostream_builder_test) diff --git a/install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt new file mode 100644 index 0000000000..5028ce5f47 --- /dev/null +++ b/install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt @@ -0,0 +1,26 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.16) +project(opentelemetry-cpp-exporters-otlp-file-builder-install-test LANGUAGES CXX) + +find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_otlp_file_builder) + +if(NOT TARGET protobuf::libprotobuf) + message(FATAL_ERROR "protobuf::libprotobuf target not found") +endif() + +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(exporters_otlp_file_builder_test + ${INSTALL_TEST_SRC_DIR}/test_exporters_otlp_file_builder.cc) +target_link_libraries( + exporters_otlp_file_builder_test + PRIVATE opentelemetry-cpp::otlp_file_exporter_builder + opentelemetry-cpp::otlp_file_log_record_exporter_builder + opentelemetry-cpp::otlp_file_metric_exporter_builder + GTest::gtest + GTest::gtest_main) + +gtest_discover_tests(exporters_otlp_file_builder_test) diff --git a/install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt new file mode 100644 index 0000000000..ab1c69b2dc --- /dev/null +++ b/install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt @@ -0,0 +1,26 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.16) +project(opentelemetry-cpp-exporters-otlp-grpc-builder-install-test LANGUAGES CXX) + +find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_otlp_grpc_builder) + +if(NOT TARGET protobuf::libprotobuf) + message(FATAL_ERROR "protobuf::libprotobuf target not found") +endif() + +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(exporters_otlp_grpc_builder_test + ${INSTALL_TEST_SRC_DIR}/test_exporters_otlp_grpc_builder.cc) +target_link_libraries( + exporters_otlp_grpc_builder_test + PRIVATE opentelemetry-cpp::otlp_grpc_exporter_builder + opentelemetry-cpp::otlp_grpc_log_record_exporter_builder + opentelemetry-cpp::otlp_grpc_metric_exporter_builder + GTest::gtest + GTest::gtest_main) + +gtest_discover_tests(exporters_otlp_grpc_builder_test) diff --git a/install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt new file mode 100644 index 0000000000..df2bdfeb08 --- /dev/null +++ b/install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt @@ -0,0 +1,26 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.16) +project(opentelemetry-cpp-exporters-otlp-http-builder-install-test LANGUAGES CXX) + +find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_otlp_http_builder) + +if(NOT TARGET protobuf::libprotobuf) + message(FATAL_ERROR "protobuf::libprotobuf target not found") +endif() + +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(exporters_otlp_http_builder_test + ${INSTALL_TEST_SRC_DIR}/test_exporters_otlp_http_builder.cc) +target_link_libraries( + exporters_otlp_http_builder_test + PRIVATE opentelemetry-cpp::otlp_http_exporter_builder + opentelemetry-cpp::otlp_http_log_record_exporter_builder + opentelemetry-cpp::otlp_http_metric_exporter_builder + GTest::gtest + GTest::gtest_main) + +gtest_discover_tests(exporters_otlp_http_builder_test) diff --git a/install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt new file mode 100644 index 0000000000..41e0225052 --- /dev/null +++ b/install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt @@ -0,0 +1,23 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.16) +project(opentelemetry-cpp-exporters-prometheus-builder-install-test LANGUAGES CXX) + +find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_prometheus_builder) + +if(NOT TARGET prometheus-cpp::core) + message(FATAL_ERROR "prometheus-cpp::core target not found") +endif() + +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(exporters_prometheus_builder_test + ${INSTALL_TEST_SRC_DIR}/test_exporters_prometheus_builder.cc) +target_link_libraries( + exporters_prometheus_builder_test PRIVATE +opentelemetry-cpp::prometheus_exporter_builder + GTest::gtest GTest::gtest_main) + +gtest_discover_tests(exporters_prometheus_builder_test) diff --git a/install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt new file mode 100644 index 0000000000..e7bc033497 --- /dev/null +++ b/install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt @@ -0,0 +1,23 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.16) +project(opentelemetry-cpp-exporters-zipkin-builder-install-test LANGUAGES CXX) + +find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_zipkin_builder) + +if(NOT TARGET nlohmann_json::nlohmann_json) + message(FATAL_ERROR "nlohmann_json::nlohmann_json target not found") +endif() + +find_package(GTest CONFIG REQUIRED) +include(GoogleTest) + +add_executable(exporters_zipkin_builder_test + ${INSTALL_TEST_SRC_DIR}/test_exporters_zipkin_builder.cc) +target_link_libraries( + exporters_zipkin_builder_test PRIVATE +opentelemetry-cpp::zipkin_trace_exporter_builder + GTest::gtest GTest::gtest_main) + +gtest_discover_tests(exporters_zipkin_builder_test) diff --git a/install/test/src/test_configuration.cc b/install/test/src/test_configuration.cc new file mode 100644 index 0000000000..cea4966c56 --- /dev/null +++ b/install/test/src/test_configuration.cc @@ -0,0 +1,49 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include + +#include +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/configuration/yaml_configuration_parser.h" +#include "opentelemetry/sdk/configuration/configured_sdk.h" +#include "opentelemetry/sdk/configuration/configuration.h" +#include "opentelemetry/exporters/ostream/console_log_record_builder.h" +#include "opentelemetry/exporters/ostream/console_push_metric_builder.h" +#include "opentelemetry/exporters/ostream/console_span_builder.h" + + +// TODO + +TEST(ConfigurationInstallTest, ConfigurationCheck) +{ + std::shared_ptr registry( + new opentelemetry::sdk::configuration::Registry); + EXPECT_NE(registry, nullptr); + + opentelemetry::exporter::trace::ConsoleSpanBuilder::Register(registry.get()); + opentelemetry::exporter::metrics::ConsolePushMetricBuilder::Register(registry.get()); + opentelemetry::exporter::logs::ConsoleLogRecordBuilder::Register(registry.get()); + + static const std::string source("test"); + + std::string yaml = R"( +file_format: "1.0" +logger_provider: + processors: + - simple: + exporter: + console: +)"; + + auto model = opentelemetry::sdk::configuration::YamlConfigurationParser::ParseString(source, yaml); + EXPECT_NE(model, nullptr); + + sdk = opentelemetry::sdk::configuration::ConfiguredSdk::Create(registry, model); + EXPECT_NE(sdk, nullptr); + + sdk->Install(); + sdk->UnInstall(); + sdk.reset(nullptr); +} + diff --git a/install/test/src/test_exporters_ostream_builder.cc b/install/test/src/test_exporters_ostream_builder.cc new file mode 100644 index 0000000000..657da73749 --- /dev/null +++ b/install/test/src/test_exporters_ostream_builder.cc @@ -0,0 +1,32 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include + +#include +#include +#include + +TEST(ExportersOstreamBuilderInstall, ConsoleSpanBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + auto exporter = builder->Build(nullptr); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOstreamBuilderInstall, ConsolePushMetricBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + auto exporter = builder->Build(nullptr); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOstreamBuilderInstall, ConsoleLogRecordBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + auto exporter = builder->Build(nullptr); + ASSERT_TRUE(exporter != nullptr); +} diff --git a/install/test/src/test_exporters_otlp_file_builder.cc b/install/test/src/test_exporters_otlp_file_builder.cc new file mode 100644 index 0000000000..9554d45adf --- /dev/null +++ b/install/test/src/test_exporters_otlp_file_builder.cc @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include + +#include "opentelemetry/exporters/otlp/otlp_file_span_builder.h" +#include "opentelemetry/exporters/otlp/otlp_file_push_metric_builder.h" +#include "opentelemetry/exporters/otlp/otlp_file_log_record_builder.h" + +TEST(ExportersOtlpFileBuilderInstall, OtlpFileSpanBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + auto exporter = builder->Build(nullptr); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOtlpFileBuilderInstall, OtlpFilePushMetricBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::OtlpFilePushMetricExporterConfiguration model; + model.temporality_preference = opentelemetry::sdk::configuration::TemporalityPreference::cumulative; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOtlpFileBuilderInstall, OtlpFileLogRecordBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + auto exporter = builder->Build(nullptr); + ASSERT_TRUE(exporter != nullptr); +} diff --git a/install/test/src/test_exporters_otlp_grpc_builder.cc b/install/test/src/test_exporters_otlp_grpc_builder.cc new file mode 100644 index 0000000000..9213f32720 --- /dev/null +++ b/install/test/src/test_exporters_otlp_grpc_builder.cc @@ -0,0 +1,54 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include + +#include "opentelemetry/exporters/otlp/otlp_grpc_span_builder.h" +#include "opentelemetry/exporters/otlp/otlp_grpc_push_metric_builder.h" +#include "opentelemetry/exporters/otlp/otlp_grpc_log_record_builder.h" + +TEST(ExportersOtlpGrpcBuilderInstall, OtlpGrpcSpanBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::OtlpGrpcSpanExporterConfiguration model; + model.endpoint = "http://localhost:4317"; + model.insecure = false; + model.timeout = 12; + model.compression = "none"; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOtlpGrpcBuilderInstall, OtlpGrpcPushMetricBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::OtlpGrpcPushMetricExporterConfiguration model; + model.endpoint = "http://localhost:4317"; + model.insecure = false; + model.timeout = 12; + model.compression = "none"; + model.temporality_preference = opentelemetry::sdk::configuration::TemporalityPreference::cumulative; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOtlpGrpcBuilderInstall, OtlpGrpcLogRecordBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::OtlpGrpcLogRecordExporterConfiguration model; + model.endpoint = "http://localhost:4317"; + model.insecure = false; + model.timeout = 12; + model.compression = "none"; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} diff --git a/install/test/src/test_exporters_otlp_http_builder.cc b/install/test/src/test_exporters_otlp_http_builder.cc new file mode 100644 index 0000000000..37208c923e --- /dev/null +++ b/install/test/src/test_exporters_otlp_http_builder.cc @@ -0,0 +1,54 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include + +#include "opentelemetry/exporters/otlp/otlp_http_span_builder.h" +#include "opentelemetry/exporters/otlp/otlp_http_push_metric_builder.h" +#include "opentelemetry/exporters/otlp/otlp_http_log_record_builder.h" + +TEST(ExportersOtlpHttpBuilderInstall, OtlpHttpSpanBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::OtlpHttpSpanExporterConfiguration model; + model.endpoint = "http://localhost:4318"; + model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; + model.timeout = 12; + model.compression = "none"; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOtlpHttpBuilderInstall, OtlpHttpPushMetricBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::OtlpHttpPushMetricExporterConfiguration model; + model.endpoint = "http://localhost:4318"; + model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; + model.timeout = 12; + model.compression = "none"; + model.temporality_preference = opentelemetry::sdk::configuration::TemporalityPreference::cumulative; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} + +TEST(ExportersOtlpHttpBuilderInstall, OtlpHttpLogRecordBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::OtlpHttpLogRecordExporterConfiguration model; + model.endpoint = "http://localhost:4318"; + model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; + model.timeout = 12; + model.compression = "none"; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} diff --git a/install/test/src/test_exporters_prometheus_builder.cc b/install/test/src/test_exporters_prometheus_builder.cc new file mode 100644 index 0000000000..c04cafc7ee --- /dev/null +++ b/install/test/src/test_exporters_prometheus_builder.cc @@ -0,0 +1,22 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include + +#include + +TEST(ExportersPrometheusBuilderInstall, PrometheusPullBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::PrometheusPullMetricExporterConfiguration model; + model.host = "localhost"; + model.port = 1234; + model.without_scope_info = false; + model.without_units = false; + model.without_type_suffix = false; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} diff --git a/install/test/src/test_exporters_zipkin_builder.cc b/install/test/src/test_exporters_zipkin_builder.cc new file mode 100644 index 0000000000..e358cef08e --- /dev/null +++ b/install/test/src/test_exporters_zipkin_builder.cc @@ -0,0 +1,18 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#include + +#include + +TEST(ExportersZipkinBuilderInstall, ZipkinBuilder) +{ + auto builder = std::make_unique(); + ASSERT_TRUE(builder != nullptr); + + opentelemetry::sdk::configuration::ZipkinSpanExporterConfiguration model; + model.endpoint = "localhost"; + + auto exporter = builder->Build(&model); + ASSERT_TRUE(exporter != nullptr); +} From 5d0fbfb249d033525de71a754c279a81cd47a926 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Wed, 1 Oct 2025 01:31:06 +0200 Subject: [PATCH 6/7] cleanup --- exporters/otlp/CMakeLists.txt | 42 +++++++++++-------- .../configuration/CMakeLists.txt | 6 ++- .../CMakeLists.txt | 3 +- .../CMakeLists.txt | 3 +- .../CMakeLists.txt | 3 +- .../CMakeLists.txt | 9 ++-- .../exporters_zipkin_builder/CMakeLists.txt | 6 +-- install/test/src/test_configuration.cc | 25 +++++------ .../src/test_exporters_otlp_file_builder.cc | 7 ++-- .../src/test_exporters_otlp_grpc_builder.cc | 25 +++++------ .../src/test_exporters_otlp_http_builder.cc | 25 +++++------ .../src/test_exporters_prometheus_builder.cc | 8 ++-- 12 files changed, 88 insertions(+), 74 deletions(-) diff --git a/exporters/otlp/CMakeLists.txt b/exporters/otlp/CMakeLists.txt index 683ffff65b..23a5cd6b6c 100644 --- a/exporters/otlp/CMakeLists.txt +++ b/exporters/otlp/CMakeLists.txt @@ -138,9 +138,10 @@ if(WITH_OTLP_GRPC) PROPERTIES EXPORT_NAME otlp_grpc_exporter_builder) set_target_version(opentelemetry_exporter_otlp_grpc_builder) - target_link_libraries(opentelemetry_exporter_otlp_grpc_builder - PUBLIC opentelemetry_exporter_otlp_grpc - opentelemetry_exporter_otlp_builder_utils) + target_link_libraries( + opentelemetry_exporter_otlp_grpc_builder + PUBLIC opentelemetry_exporter_otlp_grpc + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_GRPC_BUILDER_TARGETS opentelemetry_exporter_otlp_grpc_builder) @@ -180,9 +181,10 @@ if(WITH_OTLP_GRPC) PROPERTIES EXPORT_NAME otlp_grpc_log_record_exporter_builder) set_target_version(opentelemetry_exporter_otlp_grpc_log_builder) - target_link_libraries(opentelemetry_exporter_otlp_grpc_log_builder - PUBLIC opentelemetry_exporter_otlp_grpc_log - opentelemetry_exporter_otlp_builder_utils) + target_link_libraries( + opentelemetry_exporter_otlp_grpc_log_builder + PUBLIC opentelemetry_exporter_otlp_grpc_log + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_GRPC_BUILDER_TARGETS opentelemetry_exporter_otlp_grpc_log_builder) @@ -222,9 +224,10 @@ if(WITH_OTLP_GRPC) PROPERTIES EXPORT_NAME otlp_grpc_metric_exporter_builder) set_target_version(opentelemetry_exporter_otlp_grpc_metric_builder) - target_link_libraries(opentelemetry_exporter_otlp_grpc_metric_builder - PUBLIC opentelemetry_exporter_otlp_grpc_metrics - opentelemetry_exporter_otlp_builder_utils) + target_link_libraries( + opentelemetry_exporter_otlp_grpc_metric_builder + PUBLIC opentelemetry_exporter_otlp_grpc_metrics + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_GRPC_BUILDER_TARGETS opentelemetry_exporter_otlp_grpc_metric_builder) @@ -448,9 +451,10 @@ if(WITH_OTLP_FILE) PROPERTIES EXPORT_NAME otlp_file_exporter_builder) set_target_version(opentelemetry_exporter_otlp_file_builder) - target_link_libraries(opentelemetry_exporter_otlp_file_builder - PUBLIC opentelemetry_exporter_otlp_file - opentelemetry_exporter_otlp_builder_utils) + target_link_libraries( + opentelemetry_exporter_otlp_file_builder + PUBLIC opentelemetry_exporter_otlp_file + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_FILE_BUILDER_TARGETS opentelemetry_exporter_otlp_file_builder) @@ -490,9 +494,10 @@ if(WITH_OTLP_FILE) PROPERTIES EXPORT_NAME otlp_file_log_record_exporter_builder) set_target_version(opentelemetry_exporter_otlp_file_log_builder) - target_link_libraries(opentelemetry_exporter_otlp_file_log_builder - PUBLIC opentelemetry_exporter_otlp_file_log - opentelemetry_exporter_otlp_builder_utils) + target_link_libraries( + opentelemetry_exporter_otlp_file_log_builder + PUBLIC opentelemetry_exporter_otlp_file_log + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_FILE_BUILDER_TARGETS opentelemetry_exporter_otlp_file_log_builder) @@ -532,9 +537,10 @@ if(WITH_OTLP_FILE) PROPERTIES EXPORT_NAME otlp_file_metric_exporter_builder) set_target_version(opentelemetry_exporter_otlp_file_metric_builder) - target_link_libraries(opentelemetry_exporter_otlp_file_metric_builder - PUBLIC opentelemetry_exporter_otlp_file_metric - opentelemetry_exporter_otlp_builder_utils) + target_link_libraries( + opentelemetry_exporter_otlp_file_metric_builder + PUBLIC opentelemetry_exporter_otlp_file_metric + opentelemetry_exporter_otlp_builder_utils) list(APPEND OPENTELEMETRY_OTLP_FILE_BUILDER_TARGETS opentelemetry_exporter_otlp_file_metric_builder) diff --git a/install/test/cmake/component_tests/configuration/CMakeLists.txt b/install/test/cmake/component_tests/configuration/CMakeLists.txt index 275289c18b..5fef844f18 100644 --- a/install/test/cmake/component_tests/configuration/CMakeLists.txt +++ b/install/test/cmake/component_tests/configuration/CMakeLists.txt @@ -4,7 +4,8 @@ cmake_minimum_required(VERSION 3.16) project(opentelemetry-cpp-configuration-install-test LANGUAGES CXX) -find_package(opentelemetry-cpp REQUIRED COMPONENTS sdk) +find_package(opentelemetry-cpp REQUIRED COMPONENTS configuration + exporters_ostream_builder) if(NOT TARGET Threads::Threads) message(FATAL_ERROR "Threads::Threads target not found") @@ -17,6 +18,9 @@ add_executable(configuration_test ${INSTALL_TEST_SRC_DIR}/test_configuration.cc) target_link_libraries( configuration_test PRIVATE opentelemetry-cpp::configuration + opentelemetry-cpp::ostream_log_record_exporter_builder + opentelemetry-cpp::ostream_metrics_exporter_builder + opentelemetry-cpp::ostream_span_exporter_builder GTest::gtest GTest::gtest_main) diff --git a/install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt index 5028ce5f47..04af0e3544 100644 --- a/install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt +++ b/install/test/cmake/component_tests/exporters_otlp_file_builder/CMakeLists.txt @@ -2,7 +2,8 @@ # SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.16) -project(opentelemetry-cpp-exporters-otlp-file-builder-install-test LANGUAGES CXX) +project(opentelemetry-cpp-exporters-otlp-file-builder-install-test + LANGUAGES CXX) find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_otlp_file_builder) diff --git a/install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt index ab1c69b2dc..1fac7df880 100644 --- a/install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt +++ b/install/test/cmake/component_tests/exporters_otlp_grpc_builder/CMakeLists.txt @@ -2,7 +2,8 @@ # SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.16) -project(opentelemetry-cpp-exporters-otlp-grpc-builder-install-test LANGUAGES CXX) +project(opentelemetry-cpp-exporters-otlp-grpc-builder-install-test + LANGUAGES CXX) find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_otlp_grpc_builder) diff --git a/install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt index df2bdfeb08..44ba0b879f 100644 --- a/install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt +++ b/install/test/cmake/component_tests/exporters_otlp_http_builder/CMakeLists.txt @@ -2,7 +2,8 @@ # SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.16) -project(opentelemetry-cpp-exporters-otlp-http-builder-install-test LANGUAGES CXX) +project(opentelemetry-cpp-exporters-otlp-http-builder-install-test + LANGUAGES CXX) find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_otlp_http_builder) diff --git a/install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt index 41e0225052..d51fa41171 100644 --- a/install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt +++ b/install/test/cmake/component_tests/exporters_prometheus_builder/CMakeLists.txt @@ -2,7 +2,8 @@ # SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.16) -project(opentelemetry-cpp-exporters-prometheus-builder-install-test LANGUAGES CXX) +project(opentelemetry-cpp-exporters-prometheus-builder-install-test + LANGUAGES CXX) find_package(opentelemetry-cpp REQUIRED COMPONENTS exporters_prometheus_builder) @@ -16,8 +17,8 @@ include(GoogleTest) add_executable(exporters_prometheus_builder_test ${INSTALL_TEST_SRC_DIR}/test_exporters_prometheus_builder.cc) target_link_libraries( - exporters_prometheus_builder_test PRIVATE -opentelemetry-cpp::prometheus_exporter_builder - GTest::gtest GTest::gtest_main) + exporters_prometheus_builder_test + PRIVATE opentelemetry-cpp::prometheus_exporter_builder GTest::gtest + GTest::gtest_main) gtest_discover_tests(exporters_prometheus_builder_test) diff --git a/install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt b/install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt index e7bc033497..287e213277 100644 --- a/install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt +++ b/install/test/cmake/component_tests/exporters_zipkin_builder/CMakeLists.txt @@ -16,8 +16,8 @@ include(GoogleTest) add_executable(exporters_zipkin_builder_test ${INSTALL_TEST_SRC_DIR}/test_exporters_zipkin_builder.cc) target_link_libraries( - exporters_zipkin_builder_test PRIVATE -opentelemetry-cpp::zipkin_trace_exporter_builder - GTest::gtest GTest::gtest_main) + exporters_zipkin_builder_test + PRIVATE opentelemetry-cpp::zipkin_trace_exporter_builder GTest::gtest + GTest::gtest_main) gtest_discover_tests(exporters_zipkin_builder_test) diff --git a/install/test/src/test_configuration.cc b/install/test/src/test_configuration.cc index cea4966c56..7bd59ab5b7 100644 --- a/install/test/src/test_configuration.cc +++ b/install/test/src/test_configuration.cc @@ -4,16 +4,13 @@ #include #include -#include "opentelemetry/sdk/configuration/registry.h" -#include "opentelemetry/sdk/configuration/yaml_configuration_parser.h" -#include "opentelemetry/sdk/configuration/configured_sdk.h" -#include "opentelemetry/sdk/configuration/configuration.h" #include "opentelemetry/exporters/ostream/console_log_record_builder.h" #include "opentelemetry/exporters/ostream/console_push_metric_builder.h" #include "opentelemetry/exporters/ostream/console_span_builder.h" - - -// TODO +#include "opentelemetry/sdk/configuration/configuration.h" +#include "opentelemetry/sdk/configuration/configured_sdk.h" +#include "opentelemetry/sdk/configuration/registry.h" +#include "opentelemetry/sdk/configuration/yaml_configuration_parser.h" TEST(ConfigurationInstallTest, ConfigurationCheck) { @@ -36,14 +33,14 @@ file_format: "1.0" console: )"; - auto model = opentelemetry::sdk::configuration::YamlConfigurationParser::ParseString(source, yaml); + auto model = + opentelemetry::sdk::configuration::YamlConfigurationParser::ParseString(source, yaml); EXPECT_NE(model, nullptr); - sdk = opentelemetry::sdk::configuration::ConfiguredSdk::Create(registry, model); - EXPECT_NE(sdk, nullptr); + auto test_sdk = opentelemetry::sdk::configuration::ConfiguredSdk::Create(registry, model); + EXPECT_NE(test_sdk, nullptr); - sdk->Install(); - sdk->UnInstall(); - sdk.reset(nullptr); + test_sdk->Install(); + test_sdk->UnInstall(); + test_sdk.reset(nullptr); } - diff --git a/install/test/src/test_exporters_otlp_file_builder.cc b/install/test/src/test_exporters_otlp_file_builder.cc index 9554d45adf..da8d4f1210 100644 --- a/install/test/src/test_exporters_otlp_file_builder.cc +++ b/install/test/src/test_exporters_otlp_file_builder.cc @@ -3,9 +3,9 @@ #include -#include "opentelemetry/exporters/otlp/otlp_file_span_builder.h" -#include "opentelemetry/exporters/otlp/otlp_file_push_metric_builder.h" #include "opentelemetry/exporters/otlp/otlp_file_log_record_builder.h" +#include "opentelemetry/exporters/otlp/otlp_file_push_metric_builder.h" +#include "opentelemetry/exporters/otlp/otlp_file_span_builder.h" TEST(ExportersOtlpFileBuilderInstall, OtlpFileSpanBuilder) { @@ -21,7 +21,8 @@ TEST(ExportersOtlpFileBuilderInstall, OtlpFilePushMetricBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::OtlpFilePushMetricExporterConfiguration model; - model.temporality_preference = opentelemetry::sdk::configuration::TemporalityPreference::cumulative; + model.temporality_preference = + opentelemetry::sdk::configuration::TemporalityPreference::cumulative; auto exporter = builder->Build(&model); ASSERT_TRUE(exporter != nullptr); diff --git a/install/test/src/test_exporters_otlp_grpc_builder.cc b/install/test/src/test_exporters_otlp_grpc_builder.cc index 9213f32720..e9de117202 100644 --- a/install/test/src/test_exporters_otlp_grpc_builder.cc +++ b/install/test/src/test_exporters_otlp_grpc_builder.cc @@ -3,9 +3,9 @@ #include -#include "opentelemetry/exporters/otlp/otlp_grpc_span_builder.h" -#include "opentelemetry/exporters/otlp/otlp_grpc_push_metric_builder.h" #include "opentelemetry/exporters/otlp/otlp_grpc_log_record_builder.h" +#include "opentelemetry/exporters/otlp/otlp_grpc_push_metric_builder.h" +#include "opentelemetry/exporters/otlp/otlp_grpc_span_builder.h" TEST(ExportersOtlpGrpcBuilderInstall, OtlpGrpcSpanBuilder) { @@ -13,9 +13,9 @@ TEST(ExportersOtlpGrpcBuilderInstall, OtlpGrpcSpanBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::OtlpGrpcSpanExporterConfiguration model; - model.endpoint = "http://localhost:4317"; - model.insecure = false; - model.timeout = 12; + model.endpoint = "http://localhost:4317"; + model.insecure = false; + model.timeout = 12; model.compression = "none"; auto exporter = builder->Build(&model); @@ -28,11 +28,12 @@ TEST(ExportersOtlpGrpcBuilderInstall, OtlpGrpcPushMetricBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::OtlpGrpcPushMetricExporterConfiguration model; - model.endpoint = "http://localhost:4317"; - model.insecure = false; - model.timeout = 12; + model.endpoint = "http://localhost:4317"; + model.insecure = false; + model.timeout = 12; model.compression = "none"; - model.temporality_preference = opentelemetry::sdk::configuration::TemporalityPreference::cumulative; + model.temporality_preference = + opentelemetry::sdk::configuration::TemporalityPreference::cumulative; auto exporter = builder->Build(&model); ASSERT_TRUE(exporter != nullptr); @@ -44,9 +45,9 @@ TEST(ExportersOtlpGrpcBuilderInstall, OtlpGrpcLogRecordBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::OtlpGrpcLogRecordExporterConfiguration model; - model.endpoint = "http://localhost:4317"; - model.insecure = false; - model.timeout = 12; + model.endpoint = "http://localhost:4317"; + model.insecure = false; + model.timeout = 12; model.compression = "none"; auto exporter = builder->Build(&model); diff --git a/install/test/src/test_exporters_otlp_http_builder.cc b/install/test/src/test_exporters_otlp_http_builder.cc index 37208c923e..992f4337b5 100644 --- a/install/test/src/test_exporters_otlp_http_builder.cc +++ b/install/test/src/test_exporters_otlp_http_builder.cc @@ -3,9 +3,9 @@ #include -#include "opentelemetry/exporters/otlp/otlp_http_span_builder.h" -#include "opentelemetry/exporters/otlp/otlp_http_push_metric_builder.h" #include "opentelemetry/exporters/otlp/otlp_http_log_record_builder.h" +#include "opentelemetry/exporters/otlp/otlp_http_push_metric_builder.h" +#include "opentelemetry/exporters/otlp/otlp_http_span_builder.h" TEST(ExportersOtlpHttpBuilderInstall, OtlpHttpSpanBuilder) { @@ -13,9 +13,9 @@ TEST(ExportersOtlpHttpBuilderInstall, OtlpHttpSpanBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::OtlpHttpSpanExporterConfiguration model; - model.endpoint = "http://localhost:4318"; - model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; - model.timeout = 12; + model.endpoint = "http://localhost:4318"; + model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; + model.timeout = 12; model.compression = "none"; auto exporter = builder->Build(&model); @@ -28,11 +28,12 @@ TEST(ExportersOtlpHttpBuilderInstall, OtlpHttpPushMetricBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::OtlpHttpPushMetricExporterConfiguration model; - model.endpoint = "http://localhost:4318"; - model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; - model.timeout = 12; + model.endpoint = "http://localhost:4318"; + model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; + model.timeout = 12; model.compression = "none"; - model.temporality_preference = opentelemetry::sdk::configuration::TemporalityPreference::cumulative; + model.temporality_preference = + opentelemetry::sdk::configuration::TemporalityPreference::cumulative; auto exporter = builder->Build(&model); ASSERT_TRUE(exporter != nullptr); @@ -44,9 +45,9 @@ TEST(ExportersOtlpHttpBuilderInstall, OtlpHttpLogRecordBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::OtlpHttpLogRecordExporterConfiguration model; - model.endpoint = "http://localhost:4318"; - model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; - model.timeout = 12; + model.endpoint = "http://localhost:4318"; + model.encoding = opentelemetry::sdk::configuration::OtlpHttpEncoding::json; + model.timeout = 12; model.compression = "none"; auto exporter = builder->Build(&model); diff --git a/install/test/src/test_exporters_prometheus_builder.cc b/install/test/src/test_exporters_prometheus_builder.cc index c04cafc7ee..231b526f7a 100644 --- a/install/test/src/test_exporters_prometheus_builder.cc +++ b/install/test/src/test_exporters_prometheus_builder.cc @@ -11,10 +11,10 @@ TEST(ExportersPrometheusBuilderInstall, PrometheusPullBuilder) ASSERT_TRUE(builder != nullptr); opentelemetry::sdk::configuration::PrometheusPullMetricExporterConfiguration model; - model.host = "localhost"; - model.port = 1234; - model.without_scope_info = false; - model.without_units = false; + model.host = "localhost"; + model.port = 1234; + model.without_scope_info = false; + model.without_units = false; model.without_type_suffix = false; auto exporter = builder->Build(&model); From 843b1fed40e3c9d00d3f5d3da850b7dc1384b21c Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Wed, 1 Oct 2025 21:49:07 +0200 Subject: [PATCH 7/7] Disable WITH_CONFIGURATION for test install dll --- ci/do_ci.ps1 | 1 + ext/src/dll/CMakeLists.txt | 21 --------------------- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/ci/do_ci.ps1 b/ci/do_ci.ps1 index f17ab8b98b..0863612269 100644 --- a/ci/do_ci.ps1 +++ b/ci/do_ci.ps1 @@ -425,6 +425,7 @@ switch ($action) { "-DCMAKE_INSTALL_PREFIX=$INSTALL_TEST_DIR" ` "-C $SRC_DIR/test_common/cmake/all-options-abiv1-preview.cmake" ` -DOPENTELEMETRY_INSTALL=ON ` + -DWITH_CONFIGURATION=OFF ` -DWITH_OPENTRACING=OFF ` -DWITH_OTLP_GRPC_SSL_MTLS_PREVIEW=OFF ` -DWITH_OTLP_GRPC_CREDENTIAL_PREVIEW=OFF ` diff --git a/ext/src/dll/CMakeLists.txt b/ext/src/dll/CMakeLists.txt index 5b6b4369cf..628a03abeb 100644 --- a/ext/src/dll/CMakeLists.txt +++ b/ext/src/dll/CMakeLists.txt @@ -15,32 +15,11 @@ add_library(opentelemetry_cpp SHARED dllmain.cc ${OPENTELEMETRY_EXPORT_DEF}) set_target_properties(opentelemetry_cpp PROPERTIES EXPORT_NAME opentelemetry_cpp) -if(WITH_ABI_VERSION_1) - target_compile_definitions(opentelemetry_cpp PRIVATE WITH_ABI_VERSION_1) -endif() - -if(WITH_ABI_VERSION_2) - target_compile_definitions(opentelemetry_cpp PRIVATE WITH_ABI_VERSION_2) -endif() - -if(WITH_CONFIGURATION) - target_compile_definitions(opentelemetry_cpp PRIVATE WITH_CONFIGURATION) -endif() - target_link_libraries( opentelemetry_cpp PUBLIC opentelemetry_api PRIVATE opentelemetry_trace opentelemetry_exporter_ostream_span) -if(WITH_CONFIGURATION) - target_link_libraries( - opentelemetry_cpp - PUBLIC opentelemetry_api - PRIVATE opentelemetry_exporter_ostream_span_builder - opentelemetry_exporter_ostream_metrics_builder - opentelemetry_exporter_ostream_logs_builder) -endif() - target_include_directories( opentelemetry_cpp PUBLIC