Skip to content

Commit b3ea598

Browse files
committed
fix(storage): decouple storage metrics compilation from gRPC OTEL plugin target
1 parent 44f9276 commit b3ea598

3 files changed

Lines changed: 18 additions & 22 deletions

File tree

google/cloud/storage/google_cloud_cpp_storage_grpc.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ google_cloud_cpp_storage_grpc_hdrs = [
5858
"internal/async/read_range.h",
5959
"internal/async/reader_connection_factory.h",
6060
"internal/async/reader_connection_impl.h",
61-
"internal/async/reader_connection_telemetry.h",
6261
"internal/async/reader_connection_resume.h",
62+
"internal/async/reader_connection_telemetry.h",
6363
"internal/async/reader_connection_tracing.h",
6464
"internal/async/rewriter_connection_impl.h",
6565
"internal/async/rewriter_connection_tracing.h",
@@ -136,8 +136,8 @@ google_cloud_cpp_storage_grpc_srcs = [
136136
"internal/async/read_range.cc",
137137
"internal/async/reader_connection_factory.cc",
138138
"internal/async/reader_connection_impl.cc",
139-
"internal/async/reader_connection_telemetry.cc",
140139
"internal/async/reader_connection_resume.cc",
140+
"internal/async/reader_connection_telemetry.cc",
141141
"internal/async/reader_connection_tracing.cc",
142142
"internal/async/rewriter_connection_impl.cc",
143143
"internal/async/rewriter_connection_tracing.cc",

google/cloud/storage/google_cloud_cpp_storage_grpc.cmake

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,10 @@ add_library(
137137
internal/async/reader_connection_factory.h
138138
internal/async/reader_connection_impl.cc
139139
internal/async/reader_connection_impl.h
140-
internal/async/reader_connection_telemetry.cc
141-
internal/async/reader_connection_telemetry.h
142140
internal/async/reader_connection_resume.cc
143141
internal/async/reader_connection_resume.h
142+
internal/async/reader_connection_telemetry.cc
143+
internal/async/reader_connection_telemetry.h
144144
internal/async/reader_connection_tracing.cc
145145
internal/async/reader_connection_tracing.h
146146
internal/async/rewriter_connection_impl.cc
@@ -247,31 +247,26 @@ target_include_directories(
247247
target_compile_options(google_cloud_cpp_storage_grpc
248248
PUBLIC ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG})
249249
target_compile_definitions(google_cloud_cpp_storage_grpc
250-
PUBLIC GOOGLE_CLOUD_CPP_STORAGE_HAVE_GRPC
251-
GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY)
250+
PUBLIC GOOGLE_CLOUD_CPP_STORAGE_HAVE_GRPC)
252251
if (GOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND)
253252
target_compile_definitions(
254253
google_cloud_cpp_storage_grpc
255254
PRIVATE GOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND)
256255
endif ()
257-
if (GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY)
256+
if ((TARGET google-cloud-cpp::opentelemetry) AND (TARGET
257+
opentelemetry-cpp::metrics))
258258
target_compile_definitions(
259259
google_cloud_cpp_storage_grpc
260-
PRIVATE GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY)
261-
endif ()
262-
if ((TARGET gRPC::grpcpp_otel_plugin)
263-
AND (TARGET google-cloud-cpp::opentelemetry)
264-
AND (TARGET opentelemetry-cpp::metrics))
265-
target_compile_definitions(
266-
google_cloud_cpp_storage_grpc
267-
PRIVATE GOOGLE_CLOUD_CPP_STORAGE_WITH_OTEL_METRICS
268-
GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY)
260+
PUBLIC GOOGLE_CLOUD_CPP_STORAGE_WITH_OTEL_METRICS
261+
GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY)
269262
target_link_libraries(
270-
google_cloud_cpp_storage_grpc
271-
PUBLIC google-cloud-cpp::opentelemetry gRPC::grpcpp_otel_plugin
272-
opentelemetry-cpp::metrics)
273-
set(EXTRA_MODULES "google_cloud_cpp_opentelemetry" "grpcpp_otel_plugin"
274-
"opentelemetry_metrics")
263+
google_cloud_cpp_storage_grpc PUBLIC google-cloud-cpp::opentelemetry
264+
opentelemetry-cpp::metrics)
265+
endif ()
266+
if (TARGET gRPC::grpcpp_otel_plugin)
267+
target_link_libraries(google_cloud_cpp_storage_grpc
268+
PUBLIC gRPC::grpcpp_otel_plugin)
269+
set(EXTRA_MODULES "grpcpp_otel_plugin")
275270
endif ()
276271
set_target_properties(
277272
google_cloud_cpp_storage_grpc

google/cloud/storage/internal/async/reader_connection_telemetry.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#ifdef GOOGLE_CLOUD_CPP_STORAGE_WITH_OTEL_METRICS
2020
#include <opentelemetry/metrics/meter_provider.h>
2121
#include <opentelemetry/metrics/provider.h>
22+
#include <opentelemetry/trace/context.h>
2223
#endif
2324
#include <chrono>
2425

@@ -41,7 +42,7 @@ struct ReadLatencyMetrics {
4142
static ReadLatencyMetrics const metrics = [] {
4243
opentelemetry::nostd::shared_ptr<opentelemetry::metrics::Meter> meter =
4344
opentelemetry::metrics::Provider::GetMeterProvider()->GetMeter(
44-
"google-cloud-cpp", version::version_string());
45+
"google-cloud-cpp", version_string());
4546
return ReadLatencyMetrics{
4647
meter->CreateDoubleHistogram("gl-cpp.latency.bidi_read.queue",
4748
"Read Range Queue Latency", "us"),

0 commit comments

Comments
 (0)