From f6dd4ab6c8de2168600aa7e2d7a833e1d46e2d4e Mon Sep 17 00:00:00 2001 From: Sydney Munro <97561403+sydney-munro@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:51:57 -0700 Subject: [PATCH] feat: Instrument HTTP with OpenTelemetry (#2780) --- .../clirr-ignored-differences.xml | 13 ++ google-cloud-storage/pom.xml | 9 + .../cloud/storage/GrpcStorageOptions.java | 11 + .../cloud/storage/HttpStorageOptions.java | 26 +++ .../google/cloud/storage/StorageOptions.java | 6 + .../otel/NoOpOpenTelemetryInstance.java | 96 +++++++++ .../storage/otel/OpenTelemetryInstance.java | 191 ++++++++++++++++++ .../storage/otel/OpenTelemetryTraceUtil.java | 94 +++++++++ .../cloud/storage/spi/v1/HttpStorageRpc.java | 11 +- .../cloud/storage/ITOpenTelemetryTest.java | 105 ++++++++++ 10 files changed, 561 insertions(+), 1 deletion(-) create mode 100644 google-cloud-storage/src/main/java/com/google/cloud/storage/otel/NoOpOpenTelemetryInstance.java create mode 100644 google-cloud-storage/src/main/java/com/google/cloud/storage/otel/OpenTelemetryInstance.java create mode 100644 google-cloud-storage/src/main/java/com/google/cloud/storage/otel/OpenTelemetryTraceUtil.java create mode 100644 google-cloud-storage/src/test/java/com/google/cloud/storage/ITOpenTelemetryTest.java diff --git a/google-cloud-storage/clirr-ignored-differences.xml b/google-cloud-storage/clirr-ignored-differences.xml index d81c37bb24..03e37c174e 100644 --- a/google-cloud-storage/clirr-ignored-differences.xml +++ b/google-cloud-storage/clirr-ignored-differences.xml @@ -96,4 +96,17 @@ boolean equals(java.lang.Object) + + 7013 + com/google/cloud/storage/StorageOptions$Builder + com.google.cloud.storage.StorageOptions$Builder setOpenTelemetrySdk(io.opentelemetry.sdk.OpenTelemetrySdk) + + + + 7013 + com/google/cloud/storage/StorageOptions + io.opentelemetry.sdk.OpenTelemetrySdk getOpenTelemetrySdk() + + + diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml index 2b3413e7f3..02ef4f2611 100644 --- a/google-cloud-storage/pom.xml +++ b/google-cloud-storage/pom.xml @@ -83,6 +83,10 @@ io.opencensus opencensus-api + + io.opentelemetry + opentelemetry-context + com.google.api.grpc proto-google-iam-v1 @@ -205,6 +209,11 @@ grpc-googleapis runtime + + io.opentelemetry + opentelemetry-sdk-trace + test +