From 7b1d085e09fd31a519e002d84b198fd6499870bb Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 5 Apr 2024 15:32:11 +0200 Subject: [PATCH 01/25] CI include-what-you-use --- .github/workflows/iwyu.yml | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/iwyu.yml diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml new file mode 100644 index 0000000000..2740ee74f2 --- /dev/null +++ b/.github/workflows/iwyu.yml @@ -0,0 +1,39 @@ + +name: include-what-you-use + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + iwyu: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + + - name: Prepare CMake + run: | + cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release + + - name: iwyu_tool + run: | + PWD=$(pwd) + # -isystem/usr/lib/clang/17/include + iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log + + - uses: actions/upload-artifact@v3 + if: success() || failure() + with: + name: Compilation Database + path: ./cmake.output/compile_commands.json + + - uses: actions/upload-artifact@v3 + if: success() || failure() + with: + name: Logs (include-what-you-use) + path: ./*.log + From 2f89b66d36001c560f1bc1aefe7c2d294533030e Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 5 Apr 2024 15:36:39 +0200 Subject: [PATCH 02/25] Add dependencies, including gtest --- .github/workflows/iwyu.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 2740ee74f2..6eee9d3b00 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -15,6 +15,21 @@ jobs: with: submodules: 'recursive' + - name: setup dependencies + run: | + sudo apt update -y + sudo apt install -y --no-install-recommends --no-install-suggests \ + build-essential \ + cmake \ + ninja-build \ + libssl-dev \ + libcurl4-openssl-dev \ + libprotobuf-dev \ + protobuf-compiler \ + libgmock-dev \ + libgtest-dev \ + libbenchmark-dev + - name: Prepare CMake run: | cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release From 0c425d50fc097582b66084e882f9176b981228af Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 5 Apr 2024 15:41:27 +0200 Subject: [PATCH 03/25] Add iwyu --- .github/workflows/iwyu.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 6eee9d3b00..297ad2a0f9 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -20,6 +20,7 @@ jobs: sudo apt update -y sudo apt install -y --no-install-recommends --no-install-suggests \ build-essential \ + iwyu \ cmake \ ninja-build \ libssl-dev \ From 7fa7e286e804a9ab50d9d391690c053bd41a1432 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 5 Apr 2024 15:46:49 +0200 Subject: [PATCH 04/25] Export compile commands --- .github/workflows/iwyu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 297ad2a0f9..13235b6471 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -33,7 +33,7 @@ jobs: - name: Prepare CMake run: | - cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release + cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: iwyu_tool run: | From 0bb30574a284caec53a682f9f4058f1eb1a55e53 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 5 Apr 2024 15:59:13 +0200 Subject: [PATCH 05/25] cleanup --- .github/workflows/iwyu.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 13235b6471..d5933fceb5 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -39,7 +39,8 @@ jobs: run: | PWD=$(pwd) # -isystem/usr/lib/clang/17/include - iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log + # iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log + iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu > iwyu.log - uses: actions/upload-artifact@v3 if: success() || failure() From 852e94ed608f0e7ce38f77c1c011d662e3c756d2 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 22:41:33 +0200 Subject: [PATCH 06/25] Debugging ci. --- .github/workflows/iwyu.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index d5933fceb5..935ea7a919 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -40,7 +40,11 @@ jobs: PWD=$(pwd) # -isystem/usr/lib/clang/17/include # iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log - iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu > iwyu.log + which iwyu_tool + iwyu_tool --version + iwyu_tool --help + RC = iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log + - uses: actions/upload-artifact@v3 if: success() || failure() From 2ae34bf3708729ba6ebcc894013abb2b68e7d573 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 22:44:32 +0200 Subject: [PATCH 07/25] Debug ci. --- .github/workflows/iwyu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 935ea7a919..5226097288 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -41,8 +41,8 @@ jobs: # -isystem/usr/lib/clang/17/include # iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log which iwyu_tool - iwyu_tool --version - iwyu_tool --help + iwyu_tool -v + iwyu_tool -h RC = iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log From 3811678652cc22991760be659bb0607baea99051 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 22:49:46 +0200 Subject: [PATCH 08/25] Debug ci. --- .github/workflows/iwyu.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 5226097288..163cf87566 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -41,8 +41,6 @@ jobs: # -isystem/usr/lib/clang/17/include # iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log which iwyu_tool - iwyu_tool -v - iwyu_tool -h RC = iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log From 5a73ecc320182ed394d9b65bb8b5748f6d3424c4 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 22:52:12 +0200 Subject: [PATCH 09/25] Debug --- .github/workflows/iwyu.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 163cf87566..e55d03d415 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -41,8 +41,8 @@ jobs: # -isystem/usr/lib/clang/17/include # iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log which iwyu_tool - RC = iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log - + RC=iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log + echo "IWYU Status= ${RC}" - uses: actions/upload-artifact@v3 if: success() || failure() From af90249494d5029d4a27d32a2045aa9b2b9a79e8 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 22:56:24 +0200 Subject: [PATCH 10/25] Debug --- .github/workflows/iwyu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index e55d03d415..db9f15e44d 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -41,7 +41,7 @@ jobs: # -isystem/usr/lib/clang/17/include # iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log which iwyu_tool - RC=iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log + RC=`iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log` echo "IWYU Status= ${RC}" - uses: actions/upload-artifact@v3 From 3af71a263ded634723bcde9b321a2fee5992eb6e Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 23:14:19 +0200 Subject: [PATCH 11/25] Rewrite iwyu ci --- .github/workflows/iwyu.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index db9f15e44d..0de24aed63 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -33,22 +33,22 @@ jobs: - name: Prepare CMake run: | - cmake -S . -B cmake.output -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + pwd + mkdir build && cd build + CC="clang" CXX="clang++" cmake ../opentelemetry-cpp/opentelemetry-cpp - name: iwyu_tool run: | - PWD=$(pwd) - # -isystem/usr/lib/clang/17/include - # iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu --comment_style=long -Xiwyu --quoted_includes_first -Xiwyu --update_comments -Xiwyu > iwyu.log - which iwyu_tool - RC=`iwyu_tool -p cmake.output -j $(nproc) -- -w -Xiwyu --max_line_length=1024 -Xiwyu | tee -a iwyu.log` - echo "IWYU Status= ${RC}" - - - uses: actions/upload-artifact@v3 - if: success() || failure() - with: - name: Compilation Database - path: ./cmake.output/compile_commands.json + pwd + cd build + make CXX=include-what-you-use CXXFLAGS="-Xiwyu --error_always" 2> iwyu.log + cat iwyu.log + +# - uses: actions/upload-artifact@v3 +# if: success() || failure() +# with: +# name: Compilation Database +# path: ./cmake.output/compile_commands.json - uses: actions/upload-artifact@v3 if: success() || failure() From f9c81f299d65b0ea75d7e62e284a66ad3a9bd778 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 23:19:29 +0200 Subject: [PATCH 12/25] Debug ci --- .github/workflows/iwyu.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 0de24aed63..4377aa12cd 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -33,13 +33,11 @@ jobs: - name: Prepare CMake run: | - pwd mkdir build && cd build - CC="clang" CXX="clang++" cmake ../opentelemetry-cpp/opentelemetry-cpp + CC="clang" CXX="clang++" cmake .. - name: iwyu_tool run: | - pwd cd build make CXX=include-what-you-use CXXFLAGS="-Xiwyu --error_always" 2> iwyu.log cat iwyu.log From da2e409c5f594e6139ecb738faf6679155246995 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Thu, 16 May 2024 23:33:56 +0200 Subject: [PATCH 13/25] iwyu ci --- .github/workflows/iwyu.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 4377aa12cd..e3e23df833 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -34,12 +34,12 @@ jobs: - name: Prepare CMake run: | mkdir build && cd build - CC="clang" CXX="clang++" cmake .. + CC="clang" CXX="clang++" cmake -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--verbose=7" .. - name: iwyu_tool run: | cd build - make CXX=include-what-you-use CXXFLAGS="-Xiwyu --error_always" 2> iwyu.log + make -k 2> iwyu.log cat iwyu.log # - uses: actions/upload-artifact@v3 @@ -52,5 +52,5 @@ jobs: if: success() || failure() with: name: Logs (include-what-you-use) - path: ./*.log + path: ./build/*.log From 0ea697b772da5f6fbbddb9c1cb3a65a5d9004e52 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 17 May 2024 00:05:33 +0200 Subject: [PATCH 14/25] iwyu ci --- .github/workflows/iwyu.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index e3e23df833..efa0d480f6 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -34,19 +34,12 @@ jobs: - name: Prepare CMake run: | mkdir build && cd build - CC="clang" CXX="clang++" cmake -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--verbose=7" .. + CC="clang" CXX="clang++" cmake -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--verbose=1" .. - name: iwyu_tool run: | cd build - make -k 2> iwyu.log - cat iwyu.log - -# - uses: actions/upload-artifact@v3 -# if: success() || failure() -# with: -# name: Compilation Database -# path: ./cmake.output/compile_commands.json + make -k | tee -a iwyu.log 2>&1 - uses: actions/upload-artifact@v3 if: success() || failure() From db28770c6abff38c3ca6b5becf7bbb80281cec0f Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Fri, 17 May 2024 00:50:11 +0200 Subject: [PATCH 15/25] iwyu ci --- .github/workflows/iwyu.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index efa0d480f6..601c4ff284 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -34,12 +34,16 @@ jobs: - name: Prepare CMake run: | mkdir build && cd build - CC="clang" CXX="clang++" cmake -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--verbose=1" .. + CC="clang" CXX="clang++" cmake \ + -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--verbose=1" \ + -DBUILD_TESTING=OFF \ + -DBUILD_W3CTRACECONTEXT_TEST=OFF \ + .. - name: iwyu_tool run: | cd build - make -k | tee -a iwyu.log 2>&1 + make -k 2>&1 | tee -a iwyu.log - uses: actions/upload-artifact@v3 if: success() || failure() From e8b636ab8d2cbd810b7be9c808d2fbe0794a0227 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 15:14:30 +0200 Subject: [PATCH 16/25] Code cleanup --- .../sdk/common/global_log_handler.h | 1 + sdk/include/opentelemetry/sdk/trace/tracer.h | 11 +++++++++- .../opentelemetry/sdk/trace/tracer_context.h | 2 ++ .../sdk/trace/tracer_context_factory.h | 14 +++++-------- .../opentelemetry/sdk/trace/tracer_provider.h | 11 +++++----- .../sdk/trace/tracer_provider_factory.h | 20 ++++++------------- sdk/src/common/base64.cc | 1 - sdk/src/common/platform/fork_unix.cc | 1 + sdk/src/common/random.h | 2 ++ sdk/src/resource/resource.cc | 5 ++++- sdk/src/resource/resource_detector.cc | 3 +++ sdk/src/trace/span.h | 11 ++++++++++ 12 files changed, 51 insertions(+), 31 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/common/global_log_handler.h b/sdk/include/opentelemetry/sdk/common/global_log_handler.h index 10bf42a145..a61b4fb8af 100644 --- a/sdk/include/opentelemetry/sdk/common/global_log_handler.h +++ b/sdk/include/opentelemetry/sdk/common/global_log_handler.h @@ -4,6 +4,7 @@ #pragma once #include +#include #include #include "opentelemetry/nostd/shared_ptr.h" diff --git a/sdk/include/opentelemetry/sdk/trace/tracer.h b/sdk/include/opentelemetry/sdk/trace/tracer.h index 67e606ba97..f1064395de 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer.h @@ -3,14 +3,23 @@ #pragma once +#include #include +#include "opentelemetry/common/key_value_iterable.h" #include "opentelemetry/common/macros.h" #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/nostd/unique_ptr.h" #include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h" -#include "opentelemetry/sdk/trace/samplers/always_on.h" +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" +#include "opentelemetry/sdk/trace/processor.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/tracer_context.h" +#include "opentelemetry/trace/span.h" +#include "opentelemetry/trace/span_context_kv_iterable.h" +#include "opentelemetry/trace/span_startoptions.h" #include "opentelemetry/trace/tracer.h" #include "opentelemetry/version.h" diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_context.h b/sdk/include/opentelemetry/sdk/trace/tracer_context.h index 9475c8c0b9..73bbe4f84b 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_context.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_context.h @@ -8,8 +8,10 @@ #include #include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" #include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/random_id_generator.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/samplers/always_on.h" #include "opentelemetry/version.h" diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_context_factory.h b/sdk/include/opentelemetry/sdk/trace/tracer_context_factory.h index 1911db8f93..4954fd7c3f 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_context_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_context_factory.h @@ -6,22 +6,18 @@ #include #include +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" +#include "opentelemetry/sdk/trace/processor.h" +#include "opentelemetry/sdk/trace/sampler.h" +#include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk { -namespace resource -{ -class Resource; -} // namespace resource - namespace trace { -class IdGenerator; -class Sampler; -class SpanProcessor; -class TracerContext; /** * Factory class for TracerContext. diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_provider.h b/sdk/include/opentelemetry/sdk/trace/tracer_provider.h index ce2a6d4401..1c5416e4b1 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_provider.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_provider.h @@ -3,17 +3,21 @@ #pragma once -#include #include #include -#include #include #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" +#include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/random_id_generator.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/samplers/always_on.h" +#include "opentelemetry/sdk/trace/tracer.h" +#include "opentelemetry/sdk/trace/tracer_context.h" +#include "opentelemetry/trace/tracer.h" #include "opentelemetry/trace/tracer_provider.h" #include "opentelemetry/version.h" @@ -22,9 +26,6 @@ namespace sdk { namespace trace { -class SpanProcessor; -class Tracer; -class TracerContext; class TracerProvider final : public opentelemetry::trace::TracerProvider { diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_provider_factory.h b/sdk/include/opentelemetry/sdk/trace/tracer_provider_factory.h index e9dfa82edb..17f7ea395a 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_provider_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_provider_factory.h @@ -6,27 +6,19 @@ #include #include +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" +#include "opentelemetry/sdk/trace/processor.h" +#include "opentelemetry/sdk/trace/sampler.h" +#include "opentelemetry/sdk/trace/tracer_context.h" +#include "opentelemetry/trace/tracer_provider.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE -namespace trace -{ -class TracerProvider; -} // namespace trace - namespace sdk { -namespace resource -{ -class Resource; -} // namespace resource - namespace trace { -class IdGenerator; -class Sampler; -class SpanProcessor; -class TracerContext; /** * Factory class for TracerProvider. diff --git a/sdk/src/common/base64.cc b/sdk/src/common/base64.cc index a19af1f8a3..3c572fe344 100644 --- a/sdk/src/common/base64.cc +++ b/sdk/src/common/base64.cc @@ -9,7 +9,6 @@ # include #endif #include -#include #include #if defined(HAVE_ABSEIL) diff --git a/sdk/src/common/platform/fork_unix.cc b/sdk/src/common/platform/fork_unix.cc index cfbd8ab778..41926bbfe7 100644 --- a/sdk/src/common/platform/fork_unix.cc +++ b/sdk/src/common/platform/fork_unix.cc @@ -1,6 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include "opentelemetry/version.h" #include "src/common/platform/fork.h" #include diff --git a/sdk/src/common/random.h b/sdk/src/common/random.h index ecd6dabc1e..28adbaf41c 100644 --- a/sdk/src/common/random.h +++ b/sdk/src/common/random.h @@ -3,6 +3,8 @@ #pragma once +#include + #include "opentelemetry/nostd/span.h" #include "opentelemetry/version.h" #include "src/common/fast_random_number_generator.h" diff --git a/sdk/src/resource/resource.cc b/sdk/src/resource/resource.cc index 12f8e16d43..258aaaf182 100644 --- a/sdk/src/resource/resource.cc +++ b/sdk/src/resource/resource.cc @@ -1,8 +1,11 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include +#include + +#include "opentelemetry/nostd/variant.h" #include "opentelemetry/sdk/resource/resource.h" -#include "opentelemetry/nostd/span.h" #include "opentelemetry/sdk/resource/resource_detector.h" #include "opentelemetry/sdk/resource/semantic_conventions.h" #include "opentelemetry/sdk/version/version.h" diff --git a/sdk/src/resource/resource_detector.cc b/sdk/src/resource/resource_detector.cc index 2f560e1150..b7c7c7e614 100644 --- a/sdk/src/resource/resource_detector.cc +++ b/sdk/src/resource/resource_detector.cc @@ -5,9 +5,12 @@ #include "opentelemetry/sdk/common/env_variables.h" #include "opentelemetry/sdk/resource/resource.h" #include "opentelemetry/sdk/resource/semantic_conventions.h" +#include "opentelemetry/version.h" +#include #include #include +#include OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/span.h b/sdk/src/trace/span.h index 7fe86bd3f5..5e0ff2c570 100644 --- a/sdk/src/trace/span.h +++ b/sdk/src/trace/span.h @@ -3,9 +3,20 @@ #pragma once +#include #include +#include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/common/key_value_iterable.h" +#include "opentelemetry/common/timestamp.h" +#include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/sdk/trace/tracer.h" +#include "opentelemetry/trace/span.h" +#include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_context_kv_iterable.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/trace/span_startoptions.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE From cb4beee7bb110750710d06e12989acf14a9797de Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 15:49:41 +0200 Subject: [PATCH 17/25] Added mapping --- .github/workflows/iwyu.yml | 7 ++++--- .iwyu.imp | 13 +++++++++++++ api/include/opentelemetry/version.h | 2 +- sdk/include/opentelemetry/sdk/trace/tracer.h | 7 ------- sdk/src/resource/resource.cc | 1 + 5 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 .iwyu.imp diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 601c4ff284..6f46125f0b 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -11,7 +11,7 @@ jobs: iwyu: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'recursive' @@ -33,9 +33,10 @@ jobs: - name: Prepare CMake run: | + TOPDIR=`pwd` mkdir build && cd build CC="clang" CXX="clang++" cmake \ - -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--verbose=1" \ + -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--mapping_file=${TOPDIR}/.iwyu.imp;--verbose=1" \ -DBUILD_TESTING=OFF \ -DBUILD_W3CTRACECONTEXT_TEST=OFF \ .. @@ -45,7 +46,7 @@ jobs: cd build make -k 2>&1 | tee -a iwyu.log - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: success() || failure() with: name: Logs (include-what-you-use) diff --git a/.iwyu.imp b/.iwyu.imp new file mode 100644 index 0000000000..53fddd24aa --- /dev/null +++ b/.iwyu.imp @@ -0,0 +1,13 @@ +# Copyright The OpenTelemetry Authors +# SPDX-License-Identifier: Apache-2.0 + +# include-what-you-use mapping file + +[ + # Work around for C++ STL + { "include": ["", "private", "", "public"] }, + + # Local opentelemetry-cpp + +] + diff --git a/api/include/opentelemetry/version.h b/api/include/opentelemetry/version.h index 31f6e35acb..927d89c7c8 100644 --- a/api/include/opentelemetry/version.h +++ b/api/include/opentelemetry/version.h @@ -3,7 +3,7 @@ #pragma once -#include "opentelemetry/common/macros.h" +#include "opentelemetry/common/macros.h" // IWYU pragma: export #include "opentelemetry/detail/preprocessor.h" #ifndef OPENTELEMETRY_ABI_VERSION_NO diff --git a/sdk/include/opentelemetry/sdk/trace/tracer.h b/sdk/include/opentelemetry/sdk/trace/tracer.h index f1064395de..2c94dadd85 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer.h @@ -26,15 +26,8 @@ OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk { -namespace resource -{ -class Resource; -} // namespace resource - namespace trace { -class IdGenerator; -class SpanProcessor; using namespace opentelemetry::sdk::instrumentationscope; diff --git a/sdk/src/resource/resource.cc b/sdk/src/resource/resource.cc index 258aaaf182..f73968d71b 100644 --- a/sdk/src/resource/resource.cc +++ b/sdk/src/resource/resource.cc @@ -3,6 +3,7 @@ #include #include +#include #include "opentelemetry/nostd/variant.h" #include "opentelemetry/sdk/resource/resource.h" From 5291e934c4dd3fb3acd40136bb4c2776800fcccf Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 16:16:59 +0200 Subject: [PATCH 18/25] Cleanup --- .github/workflows/iwyu.yml | 2 +- api/include/opentelemetry/version.h | 2 +- sdk/include/opentelemetry/sdk/common/base64.h | 1 - .../opentelemetry/sdk/common/global_log_handler.h | 2 +- sdk/include/opentelemetry/sdk/trace/tracer.h | 1 - sdk/include/opentelemetry/sdk/trace/tracer_provider.h | 1 + sdk/src/common/env_variables.cc | 3 +++ sdk/src/resource/resource.cc | 2 +- sdk/src/trace/span.cc | 9 +++++---- sdk/src/trace/tracer_context.cc | 4 +++- sdk/src/trace/tracer_context_factory.cc | 5 ++++- sdk/src/trace/tracer_provider_factory.cc | 6 +++++- 12 files changed, 25 insertions(+), 13 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index 6f46125f0b..f83d1f0f5f 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -36,7 +36,7 @@ jobs: TOPDIR=`pwd` mkdir build && cd build CC="clang" CXX="clang++" cmake \ - -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--mapping_file=${TOPDIR}/.iwyu.imp;--verbose=1" \ + -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-w;-Xiwyu;--mapping_file=${TOPDIR}/.iwyu.imp;" \ -DBUILD_TESTING=OFF \ -DBUILD_W3CTRACECONTEXT_TEST=OFF \ .. diff --git a/api/include/opentelemetry/version.h b/api/include/opentelemetry/version.h index 927d89c7c8..6e8a24a2d4 100644 --- a/api/include/opentelemetry/version.h +++ b/api/include/opentelemetry/version.h @@ -3,7 +3,7 @@ #pragma once -#include "opentelemetry/common/macros.h" // IWYU pragma: export +#include "opentelemetry/common/macros.h" // IWYU pragma: export #include "opentelemetry/detail/preprocessor.h" #ifndef OPENTELEMETRY_ABI_VERSION_NO diff --git a/sdk/include/opentelemetry/sdk/common/base64.h b/sdk/include/opentelemetry/sdk/common/base64.h index d88204675c..918eaaf14a 100644 --- a/sdk/include/opentelemetry/sdk/common/base64.h +++ b/sdk/include/opentelemetry/sdk/common/base64.h @@ -5,7 +5,6 @@ #include -#include "opentelemetry/common/macros.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/version.h" diff --git a/sdk/include/opentelemetry/sdk/common/global_log_handler.h b/sdk/include/opentelemetry/sdk/common/global_log_handler.h index a61b4fb8af..59a08e08a6 100644 --- a/sdk/include/opentelemetry/sdk/common/global_log_handler.h +++ b/sdk/include/opentelemetry/sdk/common/global_log_handler.h @@ -3,7 +3,7 @@ #pragma once -#include +#include // IWYU pragma: keep #include #include diff --git a/sdk/include/opentelemetry/sdk/trace/tracer.h b/sdk/include/opentelemetry/sdk/trace/tracer.h index 2c94dadd85..778ffe8173 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer.h @@ -7,7 +7,6 @@ #include #include "opentelemetry/common/key_value_iterable.h" -#include "opentelemetry/common/macros.h" #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/nostd/unique_ptr.h" diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_provider.h b/sdk/include/opentelemetry/sdk/trace/tracer_provider.h index 1c5416e4b1..e0f3ce0c4c 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_provider.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_provider.h @@ -3,6 +3,7 @@ #pragma once +#include #include #include #include diff --git a/sdk/src/common/env_variables.cc b/sdk/src/common/env_variables.cc index a3f50b15ba..9fcedcc2e1 100644 --- a/sdk/src/common/env_variables.cc +++ b/sdk/src/common/env_variables.cc @@ -10,8 +10,11 @@ # include #endif +#include #include +#include +#include "opentelemetry/nostd/string_view.h" #include "opentelemetry/sdk/common/global_log_handler.h" #include "opentelemetry/version.h" diff --git a/sdk/src/resource/resource.cc b/sdk/src/resource/resource.cc index f73968d71b..919624686d 100644 --- a/sdk/src/resource/resource.cc +++ b/sdk/src/resource/resource.cc @@ -1,9 +1,9 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include #include -#include #include "opentelemetry/nostd/variant.h" #include "opentelemetry/sdk/resource/resource.h" diff --git a/sdk/src/trace/span.cc b/sdk/src/trace/span.cc index ca3406a154..ca3a475707 100644 --- a/sdk/src/trace/span.cc +++ b/sdk/src/trace/span.cc @@ -1,14 +1,15 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "src/trace/span.h" -#include "src/common/random.h" +#include +#include -#include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/recordable.h" +#include "opentelemetry/trace/span_id.h" #include "opentelemetry/trace/span_metadata.h" -#include "opentelemetry/trace/trace_flags.h" #include "opentelemetry/version.h" +#include "src/trace/span.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/tracer_context.cc b/sdk/src/trace/tracer_context.cc index 0b89c5cefb..822150791e 100644 --- a/sdk/src/trace/tracer_context.cc +++ b/sdk/src/trace/tracer_context.cc @@ -1,8 +1,10 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/tracer_context.h" +#include + #include "opentelemetry/sdk/trace/multi_span_processor.h" +#include "opentelemetry/sdk/trace/tracer_context.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/tracer_context_factory.cc b/sdk/src/trace/tracer_context_factory.cc index df9d81a197..91873bb733 100644 --- a/sdk/src/trace/tracer_context_factory.cc +++ b/sdk/src/trace/tracer_context_factory.cc @@ -1,11 +1,14 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/tracer_context_factory.h" +#include + #include "opentelemetry/sdk/trace/multi_span_processor.h" #include "opentelemetry/sdk/trace/random_id_generator_factory.h" #include "opentelemetry/sdk/trace/samplers/always_on_factory.h" #include "opentelemetry/sdk/trace/tracer_context.h" +#include "opentelemetry/sdk/trace/tracer_context_factory.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/tracer_provider_factory.cc b/sdk/src/trace/tracer_provider_factory.cc index c9b02a13ad..14c2f5567a 100644 --- a/sdk/src/trace/tracer_provider_factory.cc +++ b/sdk/src/trace/tracer_provider_factory.cc @@ -1,12 +1,16 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/tracer_provider_factory.h" +#include + #include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/random_id_generator_factory.h" #include "opentelemetry/sdk/trace/samplers/always_on_factory.h" #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/sdk/trace/tracer_provider.h" +#include "opentelemetry/sdk/trace/tracer_provider_factory.h" +#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/version.h" namespace trace_api = opentelemetry::trace; namespace trace_sdk = opentelemetry::sdk::trace; From 7a2b042a43e38b713dd717ef8065243b9a34495d Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 16:43:52 +0200 Subject: [PATCH 19/25] Cleanup --- .../sdk/trace/batch_span_processor_factory.h | 4 ++-- sdk/src/common/env_variables.cc | 1 - sdk/src/trace/tracer.cc | 14 +++++++++++++- sdk/src/trace/tracer_context.cc | 9 +++++++++ sdk/src/trace/tracer_context_factory.cc | 6 ++++++ sdk/src/trace/tracer_provider.cc | 11 +++++++++-- 6 files changed, 39 insertions(+), 6 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h b/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h index 4f645b2633..cc52c1e51a 100644 --- a/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h @@ -5,6 +5,8 @@ #include +#include "opentelemetry/sdk/trace/batch_span_processor_options.h" +#include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -13,8 +15,6 @@ namespace sdk namespace trace { class SpanExporter; -class SpanProcessor; -struct BatchSpanProcessorOptions; /** * Factory class for BatchSpanProcessor. diff --git a/sdk/src/common/env_variables.cc b/sdk/src/common/env_variables.cc index 9fcedcc2e1..586a8ed420 100644 --- a/sdk/src/common/env_variables.cc +++ b/sdk/src/common/env_variables.cc @@ -11,7 +11,6 @@ #endif #include -#include #include #include "opentelemetry/nostd/string_view.h" diff --git a/sdk/src/trace/tracer.cc b/sdk/src/trace/tracer.cc index 838eca88c7..16430979da 100644 --- a/sdk/src/trace/tracer.cc +++ b/sdk/src/trace/tracer.cc @@ -1,10 +1,22 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/tracer.h" +#include +#include +#include +#include + +#include "opentelemetry/context/context.h" #include "opentelemetry/context/runtime_context.h" +#include "opentelemetry/nostd/variant.h" +#include "opentelemetry/sdk/trace/tracer.h" #include "opentelemetry/trace/context.h" #include "opentelemetry/trace/noop.h" +#include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/trace/trace_flags.h" +#include "opentelemetry/trace/trace_id.h" +#include "opentelemetry/trace/trace_state.h" #include "src/trace/span.h" diff --git a/sdk/src/trace/tracer_context.cc b/sdk/src/trace/tracer_context.cc index 822150791e..829bc5a3f2 100644 --- a/sdk/src/trace/tracer_context.cc +++ b/sdk/src/trace/tracer_context.cc @@ -1,10 +1,19 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include +#include #include +#include +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" #include "opentelemetry/sdk/trace/multi_span_processor.h" +#include "opentelemetry/sdk/trace/processor.h" +#include "opentelemetry/sdk/trace/recordable.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/tracer_context.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/tracer_context_factory.cc b/sdk/src/trace/tracer_context_factory.cc index 91873bb733..bea78d8607 100644 --- a/sdk/src/trace/tracer_context_factory.cc +++ b/sdk/src/trace/tracer_context_factory.cc @@ -1,10 +1,16 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include +#include +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" #include "opentelemetry/sdk/trace/multi_span_processor.h" +#include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/random_id_generator_factory.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/samplers/always_on_factory.h" #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/sdk/trace/tracer_context_factory.h" diff --git a/sdk/src/trace/tracer_provider.cc b/sdk/src/trace/tracer_provider.cc index 8569b63f23..9b8ff7ed6f 100644 --- a/sdk/src/trace/tracer_provider.cc +++ b/sdk/src/trace/tracer_provider.cc @@ -1,12 +1,19 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/tracer_provider.h" +#include +#include +#include + +#include "opentelemetry/common/key_value_iterable.h" #include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h" #include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/tracer.h" #include "opentelemetry/sdk/trace/tracer_context.h" -#include "opentelemetry/sdk_config.h" +#include "opentelemetry/sdk/trace/tracer_provider.h" +#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk From 9bb9b0d8a47d75f84e301b152923e2fd3923e220 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 17:10:03 +0200 Subject: [PATCH 20/25] Cleanup --- .../opentelemetry/sdk/trace/batch_span_processor.h | 8 ++++++-- .../sdk/trace/samplers/always_off_factory.h | 2 +- .../sdk/trace/samplers/always_on_factory.h | 2 +- .../opentelemetry/sdk/trace/samplers/parent.h | 5 +++++ .../sdk/trace/samplers/parent_factory.h | 2 +- .../sdk/trace/samplers/trace_id_ratio.h | 1 + .../sdk/trace/simple_processor_factory.h | 2 ++ sdk/src/trace/tracer.cc | 14 ++++++++++++++ sdk/src/trace/tracer_context.cc | 1 - sdk/src/trace/tracer_context_factory.cc | 1 - sdk/src/trace/tracer_provider.cc | 11 ++++++++++- sdk/src/trace/tracer_provider_factory.cc | 7 ++++++- 12 files changed, 47 insertions(+), 9 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h b/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h index afbf4486b0..7ff1149ed6 100644 --- a/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h +++ b/sdk/include/opentelemetry/sdk/trace/batch_span_processor.h @@ -3,14 +3,20 @@ #pragma once +#include #include +#include #include #include #include #include #include "opentelemetry/sdk/common/circular_buffer.h" +#include "opentelemetry/sdk/trace/batch_span_processor_options.h" +#include "opentelemetry/sdk/trace/exporter.h" #include "opentelemetry/sdk/trace/processor.h" +#include "opentelemetry/sdk/trace/recordable.h" +#include "opentelemetry/trace/span_context.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -18,8 +24,6 @@ namespace sdk { namespace trace { -class SpanExporter; -struct BatchSpanProcessorOptions; /** * This is an implementation of the SpanProcessor which creates batches of finished spans and passes diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/always_off_factory.h b/sdk/include/opentelemetry/sdk/trace/samplers/always_off_factory.h index 19f76c715f..af676dead9 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/always_off_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/always_off_factory.h @@ -5,6 +5,7 @@ #include +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -12,7 +13,6 @@ namespace sdk { namespace trace { -class Sampler; /** * Factory class for AlwaysOffSampler. diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/always_on_factory.h b/sdk/include/opentelemetry/sdk/trace/samplers/always_on_factory.h index c72d97fdec..80b38f8456 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/always_on_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/always_on_factory.h @@ -5,6 +5,7 @@ #include +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -12,7 +13,6 @@ namespace sdk { namespace trace { -class Sampler; /** * Factory class for AlwaysOnSampler. diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/parent.h b/sdk/include/opentelemetry/sdk/trace/samplers/parent.h index 59dd314589..2f98e5be99 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/parent.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/parent.h @@ -4,9 +4,14 @@ #pragma once #include +#include +#include "opentelemetry/common/key_value_iterable.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/sdk/trace/sampler.h" +#include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/trace/trace_id.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/parent_factory.h b/sdk/include/opentelemetry/sdk/trace/samplers/parent_factory.h index 2fdf87819d..68557ace79 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/parent_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/parent_factory.h @@ -5,6 +5,7 @@ #include +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -12,7 +13,6 @@ namespace sdk { namespace trace { -class Sampler; /** * Factory class for ParentBasedSampler. diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h b/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h index b5df576091..fd9ea28286 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h @@ -3,6 +3,7 @@ #pragma once +#include #include #include "opentelemetry/nostd/string_view.h" diff --git a/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h b/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h index 6a106e7f21..bcecbe9d9c 100644 --- a/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h @@ -5,6 +5,8 @@ #include +#include "opentelemetry/sdk/trace/exporter.h" +#include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/sdk/src/trace/tracer.cc b/sdk/src/trace/tracer.cc index 16430979da..60e33bbbfe 100644 --- a/sdk/src/trace/tracer.cc +++ b/sdk/src/trace/tracer.cc @@ -1,22 +1,36 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include #include +#include #include #include +#include "opentelemetry/common/key_value_iterable.h" #include "opentelemetry/context/context.h" #include "opentelemetry/context/runtime_context.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/sdk/instrumentationscope/instrumentation_scope.h" +#include "opentelemetry/sdk/trace/id_generator.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/tracer.h" +#include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/trace/context.h" #include "opentelemetry/trace/noop.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_startoptions.h" #include "opentelemetry/trace/trace_flags.h" #include "opentelemetry/trace/trace_id.h" #include "opentelemetry/trace/trace_state.h" +#include "opentelemetry/version.h" #include "src/trace/span.h" diff --git a/sdk/src/trace/tracer_context.cc b/sdk/src/trace/tracer_context.cc index 829bc5a3f2..0fb4fd35cf 100644 --- a/sdk/src/trace/tracer_context.cc +++ b/sdk/src/trace/tracer_context.cc @@ -10,7 +10,6 @@ #include "opentelemetry/sdk/trace/id_generator.h" #include "opentelemetry/sdk/trace/multi_span_processor.h" #include "opentelemetry/sdk/trace/processor.h" -#include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/version.h" diff --git a/sdk/src/trace/tracer_context_factory.cc b/sdk/src/trace/tracer_context_factory.cc index bea78d8607..68ea39349e 100644 --- a/sdk/src/trace/tracer_context_factory.cc +++ b/sdk/src/trace/tracer_context_factory.cc @@ -7,7 +7,6 @@ #include "opentelemetry/sdk/resource/resource.h" #include "opentelemetry/sdk/trace/id_generator.h" -#include "opentelemetry/sdk/trace/multi_span_processor.h" #include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/random_id_generator_factory.h" #include "opentelemetry/sdk/trace/sampler.h" diff --git a/sdk/src/trace/tracer_provider.cc b/sdk/src/trace/tracer_provider.cc index 9b8ff7ed6f..e4cbe97e92 100644 --- a/sdk/src/trace/tracer_provider.cc +++ b/sdk/src/trace/tracer_provider.cc @@ -2,17 +2,26 @@ // SPDX-License-Identifier: Apache-2.0 #include +#include +#include +#include #include #include +#include #include "opentelemetry/common/key_value_iterable.h" +#include "opentelemetry/nostd/shared_ptr.h" +#include "opentelemetry/nostd/string_view.h" #include "opentelemetry/sdk/common/global_log_handler.h" #include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h" +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" #include "opentelemetry/sdk/trace/processor.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/tracer.h" #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/sdk/trace/tracer_provider.h" -#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/trace/tracer.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/sdk/src/trace/tracer_provider_factory.cc b/sdk/src/trace/tracer_provider_factory.cc index 14c2f5567a..9f9618f189 100644 --- a/sdk/src/trace/tracer_provider_factory.cc +++ b/sdk/src/trace/tracer_provider_factory.cc @@ -1,15 +1,20 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include +#include +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/sdk/trace/id_generator.h" #include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/random_id_generator_factory.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/samplers/always_on_factory.h" #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/sdk/trace/tracer_provider.h" #include "opentelemetry/sdk/trace/tracer_provider_factory.h" -#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/trace/tracer_provider.h" #include "opentelemetry/version.h" namespace trace_api = opentelemetry::trace; From 4137516ac4824d240bab9b3ef512087fc5bab571 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 17:32:43 +0200 Subject: [PATCH 21/25] Cleanup --- .../sdk/trace/batch_span_processor_factory.h | 1 + .../opentelemetry/sdk/trace/random_id_generator.h | 2 ++ .../sdk/trace/random_id_generator_factory.h | 2 +- .../sdk/trace/samplers/trace_id_ratio_factory.h | 2 +- sdk/src/trace/batch_span_processor.cc | 13 ++++++++++--- sdk/src/trace/samplers/always_off_factory.cc | 3 +-- sdk/src/trace/samplers/always_on_factory.cc | 3 +-- sdk/src/trace/samplers/parent_factory.cc | 3 +-- sdk/src/trace/tracer.cc | 1 - sdk/src/trace/tracer_provider.cc | 1 + sdk/src/trace/tracer_provider_factory.cc | 1 + 11 files changed, 20 insertions(+), 12 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h b/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h index cc52c1e51a..8723f0745c 100644 --- a/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h @@ -6,6 +6,7 @@ #include #include "opentelemetry/sdk/trace/batch_span_processor_options.h" +#include "opentelemetry/sdk/trace/exporter.h" #include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/version.h" diff --git a/sdk/include/opentelemetry/sdk/trace/random_id_generator.h b/sdk/include/opentelemetry/sdk/trace/random_id_generator.h index a2adcf55f7..01e460563d 100644 --- a/sdk/include/opentelemetry/sdk/trace/random_id_generator.h +++ b/sdk/include/opentelemetry/sdk/trace/random_id_generator.h @@ -4,6 +4,8 @@ #pragma once #include "opentelemetry/sdk/trace/id_generator.h" +#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/trace/trace_id.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/sdk/include/opentelemetry/sdk/trace/random_id_generator_factory.h b/sdk/include/opentelemetry/sdk/trace/random_id_generator_factory.h index 6c94984403..a1915d3136 100644 --- a/sdk/include/opentelemetry/sdk/trace/random_id_generator_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/random_id_generator_factory.h @@ -5,6 +5,7 @@ #include +#include "opentelemetry/sdk/trace/id_generator.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -12,7 +13,6 @@ namespace sdk { namespace trace { -class IdGenerator; /** * Factory class for RandomIdGenerator. diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio_factory.h b/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio_factory.h index eb434fc6fe..de6d98906b 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio_factory.h @@ -5,6 +5,7 @@ #include +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -12,7 +13,6 @@ namespace sdk { namespace trace { -class Sampler; /** * Factory class for TraceIdRatioBasedSampler. diff --git a/sdk/src/trace/batch_span_processor.cc b/sdk/src/trace/batch_span_processor.cc index d5b96f2cc8..81096d2123 100644 --- a/sdk/src/trace/batch_span_processor.cc +++ b/sdk/src/trace/batch_span_processor.cc @@ -1,15 +1,22 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/batch_span_processor.h" +#include +#include +#include +#include + #include "opentelemetry/common/spin_lock_mutex.h" #include "opentelemetry/common/timestamp.h" +#include "opentelemetry/nostd/span.h" +#include "opentelemetry/sdk/common/atomic_unique_ptr.h" +#include "opentelemetry/sdk/common/circular_buffer_range.h" #include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/trace/batch_span_processor.h" #include "opentelemetry/sdk/trace/batch_span_processor_options.h" #include "opentelemetry/sdk/trace/exporter.h" #include "opentelemetry/sdk/trace/recordable.h" - -#include +#include "opentelemetry/version.h" using opentelemetry::sdk::common::AtomicUniquePtr; using opentelemetry::sdk::common::CircularBuffer; diff --git a/sdk/src/trace/samplers/always_off_factory.cc b/sdk/src/trace/samplers/always_off_factory.cc index e7c802dd51..c148d60ee9 100644 --- a/sdk/src/trace/samplers/always_off_factory.cc +++ b/sdk/src/trace/samplers/always_off_factory.cc @@ -3,8 +3,7 @@ #include "opentelemetry/sdk/trace/samplers/always_off_factory.h" #include "opentelemetry/sdk/trace/samplers/always_off.h" - -namespace trace_api = opentelemetry::trace; +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/samplers/always_on_factory.cc b/sdk/src/trace/samplers/always_on_factory.cc index ad371ac1f0..a803596b9c 100644 --- a/sdk/src/trace/samplers/always_on_factory.cc +++ b/sdk/src/trace/samplers/always_on_factory.cc @@ -3,8 +3,7 @@ #include "opentelemetry/sdk/trace/samplers/always_on_factory.h" #include "opentelemetry/sdk/trace/samplers/always_on.h" - -namespace trace_api = opentelemetry::trace; +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/samplers/parent_factory.cc b/sdk/src/trace/samplers/parent_factory.cc index dd15acff23..978fb75946 100644 --- a/sdk/src/trace/samplers/parent_factory.cc +++ b/sdk/src/trace/samplers/parent_factory.cc @@ -3,8 +3,7 @@ #include "opentelemetry/sdk/trace/samplers/parent_factory.h" #include "opentelemetry/sdk/trace/samplers/parent.h" - -namespace trace_api = opentelemetry::trace; +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/tracer.cc b/sdk/src/trace/tracer.cc index 60e33bbbfe..2b38c5d3ca 100644 --- a/sdk/src/trace/tracer.cc +++ b/sdk/src/trace/tracer.cc @@ -10,7 +10,6 @@ #include "opentelemetry/common/key_value_iterable.h" #include "opentelemetry/context/context.h" -#include "opentelemetry/context/runtime_context.h" #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/string_view.h" #include "opentelemetry/nostd/unique_ptr.h" diff --git a/sdk/src/trace/tracer_provider.cc b/sdk/src/trace/tracer_provider.cc index e4cbe97e92..7421e07de4 100644 --- a/sdk/src/trace/tracer_provider.cc +++ b/sdk/src/trace/tracer_provider.cc @@ -21,6 +21,7 @@ #include "opentelemetry/sdk/trace/tracer.h" #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/sdk/trace/tracer_provider.h" +#include "opentelemetry/trace/span_id.h" #include "opentelemetry/trace/tracer.h" #include "opentelemetry/version.h" diff --git a/sdk/src/trace/tracer_provider_factory.cc b/sdk/src/trace/tracer_provider_factory.cc index 9f9618f189..d22330b866 100644 --- a/sdk/src/trace/tracer_provider_factory.cc +++ b/sdk/src/trace/tracer_provider_factory.cc @@ -14,6 +14,7 @@ #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/sdk/trace/tracer_provider.h" #include "opentelemetry/sdk/trace/tracer_provider_factory.h" +#include "opentelemetry/trace/span_id.h" #include "opentelemetry/trace/tracer_provider.h" #include "opentelemetry/version.h" From 9bae1fffc1c3de5e58799b2f18b3f87998988d55 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 17:55:53 +0200 Subject: [PATCH 22/25] Cleanup --- .../opentelemetry/sdk/metrics/async_instruments.h | 5 ++--- .../sdk/trace/batch_span_processor_factory.h | 1 - sdk/include/opentelemetry/sdk/trace/exporter.h | 2 +- .../opentelemetry/sdk/trace/samplers/parent.h | 13 +------------ .../sdk/trace/samplers/trace_id_ratio.h | 12 ------------ .../sdk/trace/simple_processor_factory.h | 2 -- sdk/src/trace/batch_span_processor.cc | 9 +++++++++ sdk/src/trace/random_id_generator.cc | 3 +++ sdk/src/trace/samplers/trace_id_ratio_factory.cc | 4 +--- 9 files changed, 17 insertions(+), 34 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/metrics/async_instruments.h b/sdk/include/opentelemetry/sdk/metrics/async_instruments.h index 48c7d14ec5..e8104d76e3 100644 --- a/sdk/include/opentelemetry/sdk/metrics/async_instruments.h +++ b/sdk/include/opentelemetry/sdk/metrics/async_instruments.h @@ -8,6 +8,8 @@ #include "opentelemetry/metrics/async_instruments.h" #include "opentelemetry/metrics/observer_result.h" #include "opentelemetry/sdk/metrics/instruments.h" +#include "opentelemetry/sdk/metrics/state/metric_storage.h" +#include "opentelemetry/sdk/metrics/state/observable_registry.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -16,9 +18,6 @@ namespace sdk namespace metrics { -class AsyncWritableMetricStorage; -class ObservableRegistry; - class ObservableInstrument : public opentelemetry::metrics::ObservableInstrument { public: diff --git a/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h b/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h index 8723f0745c..bfec277b1d 100644 --- a/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/batch_span_processor_factory.h @@ -15,7 +15,6 @@ namespace sdk { namespace trace { -class SpanExporter; /** * Factory class for BatchSpanProcessor. diff --git a/sdk/include/opentelemetry/sdk/trace/exporter.h b/sdk/include/opentelemetry/sdk/trace/exporter.h index 8795b69837..8f207e89f2 100644 --- a/sdk/include/opentelemetry/sdk/trace/exporter.h +++ b/sdk/include/opentelemetry/sdk/trace/exporter.h @@ -8,6 +8,7 @@ #include "opentelemetry/nostd/span.h" #include "opentelemetry/sdk/common/exporter_utils.h" +#include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE @@ -15,7 +16,6 @@ namespace sdk { namespace trace { -class Recordable; /** * SpanExporter defines the interface that protocol-specific span exporters must diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/parent.h b/sdk/include/opentelemetry/sdk/trace/samplers/parent.h index 2f98e5be99..d5054d9218 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/parent.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/parent.h @@ -15,22 +15,11 @@ #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE -namespace common -{ -class KeyValueIterable; -} // namespace common - -namespace trace -{ -class SpanContext; -class SpanContextKeyValueIterable; -class TraceState; -} // namespace trace - namespace sdk { namespace trace { + /** * The ParentBased sampler is a composite sampler. ParentBased(delegateSampler) either respects * the parent span's sampling decision or delegates to delegateSampler for root spans. diff --git a/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h b/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h index fd9ea28286..f1b895139f 100644 --- a/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h +++ b/sdk/include/opentelemetry/sdk/trace/samplers/trace_id_ratio.h @@ -13,18 +13,6 @@ #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE -namespace common -{ -class KeyValueIterable; -} // namespace common - -namespace trace -{ -class SpanContext; -class SpanContextKeyValueIterable; -class TraceState; -} // namespace trace - namespace sdk { namespace trace diff --git a/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h b/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h index bcecbe9d9c..2ae40c2f7b 100644 --- a/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h +++ b/sdk/include/opentelemetry/sdk/trace/simple_processor_factory.h @@ -14,8 +14,6 @@ namespace sdk { namespace trace { -class SpanExporter; -class SpanProcessor; /** * Factory class for SimpleSpanProcessor. diff --git a/sdk/src/trace/batch_span_processor.cc b/sdk/src/trace/batch_span_processor.cc index 81096d2123..c958fb82a7 100644 --- a/sdk/src/trace/batch_span_processor.cc +++ b/sdk/src/trace/batch_span_processor.cc @@ -1,8 +1,15 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include +#include +#include +#include +#include +#include #include +#include #include #include @@ -10,12 +17,14 @@ #include "opentelemetry/common/timestamp.h" #include "opentelemetry/nostd/span.h" #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/global_log_handler.h" #include "opentelemetry/sdk/trace/batch_span_processor.h" #include "opentelemetry/sdk/trace/batch_span_processor_options.h" #include "opentelemetry/sdk/trace/exporter.h" #include "opentelemetry/sdk/trace/recordable.h" +#include "opentelemetry/trace/span_context.h" #include "opentelemetry/version.h" using opentelemetry::sdk::common::AtomicUniquePtr; diff --git a/sdk/src/trace/random_id_generator.cc b/sdk/src/trace/random_id_generator.cc index e2fa5b0987..9529405723 100644 --- a/sdk/src/trace/random_id_generator.cc +++ b/sdk/src/trace/random_id_generator.cc @@ -1,6 +1,9 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include + +#include "opentelemetry/nostd/span.h" #include "opentelemetry/sdk/trace/random_id_generator.h" #include "opentelemetry/version.h" #include "src/common/random.h" diff --git a/sdk/src/trace/samplers/trace_id_ratio_factory.cc b/sdk/src/trace/samplers/trace_id_ratio_factory.cc index aaf5dfa4ef..da4c4cc350 100644 --- a/sdk/src/trace/samplers/trace_id_ratio_factory.cc +++ b/sdk/src/trace/samplers/trace_id_ratio_factory.cc @@ -2,10 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 #include "opentelemetry/sdk/trace/samplers/trace_id_ratio_factory.h" -#include "opentelemetry/sdk/trace/samplers/parent.h" #include "opentelemetry/sdk/trace/samplers/trace_id_ratio.h" - -namespace trace_api = opentelemetry::trace; +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk From 13ac17955ebf2eafd1d4d0b7d40f1562d6e6e96f Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 18:10:30 +0200 Subject: [PATCH 23/25] cleanup --- sdk/src/common/BUILD | 1 - sdk/src/common/CMakeLists.txt | 3 +-- sdk/src/common/core.cc | 8 -------- sdk/src/trace/batch_span_processor.cc | 1 + sdk/src/trace/batch_span_processor_factory.cc | 4 +++- sdk/src/trace/random_id_generator.cc | 2 ++ sdk/src/trace/samplers/parent.cc | 4 ++++ sdk/src/trace/samplers/trace_id_ratio.cc | 8 ++++++-- sdk/src/trace/simple_processor_factory.cc | 4 +++- 9 files changed, 20 insertions(+), 15 deletions(-) delete mode 100644 sdk/src/common/core.cc diff --git a/sdk/src/common/BUILD b/sdk/src/common/BUILD index fe75f08d7c..9c424cac6b 100644 --- a/sdk/src/common/BUILD +++ b/sdk/src/common/BUILD @@ -6,7 +6,6 @@ package(default_visibility = ["//visibility:public"]) cc_library( name = "random", srcs = [ - "core.cc", "random.cc", ], hdrs = [ diff --git a/sdk/src/common/CMakeLists.txt b/sdk/src/common/CMakeLists.txt index 9f0e61f1e2..664db38e17 100644 --- a/sdk/src/common/CMakeLists.txt +++ b/sdk/src/common/CMakeLists.txt @@ -1,8 +1,7 @@ # Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 -set(COMMON_SRCS random.cc core.cc global_log_handler.cc env_variables.cc - base64.cc) +set(COMMON_SRCS random.cc global_log_handler.cc env_variables.cc base64.cc) if(WIN32) list(APPEND COMMON_SRCS platform/fork_windows.cc) else() diff --git a/sdk/src/common/core.cc b/sdk/src/common/core.cc deleted file mode 100644 index 16012e765c..0000000000 --- a/sdk/src/common/core.cc +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -// clang-format off -// version.h should be included before nostd/variant.h. -#include "opentelemetry/version.h" -#include "opentelemetry/nostd/variant.h" -// clang-format on diff --git a/sdk/src/trace/batch_span_processor.cc b/sdk/src/trace/batch_span_processor.cc index c958fb82a7..5a6e6ac407 100644 --- a/sdk/src/trace/batch_span_processor.cc +++ b/sdk/src/trace/batch_span_processor.cc @@ -23,6 +23,7 @@ #include "opentelemetry/sdk/trace/batch_span_processor.h" #include "opentelemetry/sdk/trace/batch_span_processor_options.h" #include "opentelemetry/sdk/trace/exporter.h" +#include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/recordable.h" #include "opentelemetry/trace/span_context.h" #include "opentelemetry/version.h" diff --git a/sdk/src/trace/batch_span_processor_factory.cc b/sdk/src/trace/batch_span_processor_factory.cc index b2b23857a1..1e65b117d1 100644 --- a/sdk/src/trace/batch_span_processor_factory.cc +++ b/sdk/src/trace/batch_span_processor_factory.cc @@ -1,8 +1,10 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/batch_span_processor_factory.h" +#include + #include "opentelemetry/sdk/trace/batch_span_processor.h" +#include "opentelemetry/sdk/trace/batch_span_processor_factory.h" #include "opentelemetry/sdk/trace/batch_span_processor_options.h" OPENTELEMETRY_BEGIN_NAMESPACE diff --git a/sdk/src/trace/random_id_generator.cc b/sdk/src/trace/random_id_generator.cc index 9529405723..f09fa81141 100644 --- a/sdk/src/trace/random_id_generator.cc +++ b/sdk/src/trace/random_id_generator.cc @@ -5,6 +5,8 @@ #include "opentelemetry/nostd/span.h" #include "opentelemetry/sdk/trace/random_id_generator.h" +#include "opentelemetry/trace/span_id.h" +#include "opentelemetry/trace/trace_id.h" #include "opentelemetry/version.h" #include "src/common/random.h" diff --git a/sdk/src/trace/samplers/parent.cc b/sdk/src/trace/samplers/parent.cc index 990e1a954a..0066f07f1d 100644 --- a/sdk/src/trace/samplers/parent.cc +++ b/sdk/src/trace/samplers/parent.cc @@ -1,8 +1,12 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include + +#include "opentelemetry/common/attribute_value.h" #include "opentelemetry/sdk/trace/samplers/parent.h" #include "opentelemetry/trace/span_context.h" +#include "opentelemetry/version.h" namespace trace_api = opentelemetry::trace; diff --git a/sdk/src/trace/samplers/trace_id_ratio.cc b/sdk/src/trace/samplers/trace_id_ratio.cc index 4d5d3453fa..b2c8d97e4d 100644 --- a/sdk/src/trace/samplers/trace_id_ratio.cc +++ b/sdk/src/trace/samplers/trace_id_ratio.cc @@ -2,12 +2,16 @@ // Copyright 2017, OpenCensus Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/samplers/trace_id_ratio.h" - #include #include +#include +#include +#include #include +#include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/sdk/trace/samplers/trace_id_ratio.h" + namespace trace_api = opentelemetry::trace; namespace diff --git a/sdk/src/trace/simple_processor_factory.cc b/sdk/src/trace/simple_processor_factory.cc index 59e3ea92f1..2c6899dcd5 100644 --- a/sdk/src/trace/simple_processor_factory.cc +++ b/sdk/src/trace/simple_processor_factory.cc @@ -1,8 +1,10 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/trace/simple_processor_factory.h" +#include + #include "opentelemetry/sdk/trace/simple_processor.h" +#include "opentelemetry/sdk/trace/simple_processor_factory.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk From a17827b1eeb4a0855fdab198588f3bf9d3f272e0 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Sat, 18 May 2024 18:22:45 +0200 Subject: [PATCH 24/25] cleanup --- sdk/src/trace/batch_span_processor_factory.cc | 4 ++++ sdk/src/trace/samplers/parent.cc | 7 +++++++ sdk/src/trace/samplers/trace_id_ratio.cc | 7 ++++++- sdk/src/trace/simple_processor_factory.cc | 4 ++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/sdk/src/trace/batch_span_processor_factory.cc b/sdk/src/trace/batch_span_processor_factory.cc index 1e65b117d1..a21b056cee 100644 --- a/sdk/src/trace/batch_span_processor_factory.cc +++ b/sdk/src/trace/batch_span_processor_factory.cc @@ -1,11 +1,15 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include #include "opentelemetry/sdk/trace/batch_span_processor.h" #include "opentelemetry/sdk/trace/batch_span_processor_factory.h" #include "opentelemetry/sdk/trace/batch_span_processor_options.h" +#include "opentelemetry/sdk/trace/exporter.h" +#include "opentelemetry/sdk/trace/processor.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/trace/samplers/parent.cc b/sdk/src/trace/samplers/parent.cc index 0066f07f1d..a69ede92d4 100644 --- a/sdk/src/trace/samplers/parent.cc +++ b/sdk/src/trace/samplers/parent.cc @@ -2,10 +2,17 @@ // SPDX-License-Identifier: Apache-2.0 #include +#include +#include #include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/common/key_value_iterable.h" +#include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/samplers/parent.h" #include "opentelemetry/trace/span_context.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/trace/trace_id.h" #include "opentelemetry/version.h" namespace trace_api = opentelemetry::trace; diff --git a/sdk/src/trace/samplers/trace_id_ratio.cc b/sdk/src/trace/samplers/trace_id_ratio.cc index b2c8d97e4d..f25edd2735 100644 --- a/sdk/src/trace/samplers/trace_id_ratio.cc +++ b/sdk/src/trace/samplers/trace_id_ratio.cc @@ -7,10 +7,15 @@ #include #include #include -#include +#include #include "opentelemetry/common/attribute_value.h" +#include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/sdk/trace/sampler.h" #include "opentelemetry/sdk/trace/samplers/trace_id_ratio.h" +#include "opentelemetry/trace/span_metadata.h" +#include "opentelemetry/trace/trace_id.h" +#include "opentelemetry/version.h" namespace trace_api = opentelemetry::trace; diff --git a/sdk/src/trace/simple_processor_factory.cc b/sdk/src/trace/simple_processor_factory.cc index 2c6899dcd5..7e567d22cf 100644 --- a/sdk/src/trace/simple_processor_factory.cc +++ b/sdk/src/trace/simple_processor_factory.cc @@ -1,10 +1,14 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include #include +#include "opentelemetry/sdk/trace/exporter.h" +#include "opentelemetry/sdk/trace/processor.h" #include "opentelemetry/sdk/trace/simple_processor.h" #include "opentelemetry/sdk/trace/simple_processor_factory.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk From 686039dd9597cdfe9065b1494d72e5f324036130 Mon Sep 17 00:00:00 2001 From: Marc Alff Date: Tue, 28 May 2024 21:21:32 +0200 Subject: [PATCH 25/25] Metrics cleanup --- .github/workflows/iwyu.yml | 6 +++++ .../sdk/metrics/async_instruments.h | 1 - .../sdk/metrics/meter_provider.h | 23 ++++++++----------- .../sdk/metrics/meter_provider_factory.h | 7 ++---- sdk/src/metrics/async_instruments.cc | 4 +++- sdk/src/metrics/meter_provider.cc | 14 ++++++----- sdk/src/metrics/meter_provider_factory.cc | 11 +++------ 7 files changed, 31 insertions(+), 35 deletions(-) diff --git a/.github/workflows/iwyu.yml b/.github/workflows/iwyu.yml index f83d1f0f5f..de60502794 100644 --- a/.github/workflows/iwyu.yml +++ b/.github/workflows/iwyu.yml @@ -52,3 +52,9 @@ jobs: name: Logs (include-what-you-use) path: ./build/*.log + - name: count warnings + run: | + cd build + COUNT=`grep -c "Warning:" iwyu.log` + echo "include-what-you-use reported ${COUNT} warning(s)" + diff --git a/sdk/include/opentelemetry/sdk/metrics/async_instruments.h b/sdk/include/opentelemetry/sdk/metrics/async_instruments.h index e8104d76e3..2ff8c9702e 100644 --- a/sdk/include/opentelemetry/sdk/metrics/async_instruments.h +++ b/sdk/include/opentelemetry/sdk/metrics/async_instruments.h @@ -6,7 +6,6 @@ #include #include "opentelemetry/metrics/async_instruments.h" -#include "opentelemetry/metrics/observer_result.h" #include "opentelemetry/sdk/metrics/instruments.h" #include "opentelemetry/sdk/metrics/state/metric_storage.h" #include "opentelemetry/sdk/metrics/state/observable_registry.h" diff --git a/sdk/include/opentelemetry/sdk/metrics/meter_provider.h b/sdk/include/opentelemetry/sdk/metrics/meter_provider.h index ddeb6d96ac..a838f2a96a 100644 --- a/sdk/include/opentelemetry/sdk/metrics/meter_provider.h +++ b/sdk/include/opentelemetry/sdk/metrics/meter_provider.h @@ -7,34 +7,29 @@ #include #include +#include "opentelemetry/metrics/meter.h" #include "opentelemetry/metrics/meter_provider.h" #include "opentelemetry/nostd/shared_ptr.h" #include "opentelemetry/nostd/string_view.h" +#include "opentelemetry/sdk/metrics/meter_context.h" +#include "opentelemetry/sdk/metrics/metric_reader.h" +#include "opentelemetry/sdk/metrics/view/instrument_selector.h" +#include "opentelemetry/sdk/metrics/view/meter_selector.h" +#include "opentelemetry/sdk/metrics/view/view.h" +#include "opentelemetry/sdk/metrics/view/view_registry.h" +#include "opentelemetry/sdk/resource/resource.h" +#include "opentelemetry/version.h" #ifdef ENABLE_METRICS_EXEMPLAR_PREVIEW # include "opentelemetry/sdk/metrics/exemplar/filter_type.h" #endif -#include "opentelemetry/sdk/metrics/view/view_registry.h" -#include "opentelemetry/sdk/resource/resource.h" -#include "opentelemetry/version.h" - OPENTELEMETRY_BEGIN_NAMESPACE -namespace metrics -{ -class Meter; -} // namespace metrics - namespace sdk { namespace metrics { -// forward declaration -class MeterContext; -class MetricCollector; -class MetricReader; - class OPENTELEMETRY_EXPORT MeterProvider final : public opentelemetry::metrics::MeterProvider { public: diff --git a/sdk/include/opentelemetry/sdk/metrics/meter_provider_factory.h b/sdk/include/opentelemetry/sdk/metrics/meter_provider_factory.h index 69e77ebf5e..15aa13badc 100644 --- a/sdk/include/opentelemetry/sdk/metrics/meter_provider_factory.h +++ b/sdk/include/opentelemetry/sdk/metrics/meter_provider_factory.h @@ -4,13 +4,10 @@ #pragma once #include -#include -#include -#include "opentelemetry/metrics/meter.h" + #include "opentelemetry/metrics/meter_provider.h" -#include "opentelemetry/nostd/shared_ptr.h" -#include "opentelemetry/sdk/metrics/meter.h" #include "opentelemetry/sdk/metrics/meter_context.h" +#include "opentelemetry/sdk/metrics/view/view_registry.h" #include "opentelemetry/sdk/resource/resource.h" #include "opentelemetry/version.h" diff --git a/sdk/src/metrics/async_instruments.cc b/sdk/src/metrics/async_instruments.cc index 5ca56b3969..88f818dad9 100644 --- a/sdk/src/metrics/async_instruments.cc +++ b/sdk/src/metrics/async_instruments.cc @@ -1,10 +1,12 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 +#include + #include "opentelemetry/sdk/metrics/async_instruments.h" #include "opentelemetry/sdk/metrics/state/metric_storage.h" #include "opentelemetry/sdk/metrics/state/observable_registry.h" -#include "opentelemetry/sdk_config.h" +#include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk diff --git a/sdk/src/metrics/meter_provider.cc b/sdk/src/metrics/meter_provider.cc index 943ae137bd..84a0f56bf4 100644 --- a/sdk/src/metrics/meter_provider.cc +++ b/sdk/src/metrics/meter_provider.cc @@ -1,18 +1,20 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/metrics/meter_provider.h" +#include +#include + +#include "opentelemetry/common/key_value_iterable.h" #include "opentelemetry/metrics/meter.h" +#include "opentelemetry/nostd/span.h" +#include "opentelemetry/sdk/common/global_log_handler.h" +#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h" #include "opentelemetry/sdk/metrics/meter.h" #include "opentelemetry/sdk/metrics/meter_context.h" +#include "opentelemetry/sdk/metrics/meter_provider.h" #include "opentelemetry/sdk/metrics/metric_reader.h" - -#include "opentelemetry/sdk/common/global_log_handler.h" -#include "opentelemetry/sdk_config.h" #include "opentelemetry/version.h" -#include - OPENTELEMETRY_BEGIN_NAMESPACE namespace sdk { diff --git a/sdk/src/metrics/meter_provider_factory.cc b/sdk/src/metrics/meter_provider_factory.cc index bd6bbe932c..43c060e5f9 100644 --- a/sdk/src/metrics/meter_provider_factory.cc +++ b/sdk/src/metrics/meter_provider_factory.cc @@ -1,20 +1,15 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -#include "opentelemetry/sdk/metrics/meter_provider_factory.h" +#include + #include "opentelemetry/metrics/meter.h" #include "opentelemetry/sdk/metrics/meter_provider.h" -#include "opentelemetry/sdk/metrics/metric_reader.h" +#include "opentelemetry/sdk/metrics/meter_provider_factory.h" #include "opentelemetry/sdk/metrics/view/view_registry_factory.h" - -#include "opentelemetry/sdk/common/global_log_handler.h" -#include "opentelemetry/sdk_config.h" #include "opentelemetry/version.h" -#include - namespace resource = opentelemetry::sdk::resource; -namespace metrics_api = opentelemetry::metrics; namespace metrics_sdk = opentelemetry::sdk::metrics; OPENTELEMETRY_BEGIN_NAMESPACE