From f23610e109bc8e12c533d056942200284aebb192 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 10 Jan 2025 00:19:20 +0100 Subject: [PATCH 01/16] IWYU part 7 --- .github/workflows/iwyu.yml | 8 ++++++-- ci/do_ci.sh | 20 -------------------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index ae4c5fb96b..a47e18cadb 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -31,6 +31,10 @@ jobs: libgtest-dev \ libbenchmark-dev + - name: setup grpc + run: | + sudo ./ci/setup_grpc.sh + - name: Prepare CMake run: | TOPDIR=`pwd` @@ -41,12 +45,12 @@ jobs: -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--mapping_file=${TOPDIR}/.iwyu.imp;" \ -DBUILD_TESTING=ON \ -DBUILD_W3CTRACECONTEXT_TEST=ON \ - -DWITH_OTLP_GRPC=OFF \ + -DWITH_OTLP_GRPC=ON \ -DWITH_OTLP_HTTP=ON \ -DWITH_OTLP_FILE=ON \ -DWITH_OTLP_HTTP_COMPRESSION=ON \ -DWITH_ZIPKIN=ON \ - -DWITH_PROMETHEUS=OFF \ + -DWITH_PROMETHEUS=ON \ .. - name: iwyu_tool diff --git a/ci/do_ci.sh b/ci/do_ci.sh index 11dbe4ef80..5a55119001 100755 --- a/ci/do_ci.sh +++ b/ci/do_ci.sh @@ -63,20 +63,9 @@ mkdir -p "${BUILD_DIR}" [ -z "${PLUGIN_DIR}" ] && export PLUGIN_DIR=$HOME/plugin mkdir -p "${PLUGIN_DIR}" -IWYU="" MAKE_COMMAND="make -k -j \$(nproc)" -# Temporarily disable the IWYU build. -# It fails in Ubuntu 24-04 CI with: -# Error running 'iwyu': Segmentation fault -# -# if [[ "${CXX}" == *clang* ]]; then -# MAKE_COMMAND="make -k CXX=include-what-you-use CXXFLAGS=\"-Xiwyu --error_always\" -j \$(nproc)" -# IWYU="-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=iwyu" -# fi - echo "make command: ${MAKE_COMMAND}" -echo "IWYU option: ${IWYU}" BAZEL_OPTIONS_DEFAULT="--copt=-DENABLE_METRICS_EXEMPLAR_PREVIEW" BAZEL_OPTIONS="$BAZEL_OPTIONS_DEFAULT" @@ -131,7 +120,6 @@ elif [[ "$1" == "cmake.maintainer.sync.test" ]]; then -DOTELCPP_MAINTAINER_MODE=ON \ -DWITH_NO_DEPRECATED_CODE=ON \ -DWITH_OTLP_HTTP_COMPRESSION=ON \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -153,7 +141,6 @@ elif [[ "$1" == "cmake.maintainer.async.test" ]]; then -DOTELCPP_MAINTAINER_MODE=ON \ -DWITH_NO_DEPRECATED_CODE=ON \ -DWITH_OTLP_HTTP_COMPRESSION=ON \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -199,7 +186,6 @@ elif [[ "$1" == "cmake.maintainer.abiv2.test" ]]; then -DWITH_ABI_VERSION_1=OFF \ -DWITH_ABI_VERSION_2=ON \ -DWITH_OTLP_HTTP_COMPRESSION=ON \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -247,7 +233,6 @@ elif [[ "$1" == "cmake.c++20.test" ]]; then -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ -DWITH_ASYNC_EXPORT_PREVIEW=ON \ -DWITH_STL=CXX20 \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -259,7 +244,6 @@ elif [[ "$1" == "cmake.c++23.test" ]]; then -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ -DWITH_ASYNC_EXPORT_PREVIEW=ON \ -DWITH_STL=CXX23 \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -272,7 +256,6 @@ elif [[ "$1" == "cmake.c++14.stl.test" ]]; then -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ -DWITH_ASYNC_EXPORT_PREVIEW=ON \ -DWITH_STL=CXX14 \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -285,7 +268,6 @@ elif [[ "$1" == "cmake.c++17.stl.test" ]]; then -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ -DWITH_ASYNC_EXPORT_PREVIEW=ON \ -DWITH_STL=CXX17 \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -298,7 +280,6 @@ elif [[ "$1" == "cmake.c++20.stl.test" ]]; then -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ -DWITH_ASYNC_EXPORT_PREVIEW=ON \ -DWITH_STL=CXX20 \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test @@ -311,7 +292,6 @@ elif [[ "$1" == "cmake.c++23.stl.test" ]]; then -DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \ -DWITH_ASYNC_EXPORT_PREVIEW=ON \ -DWITH_STL=CXX23 \ - ${IWYU} \ "${SRC_DIR}" eval "$MAKE_COMMAND" make test From 5173c7984877cbaa370af2e05c0b8e19f024b3bd Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 10 Jan 2025 15:01:18 +0100 Subject: [PATCH 02/16] cleanup --- CMakeLists.txt | 5 +++ cmake/opentelemetry-proto.cmake | 3 ++ examples/grpc/CMakeLists.txt | 3 ++ examples/grpc/client.cc | 22 +++++++-- examples/grpc/server.cc | 45 ++++++++++++------- examples/prometheus/main.cc | 13 ++++-- .../exporters/otlp/otlp_grpc_utils.h | 2 +- exporters/otlp/src/otlp_file_client.cc | 3 ++ exporters/otlp/test/otlp_file_client_test.cc | 2 + .../exporters/prometheus/collector.h | 6 +-- .../exporters/prometheus/exporter.h | 9 ++-- exporters/prometheus/src/exporter_factory.cc | 3 +- exporters/prometheus/src/exporter_utils.cc | 22 ++++++--- exporters/prometheus/test/exporter_test.cc | 5 +-- .../prometheus/test/exporter_utils_test.cc | 18 ++++++-- 15 files changed, 116 insertions(+), 45 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 408ee43046..6a08174259 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -365,11 +365,16 @@ if(WITH_PROMETHEUS) if(EXISTS ${PROJECT_SOURCE_DIR}/third_party/prometheus-cpp/.git) set(SAVED_ENABLE_TESTING ${ENABLE_TESTING}) set(SAVED_CMAKE_CXX_CLANG_TIDY ${CMAKE_CXX_CLANG_TIDY}) + set(SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE + ${CMAKE_CXX_INCLUDE_WHAT_YOU_USE}) set(ENABLE_TESTING OFF) set(CMAKE_CXX_CLANG_TIDY "") + set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE "") add_subdirectory(third_party/prometheus-cpp) set(ENABLE_TESTING ${SAVED_ENABLE_TESTING}) set(CMAKE_CXX_CLANG_TIDY ${SAVED_CMAKE_CXX_CLANG_TIDY}) + set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE + ${SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE}) else() message( FATAL_ERROR diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake index 0ff346d249..2f7431e02a 100644 --- a/cmake/opentelemetry-proto.cmake +++ b/cmake/opentelemetry-proto.cmake @@ -342,6 +342,9 @@ if(WITH_OTLP_GRPC) ${LOGS_SERVICE_GRPC_PB_CPP_FILE} ${METRICS_SERVICE_GRPC_PB_CPP_FILE}) set_target_version(opentelemetry_proto_grpc) + # Disable include-what-you-use on generated code. + set_target_properties(opentelemetry_proto_grpc PROPERTIES CXX_INCLUDE_WHAT_YOU_USE "") + list(APPEND OPENTELEMETRY_PROTO_TARGETS opentelemetry_proto_grpc) target_link_libraries(opentelemetry_proto_grpc PUBLIC opentelemetry_proto) diff --git a/examples/grpc/CMakeLists.txt b/examples/grpc/CMakeLists.txt index 21325663ab..015f4a2287 100644 --- a/examples/grpc/CMakeLists.txt +++ b/examples/grpc/CMakeLists.txt @@ -25,6 +25,9 @@ add_library(example_grpc_proto ${example_grpc_srcs} ${example_grpc_hdrs} patch_protobuf_targets(example_grpc_proto) +# Disable include-what-you-use on generated code. +set_target_properties(example_grpc_proto PROPERTIES CXX_INCLUDE_WHAT_YOU_USE "") + include_directories( ${CMAKE_SOURCE_DIR}/exporters/ostream/include ${CMAKE_SOURCE_DIR}/ext/include ${CMAKE_SOURCE_DIR}/api/include/ ${CMAKE_SOURCE_DIR/}) diff --git a/examples/grpc/client.cc b/examples/grpc/client.cc index 49be22c155..e5742fe947 100644 --- a/examples/grpc/client.cc +++ b/examples/grpc/client.cc @@ -5,16 +5,30 @@ // ambiguity with `nostd::variant` if compiled with Visual Studio 2015. Other // modern compilers are unaffected. #include + +#include +#include +#include +#include +#include +#include "opentelemetry/context/propagation/global_propagator.h" +#include "opentelemetry/context/propagation/text_map_propagator.h" +#include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/trace/propagation/http_trace_context.h" +#include "opentelemetry/trace/span.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/trace/span_startoptions.h" +#include "opentelemetry/trace/tracer.h" + #ifdef BAZEL_BUILD # include "examples/grpc/protos/messages.grpc.pb.h" +# include "examples/grpc/protos/messages.pb.h" #else # include "messages.grpc.pb.h" +# include "messages.pb.h" #endif -#include -#include -#include - #include "opentelemetry/semconv/incubating/rpc_attributes.h" #include "opentelemetry/semconv/network_attributes.h" #include "tracer_common.h" diff --git a/examples/grpc/server.cc b/examples/grpc/server.cc index 6aa543a8a1..3190d3eaae 100644 --- a/examples/grpc/server.cc +++ b/examples/grpc/server.cc @@ -1,28 +1,41 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#ifdef BAZEL_BUILD -# include "examples/grpc/protos/messages.grpc.pb.h" -#else -# include "messages.grpc.pb.h" -#endif - -#include "opentelemetry/semconv/incubating/rpc_attributes.h" -#include "opentelemetry/trace/context.h" -#include "opentelemetry/trace/span_context_kv_iterable_view.h" -#include "tracer_common.h" - #include +#include #include #include #include - -#include -#include +#include +#include +#include +#include +#include #include -#include #include -#include +#include + +#include "opentelemetry/context/propagation/global_propagator.h" +#include "opentelemetry/context/propagation/text_map_propagator.h" +#include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/variant.h" +#include "opentelemetry/semconv/incubating/rpc_attributes.h" +#include "opentelemetry/trace/context.h" +#include "opentelemetry/trace/span.h" +#include "opentelemetry/trace/span_context_kv_iterable_view.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/trace/span_startoptions.h" +#include "opentelemetry/trace/tracer.h" +#include "tracer_common.h" + +#ifdef BAZEL_BUILD +# include "examples/grpc/protos/messages.grpc.pb.h" +# include "examples/grpc/protos/messages.pb.h" +#else +# include "messages.grpc.pb.h" +# include "messages.pb.h" +#endif using grpc::Server; using grpc::ServerBuilder; diff --git a/examples/prometheus/main.cc b/examples/prometheus/main.cc index 8a559f0f57..5af0294066 100644 --- a/examples/prometheus/main.cc +++ b/examples/prometheus/main.cc @@ -1,19 +1,26 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include +#include #include +#include +#include "opentelemetry/common/attribute_value.h" #include "opentelemetry/exporters/prometheus/exporter_factory.h" #include "opentelemetry/exporters/prometheus/exporter_options.h" +#include "opentelemetry/metrics/meter_provider.h" #include "opentelemetry/metrics/provider.h" -#include "opentelemetry/sdk/metrics/aggregation/default_aggregation.h" -#include "opentelemetry/sdk/metrics/aggregation/histogram_aggregation.h" -#include "opentelemetry/sdk/metrics/meter.h" +#include "opentelemetry/sdk/metrics/instruments.h" #include "opentelemetry/sdk/metrics/meter_provider.h" #include "opentelemetry/sdk/metrics/meter_provider_factory.h" +#include "opentelemetry/sdk/metrics/metric_reader.h" +#include "opentelemetry/sdk/metrics/view/instrument_selector.h" #include "opentelemetry/sdk/metrics/view/instrument_selector_factory.h" +#include "opentelemetry/sdk/metrics/view/meter_selector.h" #include "opentelemetry/sdk/metrics/view/meter_selector_factory.h" +#include "opentelemetry/sdk/metrics/view/view.h" #include "opentelemetry/sdk/metrics/view/view_factory.h" #ifdef BAZEL_BUILD diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h index 504b0e9df3..f55c08788b 100644 --- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h +++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h @@ -5,7 +5,7 @@ #include -#include "opentelemetry/sdk/version/version.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/otlp/src/otlp_file_client.cc b/exporters/otlp/src/otlp_file_client.cc index 7817dde85e..a7fe2755da 100644 --- a/exporters/otlp/src/otlp_file_client.cc +++ b/exporters/otlp/src/otlp_file_client.cc @@ -20,6 +20,8 @@ #include #include +// IWYU pragma: no_include + #if defined(HAVE_GSL) # include #else @@ -60,6 +62,7 @@ # include # include +# include # include # define FS_ACCESS(x) access(x, F_OK) diff --git a/exporters/otlp/test/otlp_file_client_test.cc b/exporters/otlp/test/otlp_file_client_test.cc index 368e7f67c2..b15071db5d 100644 --- a/exporters/otlp/test/otlp_file_client_test.cc +++ b/exporters/otlp/test/otlp_file_client_test.cc @@ -16,6 +16,8 @@ #include #include +// IWYU pragma: no_include + #include "opentelemetry/common/timestamp.h" #include "opentelemetry/exporters/otlp/otlp_file_client.h" #include "opentelemetry/exporters/otlp/otlp_file_client_options.h" diff --git a/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h b/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h index cb94fe7654..f581294498 100644 --- a/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h +++ b/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h @@ -3,14 +3,14 @@ #pragma once -#include +#include +#include #include #include -#include -#include #include "opentelemetry/exporters/prometheus/exporter_utils.h" #include "opentelemetry/sdk/metrics/metric_reader.h" +#include "opentelemetry/version.h" namespace prometheus_client = ::prometheus; diff --git a/exporters/prometheus/include/opentelemetry/exporters/prometheus/exporter.h b/exporters/prometheus/include/opentelemetry/exporters/prometheus/exporter.h index 34bdc4a0f8..3cdca002fc 100644 --- a/exporters/prometheus/include/opentelemetry/exporters/prometheus/exporter.h +++ b/exporters/prometheus/include/opentelemetry/exporters/prometheus/exporter.h @@ -3,16 +3,13 @@ #pragma once -#include -#include -#include - #include +#include +#include #include "opentelemetry/exporters/prometheus/collector.h" #include "opentelemetry/exporters/prometheus/exporter_options.h" -#include "opentelemetry/nostd/span.h" -#include "opentelemetry/sdk/common/env_variables.h" +#include "opentelemetry/sdk/metrics/instruments.h" #include "opentelemetry/sdk/metrics/metric_reader.h" #include "opentelemetry/version.h" diff --git a/exporters/prometheus/src/exporter_factory.cc b/exporters/prometheus/src/exporter_factory.cc index 93fca80977..f736dc755d 100644 --- a/exporters/prometheus/src/exporter_factory.cc +++ b/exporters/prometheus/src/exporter_factory.cc @@ -1,11 +1,12 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include +#include #include "opentelemetry/exporters/prometheus/exporter.h" #include "opentelemetry/exporters/prometheus/exporter_factory.h" #include "opentelemetry/exporters/prometheus/exporter_options.h" +#include "opentelemetry/sdk/metrics/metric_reader.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/prometheus/src/exporter_utils.cc b/exporters/prometheus/src/exporter_utils.cc index 598c88cb44..c874faa654 100644 --- a/exporters/prometheus/src/exporter_utils.cc +++ b/exporters/prometheus/src/exporter_utils.cc @@ -1,24 +1,36 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include +#include +#include #include +#include +#include +#include +#include #include +#include #include #include #include +#include #include -#include #include #include -#include "prometheus/metric_family.h" -#include "prometheus/metric_type.h" - -#include "opentelemetry/common/macros.h" +#include "opentelemetry/common/timestamp.h" #include "opentelemetry/exporters/prometheus/exporter_utils.h" +#include "opentelemetry/nostd/variant.h" +#include "opentelemetry/sdk/common/attribute_utils.h" #include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h" +#include "opentelemetry/sdk/metrics/data/metric_data.h" +#include "opentelemetry/sdk/metrics/data/point_data.h" #include "opentelemetry/sdk/metrics/export/metric_producer.h" +#include "opentelemetry/sdk/metrics/instruments.h" #include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/version.h" namespace prometheus_client = ::prometheus; namespace metric_sdk = opentelemetry::sdk::metrics; diff --git a/exporters/prometheus/test/exporter_test.cc b/exporters/prometheus/test/exporter_test.cc index b268ac8514..aa2e0de4bf 100644 --- a/exporters/prometheus/test/exporter_test.cc +++ b/exporters/prometheus/test/exporter_test.cc @@ -2,12 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 #include +#include -#include "opentelemetry/exporters/prometheus/collector.h" #include "opentelemetry/exporters/prometheus/exporter.h" +#include "opentelemetry/exporters/prometheus/exporter_options.h" #include "opentelemetry/sdk/metrics/instruments.h" -#include "opentelemetry/version.h" -#include "prometheus_test_helper.h" /** * PrometheusExporterTest is a friend class of PrometheusExporter. diff --git a/exporters/prometheus/test/exporter_utils_test.cc b/exporters/prometheus/test/exporter_utils_test.cc index 76ec869a6f..5a597f2b29 100644 --- a/exporters/prometheus/test/exporter_utils_test.cc +++ b/exporters/prometheus/test/exporter_utils_test.cc @@ -2,13 +2,25 @@ // SPDX-License-Identifier: Apache-2.0 #include - +#include +#include +#include +#include +#include +#include +#include #include -#include "prometheus/metric_family.h" -#include "prometheus/metric_type.h" +#include +#include "opentelemetry/common/timestamp.h" #include "opentelemetry/exporters/prometheus/exporter_utils.h" +#include "opentelemetry/nostd/unique_ptr.h" +#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h" +#include "opentelemetry/sdk/metrics/data/metric_data.h" +#include "opentelemetry/sdk/metrics/export/metric_producer.h" +#include "opentelemetry/sdk/metrics/instruments.h" #include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/version.h" #include "prometheus_test_helper.h" using opentelemetry::exporter::metrics::PrometheusExporterUtils; From 3cd0385518c1413e99f0d0302810877b10bf1f15 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 10 Jan 2025 18:02:11 +0100 Subject: [PATCH 03/16] grpc cleanup --- examples/grpc/client.cc | 2 ++ examples/grpc/server.cc | 3 +-- .../opentelemetry/exporters/otlp/otlp_grpc_client_factory.h | 6 ++---- .../include/opentelemetry/exporters/otlp/otlp_grpc_utils.h | 2 +- exporters/otlp/test/otlp_grpc_exporter_factory_test.cc | 5 ++++- .../otlp/test/otlp_grpc_log_record_exporter_factory_test.cc | 5 ++++- .../otlp/test/otlp_grpc_metric_exporter_factory_test.cc | 5 ++++- .../include/opentelemetry/exporters/prometheus/collector.h | 1 - exporters/prometheus/src/collector.cc | 1 + exporters/prometheus/src/exporter.cc | 5 +++++ exporters/prometheus/test/prometheus_test_helper.h | 2 ++ 11 files changed, 26 insertions(+), 11 deletions(-) diff --git a/examples/grpc/client.cc b/examples/grpc/client.cc index e5742fe947..ab11d86045 100644 --- a/examples/grpc/client.cc +++ b/examples/grpc/client.cc @@ -5,6 +5,8 @@ // ambiguity with `nostd::variant` if compiled with Visual Studio 2015. Other // modern compilers are unaffected. #include +#include +#include #include #include diff --git a/examples/grpc/server.cc b/examples/grpc/server.cc index 3190d3eaae..1c23b27a0d 100644 --- a/examples/grpc/server.cc +++ b/examples/grpc/server.cc @@ -1,7 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include #include #include #include @@ -23,7 +22,7 @@ #include "opentelemetry/semconv/incubating/rpc_attributes.h" #include "opentelemetry/trace/context.h" #include "opentelemetry/trace/span.h" -#include "opentelemetry/trace/span_context_kv_iterable_view.h" +#include "opentelemetry/trace/span_context.h" #include "opentelemetry/trace/span_metadata.h" #include "opentelemetry/trace/span_startoptions.h" #include "opentelemetry/trace/tracer.h" diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client_factory.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client_factory.h index ded0eadd8e..133f4643e0 100644 --- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client_factory.h +++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_client_factory.h @@ -5,8 +5,9 @@ #include +#include "opentelemetry/exporters/otlp/otlp_grpc_client.h" #include "opentelemetry/exporters/otlp/otlp_grpc_client_options.h" -#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace exporter @@ -14,9 +15,6 @@ namespace exporter namespace otlp { -class OtlpGrpcClientReferenceGuard; -class OtlpGrpcClient; - /** * Factory class for OtlpGrpcClient. */ diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h index f55c08788b..a5e4e018fa 100644 --- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h +++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_grpc_utils.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include "opentelemetry/version.h" diff --git a/exporters/otlp/test/otlp_grpc_exporter_factory_test.cc b/exporters/otlp/test/otlp_grpc_exporter_factory_test.cc index a2fb62dab0..8885c3e947 100644 --- a/exporters/otlp/test/otlp_grpc_exporter_factory_test.cc +++ b/exporters/otlp/test/otlp_grpc_exporter_factory_test.cc @@ -3,7 +3,6 @@ #include -#include "opentelemetry/exporters/otlp/otlp_grpc_client_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_exporter_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_exporter_options.h" @@ -15,6 +14,10 @@ # error "protobuf should not be included" #endif +/* + Implementation, this requires protobuf. +*/ +#include "opentelemetry/exporters/otlp/otlp_grpc_client_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_exporter.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/otlp/test/otlp_grpc_log_record_exporter_factory_test.cc b/exporters/otlp/test/otlp_grpc_log_record_exporter_factory_test.cc index 0d0ab17d62..8e8261334c 100644 --- a/exporters/otlp/test/otlp_grpc_log_record_exporter_factory_test.cc +++ b/exporters/otlp/test/otlp_grpc_log_record_exporter_factory_test.cc @@ -3,7 +3,6 @@ #include -#include "opentelemetry/exporters/otlp/otlp_grpc_client_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter_options.h" @@ -15,6 +14,10 @@ # error "protobuf should not be included" #endif +/* + Implementation, this requires protobuf. +*/ +#include "opentelemetry/exporters/otlp/otlp_grpc_client_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/otlp/test/otlp_grpc_metric_exporter_factory_test.cc b/exporters/otlp/test/otlp_grpc_metric_exporter_factory_test.cc index ecad49bee1..76af86b1bb 100644 --- a/exporters/otlp/test/otlp_grpc_metric_exporter_factory_test.cc +++ b/exporters/otlp/test/otlp_grpc_metric_exporter_factory_test.cc @@ -3,7 +3,6 @@ #include -#include "opentelemetry/exporters/otlp/otlp_grpc_client_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_metric_exporter_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_metric_exporter_options.h" @@ -15,6 +14,10 @@ # error "protobuf should not be included" #endif +/* + Implementation, this requires protobuf. +*/ +#include "opentelemetry/exporters/otlp/otlp_grpc_client_factory.h" #include "opentelemetry/exporters/otlp/otlp_grpc_metric_exporter.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h b/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h index f581294498..12cc26e6f8 100644 --- a/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h +++ b/exporters/prometheus/include/opentelemetry/exporters/prometheus/collector.h @@ -8,7 +8,6 @@ #include #include -#include "opentelemetry/exporters/prometheus/exporter_utils.h" #include "opentelemetry/sdk/metrics/metric_reader.h" #include "opentelemetry/version.h" diff --git a/exporters/prometheus/src/collector.cc b/exporters/prometheus/src/collector.cc index 53d880ee01..ae5fd2ab8d 100644 --- a/exporters/prometheus/src/collector.cc +++ b/exporters/prometheus/src/collector.cc @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 #include "opentelemetry/exporters/prometheus/collector.h" +#include "opentelemetry/exporters/prometheus/exporter_utils.h" #include "opentelemetry/sdk/common/global_log_handler.h" namespace metric_sdk = opentelemetry::sdk::metrics; diff --git a/exporters/prometheus/src/exporter.cc b/exporters/prometheus/src/exporter.cc index eeab82d6bb..1eebdddfde 100644 --- a/exporters/prometheus/src/exporter.cc +++ b/exporters/prometheus/src/exporter.cc @@ -1,6 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include +#include +#include +#include + #include "opentelemetry/exporters/prometheus/exporter.h" #include "opentelemetry/sdk/common/global_log_handler.h" diff --git a/exporters/prometheus/test/prometheus_test_helper.h b/exporters/prometheus/test/prometheus_test_helper.h index b1aaf70d8c..1bf1f17657 100644 --- a/exporters/prometheus/test/prometheus_test_helper.h +++ b/exporters/prometheus/test/prometheus_test_helper.h @@ -3,6 +3,8 @@ #pragma once +#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h" +#include "opentelemetry/sdk/resource/resource.h" #include "opentelemetry/version.h" namespace metric_sdk = opentelemetry::sdk::metrics; From 687c515ae818deb54594c073d076b8e2317da688 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 10 Jan 2025 21:57:10 +0100 Subject: [PATCH 04/16] prometheus cleanup --- .github/workflows/iwyu.yml | 1 + exporters/prometheus/src/collector.cc | 5 +++++ exporters/prometheus/src/exporter.cc | 6 ++++++ exporters/prometheus/test/collector_test.cc | 14 ++++++++------ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index a47e18cadb..a66ff7a7a1 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -48,6 +48,7 @@ jobs: -DWITH_OTLP_GRPC=ON \ -DWITH_OTLP_HTTP=ON \ -DWITH_OTLP_FILE=ON \ + -DWITH_OPENTRACING=ON \ -DWITH_OTLP_HTTP_COMPRESSION=ON \ -DWITH_ZIPKIN=ON \ -DWITH_PROMETHEUS=ON \ diff --git a/exporters/prometheus/src/collector.cc b/exporters/prometheus/src/collector.cc index ae5fd2ab8d..e02d106368 100644 --- a/exporters/prometheus/src/collector.cc +++ b/exporters/prometheus/src/collector.cc @@ -1,9 +1,14 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include +#include + #include "opentelemetry/exporters/prometheus/collector.h" #include "opentelemetry/exporters/prometheus/exporter_utils.h" +#include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/metrics/export/metric_producer.h" namespace metric_sdk = opentelemetry::sdk::metrics; diff --git a/exporters/prometheus/src/exporter.cc b/exporters/prometheus/src/exporter.cc index 1eebdddfde..12fef5acd9 100644 --- a/exporters/prometheus/src/exporter.cc +++ b/exporters/prometheus/src/exporter.cc @@ -2,12 +2,18 @@ // SPDX-License-Identifier: Apache-2.0 #include +#include #include +#include #include #include +#include "opentelemetry/exporters/prometheus/collector.h" #include "opentelemetry/exporters/prometheus/exporter.h" +#include "opentelemetry/exporters/prometheus/exporter_options.h" #include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/metrics/instruments.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/exporters/prometheus/test/collector_test.cc b/exporters/prometheus/test/collector_test.cc index a31d23ab72..7b88d83e55 100644 --- a/exporters/prometheus/test/collector_test.cc +++ b/exporters/prometheus/test/collector_test.cc @@ -1,16 +1,18 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include +#include +#include +#include +#include + #include "opentelemetry/exporters/prometheus/collector.h" #include "opentelemetry/metrics/meter_provider.h" -#include "opentelemetry/version.h" +#include "opentelemetry/sdk/metrics/export/metric_producer.h" +#include "opentelemetry/sdk/metrics/instruments.h" #include "prometheus_test_helper.h" -#include -#include -#include -#include - using opentelemetry::exporter::metrics::PrometheusCollector; using opentelemetry::sdk::metrics::MetricProducer; using opentelemetry::sdk::metrics::ResourceMetrics; From 50290ee4a90a401ab7c20cee4a5368d75fee8b67 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 10 Jan 2025 22:30:35 +0100 Subject: [PATCH 05/16] shim cleanup --- .github/workflows/iwyu.yml | 2 +- CMakeLists.txt | 5 +++ exporters/prometheus/src/collector.cc | 4 +++ exporters/prometheus/test/collector_test.cc | 2 ++ .../opentracingshim/shim_utils.h | 26 ++++++++++++-- .../opentracingshim/span_context_shim.h | 6 ++++ .../opentelemetry/opentracingshim/span_shim.h | 17 ++++++--- .../opentracingshim/tracer_shim.h | 10 ++++++ opentracing-shim/test/propagation_test.cc | 20 ++++++++--- opentracing-shim/test/shim_utils_test.cc | 35 ++++++++++++++++--- opentracing-shim/test/span_shim_test.cc | 31 +++++++++++++--- 11 files changed, 138 insertions(+), 20 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index a66ff7a7a1..ac1c692b09 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -72,7 +72,7 @@ jobs: readonly WARNING_COUNT=`grep -c "include-what-you-use reported diagnostics:" iwyu.log` echo "include-what-you-use reported ${WARNING_COUNT} warning(s)" # Acceptable limit, to decrease over time down to 0 - readonly WARNING_LIMIT=180 + readonly WARNING_LIMIT=10 # FAIL the build if WARNING_COUNT > WARNING_LIMIT if [ $WARNING_COUNT -gt $WARNING_LIMIT ] ; then exit 1 diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a08174259..83c8109722 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -716,8 +716,13 @@ if(WITH_OPENTRACING) if(EXISTS "${PROJECT_SOURCE_DIR}/${OPENTRACING_DIR}/.git") set(SAVED_BUILD_TESTING ${BUILD_TESTING}) set(BUILD_TESTING OFF) + set(SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE + ${CMAKE_CXX_INCLUDE_WHAT_YOU_USE}) + set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE "") add_subdirectory(${OPENTRACING_DIR}) set(BUILD_TESTING ${SAVED_BUILD_TESTING}) + set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE + ${SAVED_CMAKE_CXX_INCLUDE_WHAT_YOU_USE}) else() message( FATAL_ERROR diff --git a/exporters/prometheus/src/collector.cc b/exporters/prometheus/src/collector.cc index e02d106368..2387baf578 100644 --- a/exporters/prometheus/src/collector.cc +++ b/exporters/prometheus/src/collector.cc @@ -3,12 +3,16 @@ #include #include +#include +#include #include "opentelemetry/exporters/prometheus/collector.h" #include "opentelemetry/exporters/prometheus/exporter_utils.h" #include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/sdk/common/global_log_handler.h" #include "opentelemetry/sdk/metrics/export/metric_producer.h" +#include "opentelemetry/sdk/metrics/metric_reader.h" +#include "opentelemetry/version.h" namespace metric_sdk = opentelemetry::sdk::metrics; diff --git a/exporters/prometheus/test/collector_test.cc b/exporters/prometheus/test/collector_test.cc index 7b88d83e55..f0626c8a0b 100644 --- a/exporters/prometheus/test/collector_test.cc +++ b/exporters/prometheus/test/collector_test.cc @@ -6,11 +6,13 @@ #include #include #include +#include #include "opentelemetry/exporters/prometheus/collector.h" #include "opentelemetry/metrics/meter_provider.h" #include "opentelemetry/sdk/metrics/export/metric_producer.h" #include "opentelemetry/sdk/metrics/instruments.h" +#include "opentelemetry/sdk/metrics/metric_reader.h" #include "prometheus_test_helper.h" using opentelemetry::exporter::metrics::PrometheusCollector; diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h index 3436473870..8f8c4c44e2 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h @@ -5,11 +5,33 @@ #pragma once +#include +#include +#include +#include +#include +#include +#include + +#include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/common/key_value_iterable.h" +#include "opentelemetry/common/key_value_iterable_view.h" +#include "opentelemetry/nostd/function_ref.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/span_context_shim.h" - #include "opentelemetry/semconv/incubating/opentracing_attributes.h" +#include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_context_kv_iterable.h" +#include "opentelemetry/trace/span_startoptions.h" #include "opentelemetry/trace/tracer.h" -#include "opentracing/tracer.h" +#include "opentelemetry/version.h" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/value.h" +#include "opentracing/variant/recursive_wrapper.hpp" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h b/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h index 55cdd5d86d..6de2f2d1f5 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h @@ -5,8 +5,14 @@ #pragma once +#include +#include + #include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/string_view.h" #include "opentelemetry/trace/span_context.h" +#include "opentelemetry/version.h" #include "opentracing/span.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h b/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h index 4fe48852c1..8aea326d4c 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h @@ -5,14 +5,23 @@ #pragma once -#include "opentelemetry/opentracingshim/span_context_shim.h" -#include "opentelemetry/opentracingshim/tracer_shim.h" +#include +#include +#include +#include -#include "opentelemetry/baggage/baggage.h" -#include "opentelemetry/common/attribute_value.h" #include "opentelemetry/common/spin_lock_mutex.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/span.h" +#include "opentelemetry/opentracingshim/span_context_shim.h" +#include "opentelemetry/opentracingshim/tracer_shim.h" #include "opentelemetry/trace/span.h" +#include "opentelemetry/version.h" #include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/tracer.h" +#include "opentracing/util.h" +#include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h b/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h index 7f2d492efd..e10fd07968 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h @@ -5,9 +5,19 @@ #pragma once +#include +#include + #include "opentelemetry/context/propagation/text_map_propagator.h" +#include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/trace/provider.h" #include "opentelemetry/trace/tracer.h" +#include "opentelemetry/trace/tracer_provider.h" +#include "opentelemetry/version.h" +#include "opentracing/expected/expected.hpp" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" #include "opentracing/tracer.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/opentracing-shim/test/propagation_test.cc b/opentracing-shim/test/propagation_test.cc index eb59630405..01d2e59cb0 100644 --- a/opentracing-shim/test/propagation_test.cc +++ b/opentracing-shim/test/propagation_test.cc @@ -3,11 +3,23 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "shim_mocks.h" - -#include "opentelemetry/opentracingshim/propagation.h" - #include +#include +#include +#include +#include +#include + +#include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/nostd/function_ref.h" +#include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/opentracingshim/propagation.h" +#include "opentracing/expected/expected.hpp" +#include "opentracing/propagation.h" +#include "opentracing/string_view.h" +#include "opentracing/util.h" +#include "shim_mocks.h" namespace baggage = opentelemetry::baggage; namespace common = opentelemetry::common; diff --git a/opentracing-shim/test/shim_utils_test.cc b/opentracing-shim/test/shim_utils_test.cc index d053273984..86a52185a6 100644 --- a/opentracing-shim/test/shim_utils_test.cc +++ b/opentracing-shim/test/shim_utils_test.cc @@ -3,13 +3,38 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "shim_mocks.h" - +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/baggage/baggage_context.h" +#include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/common/key_value_iterable.h" +#include "opentelemetry/common/timestamp.h" +#include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/function_ref.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/nostd/variant.h" #include "opentelemetry/opentracingshim/shim_utils.h" - +#include "opentelemetry/opentracingshim/span_context_shim.h" +#include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_startoptions.h" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" #include "opentracing/tracer.h" - -#include +#include "opentracing/util.h" +#include "opentracing/value.h" +#include "opentracing/variant/recursive_wrapper.hpp" +#include "shim_mocks.h" namespace trace_api = opentelemetry::trace; namespace baggage = opentelemetry::baggage; diff --git a/opentracing-shim/test/span_shim_test.cc b/opentracing-shim/test/span_shim_test.cc index d73f3e0061..e15bb07f59 100644 --- a/opentracing-shim/test/span_shim_test.cc +++ b/opentracing-shim/test/span_shim_test.cc @@ -3,12 +3,35 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "shim_mocks.h" - +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/common/timestamp.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/nostd/unique_ptr.h" +#include "opentelemetry/nostd/variant.h" #include "opentelemetry/opentracingshim/span_shim.h" #include "opentelemetry/opentracingshim/tracer_shim.h" - -#include +#include "opentelemetry/trace/span.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/util.h" +#include "opentracing/value.h" +#include "shim_mocks.h" namespace trace_api = opentelemetry::trace; namespace baggage = opentelemetry::baggage; From 9163262bc4a94804685b5bd577a4deb6b02d2d3b Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 10 Jan 2025 23:08:29 +0100 Subject: [PATCH 06/16] opentracing shim, continued --- .../opentracingshim/shim_utils.h | 1 + opentracing-shim/src/span_context_shim.cc | 5 +++++ opentracing-shim/src/span_shim.cc | 10 +++++++--- opentracing-shim/src/tracer_shim.cc | 20 +++++++++++++++---- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h index 8f8c4c44e2..abeded4aac 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h @@ -30,6 +30,7 @@ #include "opentracing/propagation.h" #include "opentracing/span.h" #include "opentracing/string_view.h" +#include "opentracing/tracer.h" #include "opentracing/value.h" #include "opentracing/variant/recursive_wrapper.hpp" diff --git a/opentracing-shim/src/span_context_shim.cc b/opentracing-shim/src/span_context_shim.cc index cd1069e9d9..fb6379cd6a 100644 --- a/opentracing-shim/src/span_context_shim.cc +++ b/opentracing-shim/src/span_context_shim.cc @@ -3,7 +3,12 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include + +#include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/opentracingshim/span_context_shim.h" +#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/trace/trace_id.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/src/span_shim.cc b/opentracing-shim/src/span_shim.cc index afc974f057..7b441ed0ce 100644 --- a/opentracing-shim/src/span_shim.cc +++ b/opentracing-shim/src/span_shim.cc @@ -3,11 +3,15 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "opentelemetry/opentracingshim/span_shim.h" +#include +#include + +#include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/common/timestamp.h" +#include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/shim_utils.h" #include "opentelemetry/opentracingshim/span_context_shim.h" -#include "opentelemetry/opentracingshim/tracer_shim.h" - +#include "opentelemetry/opentracingshim/span_shim.h" #include "opentelemetry/semconv/exception_attributes.h" #include "opentelemetry/trace/span_metadata.h" #include "opentracing/ext/tags.h" diff --git a/opentracing-shim/src/tracer_shim.cc b/opentracing-shim/src/tracer_shim.cc index e06961a88e..11dcd0b5c6 100644 --- a/opentracing-shim/src/tracer_shim.cc +++ b/opentracing-shim/src/tracer_shim.cc @@ -3,15 +3,27 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "opentelemetry/opentracingshim/tracer_shim.h" -#include "opentelemetry/opentracingshim/propagation.h" -#include "opentelemetry/opentracingshim/shim_utils.h" -#include "opentelemetry/opentracingshim/span_shim.h" +#include +#include +#include +#include +#include #include "opentelemetry/baggage/baggage_context.h" #include "opentelemetry/context/propagation/global_propagator.h" +#include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/opentracingshim/propagation.h" +#include "opentelemetry/opentracingshim/shim_utils.h" +#include "opentelemetry/opentracingshim/span_context_shim.h" +#include "opentelemetry/opentracingshim/span_shim.h" +#include "opentelemetry/opentracingshim/tracer_shim.h" #include "opentelemetry/trace/context.h" +#include "opentelemetry/trace/default_span.h" +#include "opentelemetry/trace/span.h" +#include "opentelemetry/trace/span_context.h" #include "opentracing/ext/tags.h" +#include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim From a50aa2a926ad9146145f88811f8610284e8b392d Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 15:24:11 +0100 Subject: [PATCH 07/16] shim, continued --- .../opentracingshim/shim_utils.h | 1 - opentracing-shim/src/span_context_shim.cc | 8 ++++ opentracing-shim/src/span_shim.cc | 13 +++++++ opentracing-shim/src/tracer_shim.cc | 11 ++++++ .../test/span_context_shim_test.cc | 13 +++++-- opentracing-shim/test/tracer_shim_test.cc | 38 +++++++++++++++++-- 6 files changed, 75 insertions(+), 9 deletions(-) diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h index abeded4aac..ec4fdd1f3f 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h @@ -25,7 +25,6 @@ #include "opentelemetry/trace/span_context.h" #include "opentelemetry/trace/span_context_kv_iterable.h" #include "opentelemetry/trace/span_startoptions.h" -#include "opentelemetry/trace/tracer.h" #include "opentelemetry/version.h" #include "opentracing/propagation.h" #include "opentracing/span.h" diff --git a/opentracing-shim/src/span_context_shim.cc b/opentracing-shim/src/span_context_shim.cc index fb6379cd6a..6dfa5c2bbf 100644 --- a/opentracing-shim/src/span_context_shim.cc +++ b/opentracing-shim/src/span_context_shim.cc @@ -3,12 +3,20 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include +#include #include +#include +#include "opentelemetry/baggage/baggage.h" #include "opentelemetry/nostd/function_ref.h" +#include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/span_context_shim.h" +#include "opentelemetry/trace/span_context.h" #include "opentelemetry/trace/span_id.h" #include "opentelemetry/trace/trace_id.h" +#include "opentelemetry/version.h" +#include "opentracing/span.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/src/span_shim.cc b/opentracing-shim/src/span_shim.cc index 7b441ed0ce..caaaaae2e3 100644 --- a/opentracing-shim/src/span_shim.cc +++ b/opentracing-shim/src/span_shim.cc @@ -4,17 +4,30 @@ */ #include +#include +#include #include +#include +#include +#include #include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/common/spin_lock_mutex.h" #include "opentelemetry/common/timestamp.h" +#include "opentelemetry/nostd/span.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/shim_utils.h" #include "opentelemetry/opentracingshim/span_context_shim.h" #include "opentelemetry/opentracingshim/span_shim.h" #include "opentelemetry/semconv/exception_attributes.h" +#include "opentelemetry/trace/span.h" #include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/version.h" #include "opentracing/ext/tags.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/util.h" +#include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/src/tracer_shim.cc b/opentracing-shim/src/tracer_shim.cc index 11dcd0b5c6..562045723b 100644 --- a/opentracing-shim/src/tracer_shim.cc +++ b/opentracing-shim/src/tracer_shim.cc @@ -4,6 +4,8 @@ */ #include +#include +#include #include #include #include @@ -11,7 +13,9 @@ #include "opentelemetry/baggage/baggage_context.h" #include "opentelemetry/context/propagation/global_propagator.h" +#include "opentelemetry/context/propagation/text_map_propagator.h" #include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/propagation.h" #include "opentelemetry/opentracingshim/shim_utils.h" @@ -22,7 +26,14 @@ #include "opentelemetry/trace/default_span.h" #include "opentelemetry/trace/span.h" #include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/tracer.h" +#include "opentelemetry/version.h" +#include "opentracing/expected/expected.hpp" #include "opentracing/ext/tags.h" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/tracer.h" #include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/opentracing-shim/test/span_context_shim_test.cc b/opentracing-shim/test/span_context_shim_test.cc index 93978f079a..7860e28770 100644 --- a/opentracing-shim/test/span_context_shim_test.cc +++ b/opentracing-shim/test/span_context_shim_test.cc @@ -3,14 +3,19 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "opentelemetry/opentracingshim/span_context_shim.h" +#include +#include +#include +#include +#include #include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/nostd/unique_ptr.h" +#include "opentelemetry/opentracingshim/span_context_shim.h" #include "opentelemetry/trace/span_context.h" - #include "opentracing/noop.h" - -#include +#include "opentracing/tracer.h" +#include "opentracing/value.h" namespace trace_api = opentelemetry::trace; namespace baggage = opentelemetry::baggage; diff --git a/opentracing-shim/test/tracer_shim_test.cc b/opentracing-shim/test/tracer_shim_test.cc index 2d3f2618da..8e77747641 100644 --- a/opentracing-shim/test/tracer_shim_test.cc +++ b/opentracing-shim/test/tracer_shim_test.cc @@ -3,16 +3,46 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "shim_mocks.h" - +#include +#include +#include +#include +#include +#include +#include +#include + +#include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/common/key_value_iterable.h" +#include "opentelemetry/context/propagation/text_map_propagator.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/span.h" +#include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/shim_utils.h" #include "opentelemetry/opentracingshim/span_context_shim.h" #include "opentelemetry/opentracingshim/span_shim.h" #include "opentelemetry/opentracingshim/tracer_shim.h" - +#include "opentelemetry/trace/default_span.h" +#include "opentelemetry/trace/provider.h" +#include "opentelemetry/trace/span.h" +#include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_context_kv_iterable.h" +#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/trace/span_startoptions.h" +#include "opentelemetry/trace/trace_flags.h" +#include "opentelemetry/trace/trace_id.h" +#include "opentelemetry/trace/tracer.h" +#include "opentelemetry/trace/tracer_provider.h" +#include "opentracing/expected/expected.hpp" #include "opentracing/noop.h" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/tracer.h" +#include "opentracing/util.h" +#include "opentracing/value.h" -#include +#include "shim_mocks.h" namespace trace_api = opentelemetry::trace; namespace nostd = opentelemetry::nostd; From 809cd656a61eea1b4664ba4d58943009bd62131d Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 15:55:54 +0100 Subject: [PATCH 08/16] cleanup --- exporters/otlp/test/otlp_recordable_test.cc | 1 + opentracing-shim/src/shim_utils.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/exporters/otlp/test/otlp_recordable_test.cc b/exporters/otlp/test/otlp_recordable_test.cc index 8309811ae0..ef56bcdc38 100644 --- a/exporters/otlp/test/otlp_recordable_test.cc +++ b/exporters/otlp/test/otlp_recordable_test.cc @@ -38,6 +38,7 @@ // clang-format off #include "opentelemetry/exporters/otlp/protobuf_include_prefix.h" // IWYU pragma: keep +#include // IWYU pragma: keep #include "opentelemetry/proto/collector/trace/v1/trace_service.pb.h" #include "opentelemetry/proto/common/v1/common.pb.h" #include "opentelemetry/proto/resource/v1/resource.pb.h" diff --git a/opentracing-shim/src/shim_utils.cc b/opentracing-shim/src/shim_utils.cc index 6cfb9a5328..d1241db621 100644 --- a/opentracing-shim/src/shim_utils.cc +++ b/opentracing-shim/src/shim_utils.cc @@ -6,6 +6,7 @@ #include "opentelemetry/opentracingshim/shim_utils.h" #include "opentelemetry/baggage/baggage_context.h" +#include "opentelemetry/context/runtime_context.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim From dacfb0784b6d3c5b90343b1169e375a4ffda32ff Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 16:13:29 +0100 Subject: [PATCH 09/16] cleanup --- .../opentelemetry/opentracingshim/propagation.h | 5 +++-- .../opentelemetry/opentracingshim/shim_utils.h | 13 +++++++------ .../opentracingshim/span_context_shim.h | 3 ++- .../opentelemetry/opentracingshim/span_shim.h | 11 ++++++----- .../opentelemetry/opentracingshim/tracer_shim.h | 11 ++++++----- opentracing-shim/src/span_context_shim.cc | 3 ++- opentracing-shim/src/span_shim.cc | 11 ++++++----- opentracing-shim/src/tracer_shim.cc | 15 ++++++++------- opentracing-shim/test/propagation_test.cc | 10 ++++++---- opentracing-shim/test/shim_mocks.h | 9 +++++---- opentracing-shim/test/shim_utils_test.cc | 16 +++++++++------- opentracing-shim/test/span_context_shim_test.cc | 7 ++++--- opentracing-shim/test/span_shim_test.cc | 10 ++++++---- opentracing-shim/test/tracer_shim_test.cc | 15 ++++++++------- 14 files changed, 78 insertions(+), 61 deletions(-) diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/propagation.h b/opentracing-shim/include/opentelemetry/opentracingshim/propagation.h index 4e44276a3d..3eceedb35f 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/propagation.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/propagation.h @@ -5,13 +5,14 @@ #pragma once +#include "opentracing/propagation.h" +#include "opentracing/value.h" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/common/attribute_value.h" #include "opentelemetry/context/propagation/text_map_propagator.h" #include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/nostd/string_view.h" -#include "opentracing/propagation.h" -#include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h index ec4fdd1f3f..f072168702 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/shim_utils.h @@ -13,6 +13,13 @@ #include #include +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/tracer.h" +#include "opentracing/value.h" +#include "opentracing/variant/recursive_wrapper.hpp" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/common/attribute_value.h" #include "opentelemetry/common/key_value_iterable.h" @@ -26,12 +33,6 @@ #include "opentelemetry/trace/span_context_kv_iterable.h" #include "opentelemetry/trace/span_startoptions.h" #include "opentelemetry/version.h" -#include "opentracing/propagation.h" -#include "opentracing/span.h" -#include "opentracing/string_view.h" -#include "opentracing/tracer.h" -#include "opentracing/value.h" -#include "opentracing/variant/recursive_wrapper.hpp" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h b/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h index 6de2f2d1f5..8eba4a6377 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/span_context_shim.h @@ -8,12 +8,13 @@ #include #include +#include "opentracing/span.h" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/trace/span_context.h" #include "opentelemetry/version.h" -#include "opentracing/span.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h b/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h index 8aea326d4c..f15a07f2dc 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/span_shim.h @@ -10,6 +10,12 @@ #include #include +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/tracer.h" +#include "opentracing/util.h" +#include "opentracing/value.h" + #include "opentelemetry/common/spin_lock_mutex.h" #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/span.h" @@ -17,11 +23,6 @@ #include "opentelemetry/opentracingshim/tracer_shim.h" #include "opentelemetry/trace/span.h" #include "opentelemetry/version.h" -#include "opentracing/span.h" -#include "opentracing/string_view.h" -#include "opentracing/tracer.h" -#include "opentracing/util.h" -#include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h b/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h index e10fd07968..fcce5a6341 100644 --- a/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h +++ b/opentracing-shim/include/opentelemetry/opentracingshim/tracer_shim.h @@ -8,17 +8,18 @@ #include #include +#include "opentracing/expected/expected.hpp" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/tracer.h" + #include "opentelemetry/context/propagation/text_map_propagator.h" #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/trace/provider.h" #include "opentelemetry/trace/tracer.h" #include "opentelemetry/trace/tracer_provider.h" #include "opentelemetry/version.h" -#include "opentracing/expected/expected.hpp" -#include "opentracing/propagation.h" -#include "opentracing/span.h" -#include "opentracing/string_view.h" -#include "opentracing/tracer.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/src/span_context_shim.cc b/opentracing-shim/src/span_context_shim.cc index 6dfa5c2bbf..153d40154e 100644 --- a/opentracing-shim/src/span_context_shim.cc +++ b/opentracing-shim/src/span_context_shim.cc @@ -8,6 +8,8 @@ #include #include +#include "opentracing/span.h" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/nostd/string_view.h" @@ -16,7 +18,6 @@ #include "opentelemetry/trace/span_id.h" #include "opentelemetry/trace/trace_id.h" #include "opentelemetry/version.h" -#include "opentracing/span.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/src/span_shim.cc b/opentracing-shim/src/span_shim.cc index caaaaae2e3..6bbac7ee80 100644 --- a/opentracing-shim/src/span_shim.cc +++ b/opentracing-shim/src/span_shim.cc @@ -11,6 +11,12 @@ #include #include +#include "opentracing/ext/tags.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/util.h" +#include "opentracing/value.h" + #include "opentelemetry/common/attribute_value.h" #include "opentelemetry/common/spin_lock_mutex.h" #include "opentelemetry/common/timestamp.h" @@ -23,11 +29,6 @@ #include "opentelemetry/trace/span.h" #include "opentelemetry/trace/span_metadata.h" #include "opentelemetry/version.h" -#include "opentracing/ext/tags.h" -#include "opentracing/span.h" -#include "opentracing/string_view.h" -#include "opentracing/util.h" -#include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/src/tracer_shim.cc b/opentracing-shim/src/tracer_shim.cc index 562045723b..8c1ae8328a 100644 --- a/opentracing-shim/src/tracer_shim.cc +++ b/opentracing-shim/src/tracer_shim.cc @@ -11,6 +11,14 @@ #include #include +#include "opentracing/expected/expected.hpp" +#include "opentracing/ext/tags.h" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/tracer.h" +#include "opentracing/value.h" + #include "opentelemetry/baggage/baggage_context.h" #include "opentelemetry/context/propagation/global_propagator.h" #include "opentelemetry/context/propagation/text_map_propagator.h" @@ -28,13 +36,6 @@ #include "opentelemetry/trace/span_context.h" #include "opentelemetry/trace/tracer.h" #include "opentelemetry/version.h" -#include "opentracing/expected/expected.hpp" -#include "opentracing/ext/tags.h" -#include "opentracing/propagation.h" -#include "opentracing/span.h" -#include "opentracing/string_view.h" -#include "opentracing/tracer.h" -#include "opentracing/value.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/test/propagation_test.cc b/opentracing-shim/test/propagation_test.cc index 01d2e59cb0..497f0eb0ae 100644 --- a/opentracing-shim/test/propagation_test.cc +++ b/opentracing-shim/test/propagation_test.cc @@ -10,15 +10,17 @@ #include #include +#include "opentracing/expected/expected.hpp" +#include "opentracing/propagation.h" +#include "opentracing/string_view.h" +#include "opentracing/util.h" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/common/attribute_value.h" #include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/propagation.h" -#include "opentracing/expected/expected.hpp" -#include "opentracing/propagation.h" -#include "opentracing/string_view.h" -#include "opentracing/util.h" + #include "shim_mocks.h" namespace baggage = opentelemetry::baggage; diff --git a/opentracing-shim/test/shim_mocks.h b/opentracing-shim/test/shim_mocks.h index b39b2b3781..485e166233 100644 --- a/opentracing-shim/test/shim_mocks.h +++ b/opentracing-shim/test/shim_mocks.h @@ -5,6 +5,11 @@ #pragma once +#include +#include + +#include "opentracing/propagation.h" + #include "opentelemetry/baggage/baggage_context.h" #include "opentelemetry/context/propagation/text_map_propagator.h" #include "opentelemetry/trace/span.h" @@ -12,10 +17,6 @@ #include "opentelemetry/trace/span_metadata.h" #include "opentelemetry/trace/tracer.h" #include "opentelemetry/trace/tracer_provider.h" -#include "opentracing/propagation.h" - -#include -#include namespace trace_api = opentelemetry::trace; namespace baggage = opentelemetry::baggage; diff --git a/opentracing-shim/test/shim_utils_test.cc b/opentracing-shim/test/shim_utils_test.cc index 86a52185a6..6af28d60cb 100644 --- a/opentracing-shim/test/shim_utils_test.cc +++ b/opentracing-shim/test/shim_utils_test.cc @@ -13,6 +13,14 @@ #include #include +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/tracer.h" +#include "opentracing/util.h" +#include "opentracing/value.h" +#include "opentracing/variant/recursive_wrapper.hpp" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/baggage/baggage_context.h" #include "opentelemetry/common/attribute_value.h" @@ -27,13 +35,7 @@ #include "opentelemetry/opentracingshim/span_context_shim.h" #include "opentelemetry/trace/span_context.h" #include "opentelemetry/trace/span_startoptions.h" -#include "opentracing/propagation.h" -#include "opentracing/span.h" -#include "opentracing/string_view.h" -#include "opentracing/tracer.h" -#include "opentracing/util.h" -#include "opentracing/value.h" -#include "opentracing/variant/recursive_wrapper.hpp" + #include "shim_mocks.h" namespace trace_api = opentelemetry::trace; diff --git a/opentracing-shim/test/span_context_shim_test.cc b/opentracing-shim/test/span_context_shim_test.cc index 7860e28770..7ab21683e6 100644 --- a/opentracing-shim/test/span_context_shim_test.cc +++ b/opentracing-shim/test/span_context_shim_test.cc @@ -9,13 +9,14 @@ #include #include +#include "opentracing/noop.h" +#include "opentracing/tracer.h" +#include "opentracing/value.h" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/nostd/unique_ptr.h" #include "opentelemetry/opentracingshim/span_context_shim.h" #include "opentelemetry/trace/span_context.h" -#include "opentracing/noop.h" -#include "opentracing/tracer.h" -#include "opentracing/value.h" namespace trace_api = opentelemetry::trace; namespace baggage = opentelemetry::baggage; diff --git a/opentracing-shim/test/span_shim_test.cc b/opentracing-shim/test/span_shim_test.cc index e15bb07f59..0b1aaf80c3 100644 --- a/opentracing-shim/test/span_shim_test.cc +++ b/opentracing-shim/test/span_shim_test.cc @@ -16,6 +16,11 @@ #include #include +#include "opentracing/span.h" +#include "opentracing/string_view.h" +#include "opentracing/util.h" +#include "opentracing/value.h" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/common/attribute_value.h" #include "opentelemetry/common/timestamp.h" @@ -27,10 +32,7 @@ #include "opentelemetry/opentracingshim/tracer_shim.h" #include "opentelemetry/trace/span.h" #include "opentelemetry/trace/span_metadata.h" -#include "opentracing/span.h" -#include "opentracing/string_view.h" -#include "opentracing/util.h" -#include "opentracing/value.h" + #include "shim_mocks.h" namespace trace_api = opentelemetry::trace; diff --git a/opentracing-shim/test/tracer_shim_test.cc b/opentracing-shim/test/tracer_shim_test.cc index 8e77747641..4b2f4a9d9b 100644 --- a/opentracing-shim/test/tracer_shim_test.cc +++ b/opentracing-shim/test/tracer_shim_test.cc @@ -12,6 +12,14 @@ #include #include +#include "opentracing/expected/expected.hpp" +#include "opentracing/noop.h" +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/tracer.h" +#include "opentracing/util.h" +#include "opentracing/value.h" + #include "opentelemetry/baggage/baggage.h" #include "opentelemetry/common/key_value_iterable.h" #include "opentelemetry/context/propagation/text_map_propagator.h" @@ -34,13 +42,6 @@ #include "opentelemetry/trace/trace_id.h" #include "opentelemetry/trace/tracer.h" #include "opentelemetry/trace/tracer_provider.h" -#include "opentracing/expected/expected.hpp" -#include "opentracing/noop.h" -#include "opentracing/propagation.h" -#include "opentracing/span.h" -#include "opentracing/tracer.h" -#include "opentracing/util.h" -#include "opentracing/value.h" #include "shim_mocks.h" From 380d7070beb9bff481a6caf6d50985938ab1af6a Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 16:30:31 +0100 Subject: [PATCH 10/16] cleanup --- .iwyu.imp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.iwyu.imp b/.iwyu.imp index 30e12986dd..9aca1acdc2 100644 --- a/.iwyu.imp +++ b/.iwyu.imp @@ -11,6 +11,9 @@ { "include": ["", "private", "", "public"] }, { "include": ["", "private", "", "public"] }, + # Work around for google protobuf + { "include": ["", "private", "", "public"] }, + # Local opentelemetry-cpp style # We prefer to include for simplicity From 1845efac5b754bab984764f4fb34984b3005ea13 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 17:34:06 +0100 Subject: [PATCH 11/16] more cleanup --- opentracing-shim/src/shim_utils.cc | 6 +++++- opentracing-shim/test/span_context_shim_test.cc | 3 +++ opentracing-shim/test/tracer_shim_test.cc | 1 - 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/opentracing-shim/src/shim_utils.cc b/opentracing-shim/src/shim_utils.cc index d1241db621..5b62f98e05 100644 --- a/opentracing-shim/src/shim_utils.cc +++ b/opentracing-shim/src/shim_utils.cc @@ -3,10 +3,14 @@ * SPDX-License-Identifier: Apache-2.0 */ -#include "opentelemetry/opentracingshim/shim_utils.h" +#include +#include #include "opentelemetry/baggage/baggage_context.h" +#include "opentelemetry/common/timestamp.h" #include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/variant.h" +#include "opentelemetry/opentracingshim/shim_utils.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim diff --git a/opentracing-shim/test/span_context_shim_test.cc b/opentracing-shim/test/span_context_shim_test.cc index 7ab21683e6..9433f3a1cb 100644 --- a/opentracing-shim/test/span_context_shim_test.cc +++ b/opentracing-shim/test/span_context_shim_test.cc @@ -6,14 +6,17 @@ #include #include #include +#include #include #include #include "opentracing/noop.h" +#include "opentracing/span.h" #include "opentracing/tracer.h" #include "opentracing/value.h" #include "opentelemetry/baggage/baggage.h" +#include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/unique_ptr.h" #include "opentelemetry/opentracingshim/span_context_shim.h" #include "opentelemetry/trace/span_context.h" diff --git a/opentracing-shim/test/tracer_shim_test.cc b/opentracing-shim/test/tracer_shim_test.cc index 4b2f4a9d9b..7e48f47d0c 100644 --- a/opentracing-shim/test/tracer_shim_test.cc +++ b/opentracing-shim/test/tracer_shim_test.cc @@ -28,7 +28,6 @@ #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/opentracingshim/shim_utils.h" #include "opentelemetry/opentracingshim/span_context_shim.h" -#include "opentelemetry/opentracingshim/span_shim.h" #include "opentelemetry/opentracingshim/tracer_shim.h" #include "opentelemetry/trace/default_span.h" #include "opentelemetry/trace/provider.h" From 32117279571b8a66ab94a58be2f9dfe16fb04d46 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 18:25:21 +0100 Subject: [PATCH 12/16] almost complete --- .iwyu.imp | 3 --- .../otlp/test/otlp_http_metric_exporter_test.cc | 3 ++- exporters/otlp/test/otlp_log_recordable_test.cc | 1 + exporters/otlp/test/otlp_recordable_test.cc | 2 +- opentracing-shim/src/shim_utils.cc | 14 ++++++++++++++ 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/.iwyu.imp b/.iwyu.imp index 9aca1acdc2..30e12986dd 100644 --- a/.iwyu.imp +++ b/.iwyu.imp @@ -11,9 +11,6 @@ { "include": ["", "private", "", "public"] }, { "include": ["", "private", "", "public"] }, - # Work around for google protobuf - { "include": ["", "private", "", "public"] }, - # Local opentelemetry-cpp style # We prefer to include for simplicity diff --git a/exporters/otlp/test/otlp_http_metric_exporter_test.cc b/exporters/otlp/test/otlp_http_metric_exporter_test.cc index 06dbad6ff9..42034649ab 100644 --- a/exporters/otlp/test/otlp_http_metric_exporter_test.cc +++ b/exporters/otlp/test/otlp_http_metric_exporter_test.cc @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include +#include "gmock/gmock.h" #include #include #include @@ -39,6 +39,7 @@ // clang-format off #include "opentelemetry/exporters/otlp/protobuf_include_prefix.h" // IWYU pragma: keep +// IWYU pragma: no_include "net/proto2/public/repeated_field.h" #include #include "opentelemetry/proto/collector/metrics/v1/metrics_service.pb.h" #include "opentelemetry/proto/common/v1/common.pb.h" diff --git a/exporters/otlp/test/otlp_log_recordable_test.cc b/exporters/otlp/test/otlp_log_recordable_test.cc index b2e965b185..571f600b22 100644 --- a/exporters/otlp/test/otlp_log_recordable_test.cc +++ b/exporters/otlp/test/otlp_log_recordable_test.cc @@ -24,6 +24,7 @@ // clang-format off #include "opentelemetry/exporters/otlp/protobuf_include_prefix.h" // IWYU pragma: keep +// IWYU pragma: no_include "net/proto2/public/repeated_field.h" #include "opentelemetry/proto/common/v1/common.pb.h" #include "opentelemetry/proto/logs/v1/logs.pb.h" #include "opentelemetry/exporters/otlp/protobuf_include_suffix.h" // IWYU pragma: keep diff --git a/exporters/otlp/test/otlp_recordable_test.cc b/exporters/otlp/test/otlp_recordable_test.cc index ef56bcdc38..c2449c2c25 100644 --- a/exporters/otlp/test/otlp_recordable_test.cc +++ b/exporters/otlp/test/otlp_recordable_test.cc @@ -38,7 +38,7 @@ // clang-format off #include "opentelemetry/exporters/otlp/protobuf_include_prefix.h" // IWYU pragma: keep -#include // IWYU pragma: keep +// IWYU pragma: no_include "net/proto2/public/repeated_field.h" #include "opentelemetry/proto/collector/trace/v1/trace_service.pb.h" #include "opentelemetry/proto/common/v1/common.pb.h" #include "opentelemetry/proto/resource/v1/resource.pb.h" diff --git a/opentracing-shim/src/shim_utils.cc b/opentracing-shim/src/shim_utils.cc index 5b62f98e05..e3f6fc72cf 100644 --- a/opentracing-shim/src/shim_utils.cc +++ b/opentracing-shim/src/shim_utils.cc @@ -3,14 +3,28 @@ * SPDX-License-Identifier: Apache-2.0 */ +#include #include +#include #include +#include +#include +#include "opentracing/propagation.h" +#include "opentracing/span.h" +#include "opentracing/tracer.h" + +#include "opentelemetry/baggage/baggage.h" #include "opentelemetry/baggage/baggage_context.h" #include "opentelemetry/common/timestamp.h" #include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/variant.h" #include "opentelemetry/opentracingshim/shim_utils.h" +#include "opentelemetry/opentracingshim/span_context_shim.h" +#include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_startoptions.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace opentracingshim From 77e60425244157b62a7b4ed4abc5e6d6245526d0 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 21:15:46 +0100 Subject: [PATCH 13/16] format --- exporters/otlp/test/otlp_http_metric_exporter_test.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporters/otlp/test/otlp_http_metric_exporter_test.cc b/exporters/otlp/test/otlp_http_metric_exporter_test.cc index 42034649ab..9690da070a 100644 --- a/exporters/otlp/test/otlp_http_metric_exporter_test.cc +++ b/exporters/otlp/test/otlp_http_metric_exporter_test.cc @@ -1,7 +1,6 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "gmock/gmock.h" #include #include #include @@ -13,6 +12,7 @@ #include #include #include +#include "gmock/gmock.h" #include "opentelemetry/common/timestamp.h" #include "opentelemetry/exporters/otlp/otlp_environment.h" From ddc12deaa53dffce1a6fb2abaaec1730ad2d1ac0 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 11 Jan 2025 22:55:37 +0100 Subject: [PATCH 14/16] more cleanup --- exporters/otlp/test/otlp_http_metric_exporter_test.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/exporters/otlp/test/otlp_http_metric_exporter_test.cc b/exporters/otlp/test/otlp_http_metric_exporter_test.cc index 9690da070a..8c8c99f2f2 100644 --- a/exporters/otlp/test/otlp_http_metric_exporter_test.cc +++ b/exporters/otlp/test/otlp_http_metric_exporter_test.cc @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 #include -#include #include #include #include From 79f1a2d943299d8ea7fb64651416d5dcb5631ff7 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Mon, 13 Jan 2025 12:01:14 +0100 Subject: [PATCH 15/16] merge cleanup --- .github/workflows/iwyu.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index ac1c692b09..2aa91e0741 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -50,6 +50,7 @@ jobs: -DWITH_OTLP_FILE=ON \ -DWITH_OPENTRACING=ON \ -DWITH_OTLP_HTTP_COMPRESSION=ON \ + -DWITH_THREAD_INSTRUMENTATION=ON \ -DWITH_ZIPKIN=ON \ -DWITH_PROMETHEUS=ON \ .. From 9f38b775e37a9b36d99575bfc4abc7c6282141d4 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Mon, 13 Jan 2025 14:40:39 +0100 Subject: [PATCH 16/16] Merge cleanup --- examples/otlp/http_instrumented_main.cc | 15 +++++++++------ exporters/otlp/src/otlp_file_client.cc | 1 + exporters/otlp/src/otlp_http_exporter.cc | 1 + sdk/src/logs/batch_log_record_processor.cc | 1 - .../export/periodic_exporting_metric_reader.cc | 1 - sdk/src/trace/batch_span_processor.cc | 1 - 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/examples/otlp/http_instrumented_main.cc b/examples/otlp/http_instrumented_main.cc index 39bbea98e7..19f7a2d572 100644 --- a/examples/otlp/http_instrumented_main.cc +++ b/examples/otlp/http_instrumented_main.cc @@ -6,8 +6,6 @@ #include #include -#include "opentelemetry/exporters/otlp/otlp_environment.h" -#include "opentelemetry/exporters/otlp/otlp_http.h" #include "opentelemetry/exporters/otlp/otlp_http_exporter_factory.h" #include "opentelemetry/exporters/otlp/otlp_http_exporter_options.h" #include "opentelemetry/exporters/otlp/otlp_http_exporter_runtime_options.h" @@ -17,7 +15,6 @@ #include "opentelemetry/exporters/otlp/otlp_http_metric_exporter_factory.h" #include "opentelemetry/exporters/otlp/otlp_http_metric_exporter_options.h" #include "opentelemetry/exporters/otlp/otlp_http_metric_exporter_runtime_options.h" -#include "opentelemetry/logs/log_record.h" #include "opentelemetry/logs/logger_provider.h" #include "opentelemetry/logs/provider.h" #include "opentelemetry/metrics/meter_provider.h" @@ -25,7 +22,6 @@ #include "opentelemetry/sdk/logs/batch_log_record_processor_factory.h" #include "opentelemetry/sdk/logs/logger_provider.h" #include "opentelemetry/sdk/logs/logger_provider_factory.h" -#include "opentelemetry/sdk/logs/recordable.h" #include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_factory.h" #include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_options.h" #include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_runtime_options.h" @@ -38,13 +34,20 @@ #include "opentelemetry/sdk/trace/batch_span_processor_options.h" #include "opentelemetry/sdk/trace/batch_span_processor_runtime_options.h" #include "opentelemetry/sdk/trace/processor.h" -#include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/sdk/trace/tracer_provider.h" #include "opentelemetry/sdk/trace/tracer_provider_factory.h" #include "opentelemetry/trace/provider.h" -#include "opentelemetry/trace/span_id.h" #include "opentelemetry/trace/tracer_provider.h" +#include +#include +#include "opentelemetry/sdk/logs/batch_log_record_processor_options.h" +#include "opentelemetry/sdk/logs/batch_log_record_processor_runtime_options.h" +#include "opentelemetry/sdk/logs/exporter.h" +#include "opentelemetry/sdk/logs/processor.h" +#include "opentelemetry/sdk/metrics/meter_provider.h" +#include "opentelemetry/sdk/trace/exporter.h" + #ifdef BAZEL_BUILD # include "examples/common/logs_foo_library/foo_library.h" # include "examples/common/metrics_foo_library/foo_library.h" diff --git a/exporters/otlp/src/otlp_file_client.cc b/exporters/otlp/src/otlp_file_client.cc index 8f8f7793dd..dab212871c 100644 --- a/exporters/otlp/src/otlp_file_client.cc +++ b/exporters/otlp/src/otlp_file_client.cc @@ -114,6 +114,7 @@ #include "opentelemetry/sdk/common/base64.h" #include "opentelemetry/sdk/common/exporter_utils.h" #include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/common/thread_instrumentation.h" #include "opentelemetry/version.h" // clang-format off diff --git a/exporters/otlp/src/otlp_http_exporter.cc b/exporters/otlp/src/otlp_http_exporter.cc index 0514a2d036..95383d164a 100644 --- a/exporters/otlp/src/otlp_http_exporter.cc +++ b/exporters/otlp/src/otlp_http_exporter.cc @@ -19,6 +19,7 @@ #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/sdk/common/exporter_utils.h" #include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/common/thread_instrumentation.h" #include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/version.h" diff --git a/sdk/src/logs/batch_log_record_processor.cc b/sdk/src/logs/batch_log_record_processor.cc index e2a4c12463..2080136303 100644 --- a/sdk/src/logs/batch_log_record_processor.cc +++ b/sdk/src/logs/batch_log_record_processor.cc @@ -19,7 +19,6 @@ #include "opentelemetry/sdk/common/atomic_unique_ptr.h" #include "opentelemetry/sdk/common/circular_buffer.h" #include "opentelemetry/sdk/common/circular_buffer_range.h" -#include "opentelemetry/sdk/common/thread_instrumentation.h" #include "opentelemetry/sdk/logs/batch_log_record_processor.h" #include "opentelemetry/sdk/logs/batch_log_record_processor_options.h" #include "opentelemetry/sdk/logs/batch_log_record_processor_runtime_options.h" diff --git a/sdk/src/metrics/export/periodic_exporting_metric_reader.cc b/sdk/src/metrics/export/periodic_exporting_metric_reader.cc index 1e4916e4db..f9970312e4 100644 --- a/sdk/src/metrics/export/periodic_exporting_metric_reader.cc +++ b/sdk/src/metrics/export/periodic_exporting_metric_reader.cc @@ -16,7 +16,6 @@ #include "opentelemetry/common/timestamp.h" #include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/sdk/common/global_log_handler.h" -#include "opentelemetry/sdk/common/thread_instrumentation.h" #include "opentelemetry/sdk/metrics/export/metric_producer.h" #include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader.h" #include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader_options.h" diff --git a/sdk/src/trace/batch_span_processor.cc b/sdk/src/trace/batch_span_processor.cc index 595068529a..9a16724e4d 100644 --- a/sdk/src/trace/batch_span_processor.cc +++ b/sdk/src/trace/batch_span_processor.cc @@ -20,7 +20,6 @@ #include "opentelemetry/sdk/common/circular_buffer.h" #include "opentelemetry/sdk/common/circular_buffer_range.h" #include "opentelemetry/sdk/common/global_log_handler.h" -#include "opentelemetry/sdk/common/thread_instrumentation.h" #include "opentelemetry/sdk/trace/batch_span_processor.h" #include "opentelemetry/sdk/trace/batch_span_processor_options.h" #include "opentelemetry/sdk/trace/batch_span_processor_runtime_options.h"