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 01/28] 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
+