Skip to content

Commit 3f0eee6

Browse files
authored
Add option WITH_BENCHMARK to disable building benchmarks (#1794)
1 parent c1aa0b8 commit 3f0eee6

File tree

16 files changed

+78
-43
lines changed

16 files changed

+78
-43
lines changed

CMakeLists.txt

+6-2
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,8 @@ option(WITH_NO_GETENV "Whether the platform supports environment variables" OFF)
164164

165165
option(BUILD_TESTING "Whether to enable tests" ON)
166166

167+
option(WITH_BENCHMARK "Whether to build benchmark program" ON)
168+
167169
option(BUILD_W3CTRACECONTEXT_TEST "Whether to build w3c trace context" OFF)
168170

169171
option(OTELCPP_MAINTAINER_MODE "Build in maintainer mode (-Wall -Werror)" OFF)
@@ -478,8 +480,10 @@ if(BUILD_TESTING)
478480
message("GTEST_INCLUDE_DIRS = ${GTEST_INCLUDE_DIRS}")
479481
message("GTEST_BOTH_LIBRARIES = ${GTEST_BOTH_LIBRARIES}")
480482
enable_testing()
481-
# Benchmark respects the CMAKE_PREFIX_PATH
482-
find_package(benchmark CONFIG REQUIRED)
483+
if(WITH_BENCHMARK)
484+
# Benchmark respects the CMAKE_PREFIX_PATH
485+
find_package(benchmark CONFIG REQUIRED)
486+
endif()
483487
endif()
484488

485489
include(CMakePackageConfigHelpers)

api/test/baggage/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ otel_cc_benchmark(
2020
srcs = ["baggage_benchmark.cc"],
2121
tags = [
2222
"api",
23+
"benchmark",
2324
"test",
2425
],
2526
deps = ["//api"],

api/test/baggage/CMakeLists.txt

+6-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ foreach(testname baggage_test)
99
TEST_PREFIX baggage.
1010
TEST_LIST ${testname})
1111
endforeach()
12-
add_executable(baggage_benchmark baggage_benchmark.cc)
13-
target_link_libraries(baggage_benchmark benchmark::benchmark
14-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
12+
13+
if(WITH_BENCHMARK)
14+
add_executable(baggage_benchmark baggage_benchmark.cc)
15+
target_link_libraries(baggage_benchmark benchmark::benchmark
16+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
17+
endif()
1518
add_subdirectory(propagation)

api/test/common/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ otel_cc_benchmark(
55
srcs = ["spinlock_benchmark.cc"],
66
tags = [
77
"api",
8+
"benchmark",
89
"test",
910
],
1011
deps = ["//api"],

api/test/common/CMakeLists.txt

+5-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ foreach(testname kv_properties_test string_util_test)
1010
TEST_LIST ${testname})
1111
endforeach()
1212

13-
add_executable(spinlock_benchmark spinlock_benchmark.cc)
14-
target_link_libraries(spinlock_benchmark benchmark::benchmark
15-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
13+
if(WITH_BENCHMARK)
14+
add_executable(spinlock_benchmark spinlock_benchmark.cc)
15+
target_link_libraries(spinlock_benchmark benchmark::benchmark
16+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
17+
endif()

api/test/trace/BUILD

+2
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ otel_cc_benchmark(
5353
srcs = ["span_id_benchmark.cc"],
5454
tags = [
5555
"api",
56+
"benchmark",
5657
"test",
5758
"trace",
5859
],
@@ -64,6 +65,7 @@ otel_cc_benchmark(
6465
srcs = ["span_benchmark.cc"],
6566
tags = [
6667
"api",
68+
"benchmark",
6769
"test",
6870
"trace",
6971
],

api/test/trace/CMakeLists.txt

+8-6
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ foreach(
2121
TEST_LIST api_${testname})
2222
endforeach()
2323

24-
add_executable(span_id_benchmark span_id_benchmark.cc)
25-
target_link_libraries(span_id_benchmark benchmark::benchmark
26-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
27-
add_executable(span_benchmark span_benchmark.cc)
28-
target_link_libraries(span_benchmark benchmark::benchmark
29-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
24+
if(WITH_BENCHMARK)
25+
add_executable(span_id_benchmark span_id_benchmark.cc)
26+
target_link_libraries(span_id_benchmark benchmark::benchmark
27+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
28+
add_executable(span_benchmark span_benchmark.cc)
29+
target_link_libraries(span_benchmark benchmark::benchmark
30+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
31+
endif()

exporters/etw/CMakeLists.txt

+6-5
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ if(BUILD_TESTING)
3232
add_executable(etw_tracer_test test/etw_tracer_test.cc)
3333
add_executable(etw_logger_test test/etw_logger_test.cc)
3434

35-
add_executable(etw_perf_test test/etw_perf_test.cc)
36-
3735
target_link_libraries(etw_provider_test ${GTEST_BOTH_LIBRARIES}
3836
opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
3937

@@ -43,9 +41,12 @@ if(BUILD_TESTING)
4341
target_link_libraries(etw_logger_test ${GTEST_BOTH_LIBRARIES}
4442
opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
4543

46-
target_link_libraries(
47-
etw_perf_test benchmark::benchmark ${GTEST_BOTH_LIBRARIES}
48-
opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
44+
if(WITH_BENCHMARK)
45+
add_executable(etw_perf_test test/etw_perf_test.cc)
46+
target_link_libraries(
47+
etw_perf_test benchmark::benchmark ${GTEST_BOTH_LIBRARIES}
48+
opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
49+
endif()
4950

5051
gtest_add_tests(
5152
TARGET etw_provider_test

exporters/otlp/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,7 @@ otel_cc_benchmark(
487487
name = "otlp_grpc_exporter_benchmark",
488488
srcs = ["test/otlp_grpc_exporter_benchmark.cc"],
489489
tags = [
490+
"benchmark",
490491
"otlp",
491492
"otlp_grpc",
492493
"test",

sdk/test/common/BUILD

+12-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ cc_test(
2727
otel_cc_benchmark(
2828
name = "random_benchmark",
2929
srcs = ["random_benchmark.cc"],
30-
tags = ["test"],
30+
tags = [
31+
"benchmark",
32+
"test",
33+
],
3134
deps = ["//sdk/src/common:random"],
3235
)
3336

@@ -82,7 +85,10 @@ cc_library(
8285
otel_cc_benchmark(
8386
name = "circular_buffer_benchmark",
8487
srcs = ["circular_buffer_benchmark.cc"],
85-
tags = ["test"],
88+
tags = [
89+
"benchmark",
90+
"test",
91+
],
8692
deps = [
8793
":baseline_circular_buffer",
8894
"//sdk:headers",
@@ -145,7 +151,10 @@ cc_test(
145151
otel_cc_benchmark(
146152
name = "attributemap_hash_benchmark",
147153
srcs = ["attributemap_hash_benchmark.cc"],
148-
tags = ["test"],
154+
tags = [
155+
"benchmark",
156+
"test",
157+
],
149158
deps = [
150159
"//api",
151160
"//sdk:headers",

sdk/test/common/CMakeLists.txt

+11-9
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,16 @@ add_executable(random_fork_test random_fork_test.cc)
2424
target_link_libraries(random_fork_test opentelemetry_common)
2525
add_test(random_fork_test random_fork_test)
2626

27-
add_executable(random_benchmark random_benchmark.cc)
28-
target_link_libraries(random_benchmark benchmark::benchmark
29-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
27+
if(WITH_BENCHMARK)
28+
add_executable(random_benchmark random_benchmark.cc)
29+
target_link_libraries(random_benchmark benchmark::benchmark
30+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
3031

31-
add_executable(circular_buffer_benchmark circular_buffer_benchmark.cc)
32-
target_link_libraries(circular_buffer_benchmark benchmark::benchmark
33-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
32+
add_executable(circular_buffer_benchmark circular_buffer_benchmark.cc)
33+
target_link_libraries(circular_buffer_benchmark benchmark::benchmark
34+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
3435

35-
add_executable(attributemap_hash_benchmark attributemap_hash_benchmark.cc)
36-
target_link_libraries(attributemap_hash_benchmark benchmark::benchmark
37-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
36+
add_executable(attributemap_hash_benchmark attributemap_hash_benchmark.cc)
37+
target_link_libraries(attributemap_hash_benchmark benchmark::benchmark
38+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
39+
endif()

sdk/test/instrumentationscope/BUILD

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
load("//bazel:otel_cc_benchmark.bzl", "otel_cc_benchmark")
2-
31
cc_test(
42
name = "instrumentationscope_test",
53
srcs = [

sdk/test/metrics/BUILD

+2
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ otel_cc_benchmark(
242242
"attributes_processor_benchmark.cc",
243243
],
244244
tags = [
245+
"benchmark",
245246
"metrics",
246247
"test",
247248
],
@@ -256,6 +257,7 @@ otel_cc_benchmark(
256257
"attributes_hashmap_benchmark.cc",
257258
],
258259
tags = [
260+
"benchmark",
259261
"metrics",
260262
"test",
261263
],

sdk/test/metrics/CMakeLists.txt

+9-6
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,15 @@ foreach(
2828
TEST_LIST ${testname})
2929
endforeach()
3030

31-
add_executable(attributes_processor_benchmark attributes_processor_benchmark.cc)
32-
target_link_libraries(attributes_processor_benchmark benchmark::benchmark
33-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
31+
if(WITH_BENCHMARK)
32+
add_executable(attributes_processor_benchmark
33+
attributes_processor_benchmark.cc)
34+
target_link_libraries(attributes_processor_benchmark benchmark::benchmark
35+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
3436

35-
add_executable(attributes_hashmap_benchmark attributes_hashmap_benchmark.cc)
36-
target_link_libraries(attributes_hashmap_benchmark benchmark::benchmark
37-
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
37+
add_executable(attributes_hashmap_benchmark attributes_hashmap_benchmark.cc)
38+
target_link_libraries(attributes_hashmap_benchmark benchmark::benchmark
39+
${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
40+
endif()
3841

3942
add_subdirectory(exemplar)

sdk/test/trace/BUILD

+1
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ otel_cc_benchmark(
144144
name = "sampler_benchmark",
145145
srcs = ["sampler_benchmark.cc"],
146146
tags = [
147+
"benchmark",
147148
"test",
148149
"trace",
149150
],

sdk/test/trace/CMakeLists.txt

+7-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ foreach(
2424
TEST_LIST ${testname})
2525
endforeach()
2626

27-
add_executable(sampler_benchmark sampler_benchmark.cc)
28-
target_link_libraries(
29-
sampler_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT}
30-
opentelemetry_trace opentelemetry_resources opentelemetry_exporter_in_memory)
27+
if(WITH_BENCHMARK)
28+
add_executable(sampler_benchmark sampler_benchmark.cc)
29+
target_link_libraries(
30+
sampler_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT}
31+
opentelemetry_trace opentelemetry_resources
32+
opentelemetry_exporter_in_memory)
33+
endif()

0 commit comments

Comments
 (0)