From 3f0eee6b9143d018f907e45d7035e36882f1ecb3 Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Wed, 23 Nov 2022 17:01:33 -0800 Subject: [PATCH] Add option WITH_BENCHMARK to disable building benchmarks (#1794) --- CMakeLists.txt | 8 ++++++-- api/test/baggage/BUILD | 1 + api/test/baggage/CMakeLists.txt | 9 ++++++--- api/test/common/BUILD | 1 + api/test/common/CMakeLists.txt | 8 +++++--- api/test/trace/BUILD | 2 ++ api/test/trace/CMakeLists.txt | 14 ++++++++------ exporters/etw/CMakeLists.txt | 11 ++++++----- exporters/otlp/BUILD | 1 + sdk/test/common/BUILD | 15 ++++++++++++--- sdk/test/common/CMakeLists.txt | 20 +++++++++++--------- sdk/test/instrumentationscope/BUILD | 2 -- sdk/test/metrics/BUILD | 2 ++ sdk/test/metrics/CMakeLists.txt | 15 +++++++++------ sdk/test/trace/BUILD | 1 + sdk/test/trace/CMakeLists.txt | 11 +++++++---- 16 files changed, 78 insertions(+), 43 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e3e0d5dd6..1050ede90e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,6 +164,8 @@ option(WITH_NO_GETENV "Whether the platform supports environment variables" OFF) option(BUILD_TESTING "Whether to enable tests" ON) +option(WITH_BENCHMARK "Whether to build benchmark program" ON) + option(BUILD_W3CTRACECONTEXT_TEST "Whether to build w3c trace context" OFF) option(OTELCPP_MAINTAINER_MODE "Build in maintainer mode (-Wall -Werror)" OFF) @@ -478,8 +480,10 @@ if(BUILD_TESTING) message("GTEST_INCLUDE_DIRS = ${GTEST_INCLUDE_DIRS}") message("GTEST_BOTH_LIBRARIES = ${GTEST_BOTH_LIBRARIES}") enable_testing() - # Benchmark respects the CMAKE_PREFIX_PATH - find_package(benchmark CONFIG REQUIRED) + if(WITH_BENCHMARK) + # Benchmark respects the CMAKE_PREFIX_PATH + find_package(benchmark CONFIG REQUIRED) + endif() endif() include(CMakePackageConfigHelpers) diff --git a/api/test/baggage/BUILD b/api/test/baggage/BUILD index 7c021f46e7..a6a4ae2165 100644 --- a/api/test/baggage/BUILD +++ b/api/test/baggage/BUILD @@ -20,6 +20,7 @@ otel_cc_benchmark( srcs = ["baggage_benchmark.cc"], tags = [ "api", + "benchmark", "test", ], deps = ["//api"], diff --git a/api/test/baggage/CMakeLists.txt b/api/test/baggage/CMakeLists.txt index 0d6cba5a0d..cb58f169fb 100644 --- a/api/test/baggage/CMakeLists.txt +++ b/api/test/baggage/CMakeLists.txt @@ -9,7 +9,10 @@ foreach(testname baggage_test) TEST_PREFIX baggage. TEST_LIST ${testname}) endforeach() -add_executable(baggage_benchmark baggage_benchmark.cc) -target_link_libraries(baggage_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) + +if(WITH_BENCHMARK) + add_executable(baggage_benchmark baggage_benchmark.cc) + target_link_libraries(baggage_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) +endif() add_subdirectory(propagation) diff --git a/api/test/common/BUILD b/api/test/common/BUILD index 5bfc1115d7..438a9bbf6e 100644 --- a/api/test/common/BUILD +++ b/api/test/common/BUILD @@ -5,6 +5,7 @@ otel_cc_benchmark( srcs = ["spinlock_benchmark.cc"], tags = [ "api", + "benchmark", "test", ], deps = ["//api"], diff --git a/api/test/common/CMakeLists.txt b/api/test/common/CMakeLists.txt index 5816b64b1a..330a7765aa 100644 --- a/api/test/common/CMakeLists.txt +++ b/api/test/common/CMakeLists.txt @@ -10,6 +10,8 @@ foreach(testname kv_properties_test string_util_test) TEST_LIST ${testname}) endforeach() -add_executable(spinlock_benchmark spinlock_benchmark.cc) -target_link_libraries(spinlock_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) +if(WITH_BENCHMARK) + add_executable(spinlock_benchmark spinlock_benchmark.cc) + target_link_libraries(spinlock_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) +endif() diff --git a/api/test/trace/BUILD b/api/test/trace/BUILD index a9b5b01700..60d5c9f02c 100644 --- a/api/test/trace/BUILD +++ b/api/test/trace/BUILD @@ -53,6 +53,7 @@ otel_cc_benchmark( srcs = ["span_id_benchmark.cc"], tags = [ "api", + "benchmark", "test", "trace", ], @@ -64,6 +65,7 @@ otel_cc_benchmark( srcs = ["span_benchmark.cc"], tags = [ "api", + "benchmark", "test", "trace", ], diff --git a/api/test/trace/CMakeLists.txt b/api/test/trace/CMakeLists.txt index 09d2c12d88..0e2d6631d3 100644 --- a/api/test/trace/CMakeLists.txt +++ b/api/test/trace/CMakeLists.txt @@ -21,9 +21,11 @@ foreach( TEST_LIST api_${testname}) endforeach() -add_executable(span_id_benchmark span_id_benchmark.cc) -target_link_libraries(span_id_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) -add_executable(span_benchmark span_benchmark.cc) -target_link_libraries(span_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) +if(WITH_BENCHMARK) + add_executable(span_id_benchmark span_id_benchmark.cc) + target_link_libraries(span_id_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) + add_executable(span_benchmark span_benchmark.cc) + target_link_libraries(span_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) +endif() diff --git a/exporters/etw/CMakeLists.txt b/exporters/etw/CMakeLists.txt index fbcec8144f..7b092155f2 100644 --- a/exporters/etw/CMakeLists.txt +++ b/exporters/etw/CMakeLists.txt @@ -32,8 +32,6 @@ if(BUILD_TESTING) add_executable(etw_tracer_test test/etw_tracer_test.cc) add_executable(etw_logger_test test/etw_logger_test.cc) - add_executable(etw_perf_test test/etw_perf_test.cc) - target_link_libraries(etw_provider_test ${GTEST_BOTH_LIBRARIES} opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT}) @@ -43,9 +41,12 @@ if(BUILD_TESTING) target_link_libraries(etw_logger_test ${GTEST_BOTH_LIBRARIES} opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT}) - target_link_libraries( - etw_perf_test benchmark::benchmark ${GTEST_BOTH_LIBRARIES} - opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT}) + if(WITH_BENCHMARK) + add_executable(etw_perf_test test/etw_perf_test.cc) + target_link_libraries( + etw_perf_test benchmark::benchmark ${GTEST_BOTH_LIBRARIES} + opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT}) + endif() gtest_add_tests( TARGET etw_provider_test diff --git a/exporters/otlp/BUILD b/exporters/otlp/BUILD index 04f922f1d8..b2667eca9c 100644 --- a/exporters/otlp/BUILD +++ b/exporters/otlp/BUILD @@ -487,6 +487,7 @@ otel_cc_benchmark( name = "otlp_grpc_exporter_benchmark", srcs = ["test/otlp_grpc_exporter_benchmark.cc"], tags = [ + "benchmark", "otlp", "otlp_grpc", "test", diff --git a/sdk/test/common/BUILD b/sdk/test/common/BUILD index 91d56996fb..08ecb0bc8a 100644 --- a/sdk/test/common/BUILD +++ b/sdk/test/common/BUILD @@ -27,7 +27,10 @@ cc_test( otel_cc_benchmark( name = "random_benchmark", srcs = ["random_benchmark.cc"], - tags = ["test"], + tags = [ + "benchmark", + "test", + ], deps = ["//sdk/src/common:random"], ) @@ -82,7 +85,10 @@ cc_library( otel_cc_benchmark( name = "circular_buffer_benchmark", srcs = ["circular_buffer_benchmark.cc"], - tags = ["test"], + tags = [ + "benchmark", + "test", + ], deps = [ ":baseline_circular_buffer", "//sdk:headers", @@ -145,7 +151,10 @@ cc_test( otel_cc_benchmark( name = "attributemap_hash_benchmark", srcs = ["attributemap_hash_benchmark.cc"], - tags = ["test"], + tags = [ + "benchmark", + "test", + ], deps = [ "//api", "//sdk:headers", diff --git a/sdk/test/common/CMakeLists.txt b/sdk/test/common/CMakeLists.txt index 0fefc86b10..a2a81ecc5a 100644 --- a/sdk/test/common/CMakeLists.txt +++ b/sdk/test/common/CMakeLists.txt @@ -24,14 +24,16 @@ add_executable(random_fork_test random_fork_test.cc) target_link_libraries(random_fork_test opentelemetry_common) add_test(random_fork_test random_fork_test) -add_executable(random_benchmark random_benchmark.cc) -target_link_libraries(random_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) +if(WITH_BENCHMARK) + add_executable(random_benchmark random_benchmark.cc) + target_link_libraries(random_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) -add_executable(circular_buffer_benchmark circular_buffer_benchmark.cc) -target_link_libraries(circular_buffer_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) + add_executable(circular_buffer_benchmark circular_buffer_benchmark.cc) + target_link_libraries(circular_buffer_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api) -add_executable(attributemap_hash_benchmark attributemap_hash_benchmark.cc) -target_link_libraries(attributemap_hash_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) + add_executable(attributemap_hash_benchmark attributemap_hash_benchmark.cc) + target_link_libraries(attributemap_hash_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) +endif() diff --git a/sdk/test/instrumentationscope/BUILD b/sdk/test/instrumentationscope/BUILD index 5ee93f120e..0dd54ab648 100644 --- a/sdk/test/instrumentationscope/BUILD +++ b/sdk/test/instrumentationscope/BUILD @@ -1,5 +1,3 @@ -load("//bazel:otel_cc_benchmark.bzl", "otel_cc_benchmark") - cc_test( name = "instrumentationscope_test", srcs = [ diff --git a/sdk/test/metrics/BUILD b/sdk/test/metrics/BUILD index 333670dc6f..294510b571 100644 --- a/sdk/test/metrics/BUILD +++ b/sdk/test/metrics/BUILD @@ -242,6 +242,7 @@ otel_cc_benchmark( "attributes_processor_benchmark.cc", ], tags = [ + "benchmark", "metrics", "test", ], @@ -256,6 +257,7 @@ otel_cc_benchmark( "attributes_hashmap_benchmark.cc", ], tags = [ + "benchmark", "metrics", "test", ], diff --git a/sdk/test/metrics/CMakeLists.txt b/sdk/test/metrics/CMakeLists.txt index 3e5e8f488a..2acbc6bd18 100644 --- a/sdk/test/metrics/CMakeLists.txt +++ b/sdk/test/metrics/CMakeLists.txt @@ -28,12 +28,15 @@ foreach( TEST_LIST ${testname}) endforeach() -add_executable(attributes_processor_benchmark attributes_processor_benchmark.cc) -target_link_libraries(attributes_processor_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) +if(WITH_BENCHMARK) + add_executable(attributes_processor_benchmark + attributes_processor_benchmark.cc) + target_link_libraries(attributes_processor_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) -add_executable(attributes_hashmap_benchmark attributes_hashmap_benchmark.cc) -target_link_libraries(attributes_hashmap_benchmark benchmark::benchmark - ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) + add_executable(attributes_hashmap_benchmark attributes_hashmap_benchmark.cc) + target_link_libraries(attributes_hashmap_benchmark benchmark::benchmark + ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common) +endif() add_subdirectory(exemplar) diff --git a/sdk/test/trace/BUILD b/sdk/test/trace/BUILD index 70e517684c..c00b91484a 100644 --- a/sdk/test/trace/BUILD +++ b/sdk/test/trace/BUILD @@ -144,6 +144,7 @@ otel_cc_benchmark( name = "sampler_benchmark", srcs = ["sampler_benchmark.cc"], tags = [ + "benchmark", "test", "trace", ], diff --git a/sdk/test/trace/CMakeLists.txt b/sdk/test/trace/CMakeLists.txt index b02ff705fa..1e66704e2f 100644 --- a/sdk/test/trace/CMakeLists.txt +++ b/sdk/test/trace/CMakeLists.txt @@ -24,7 +24,10 @@ foreach( TEST_LIST ${testname}) endforeach() -add_executable(sampler_benchmark sampler_benchmark.cc) -target_link_libraries( - sampler_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} - opentelemetry_trace opentelemetry_resources opentelemetry_exporter_in_memory) +if(WITH_BENCHMARK) + add_executable(sampler_benchmark sampler_benchmark.cc) + target_link_libraries( + sampler_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT} + opentelemetry_trace opentelemetry_resources + opentelemetry_exporter_in_memory) +endif()