From 7ff4ac7c10b38e83cb20978b002a194b60699e0c Mon Sep 17 00:00:00 2001 From: risha-vijayvargiya-22 Date: Tue, 17 Mar 2026 09:34:16 +0000 Subject: [PATCH 1/2] chore: Migrate gsutil usage to gcloud storage --- .../main/java/com/google/cloud/storage/BlobId.java | 4 ++-- .../storage/OtelMultipartUploadClientDecorator.java | 12 ++++++------ .../google/cloud/storage/ITOpenTelemetryMPUTest.java | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java index c65fc7cbd9..695a7a4888 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java @@ -60,7 +60,7 @@ public Long getGeneration() { } /** - * Returns this blob's Storage url which can be used with gsutil. If {@link #generation} is + * Returns this blob's Storage url which can be used with gcloud storage. If {@link #generation} is * non-null it will not be included in the uri. */ public String toGsUtilUri() { @@ -68,7 +68,7 @@ public String toGsUtilUri() { } /** - * Returns this blob's Storage url which can be used with gsutil. If {@link #generation} is + * Returns this blob's Storage url which can be used with gcloud storage. If {@link #generation} is * non-null it will be included in the uri * * @since 2.22.1 diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/OtelMultipartUploadClientDecorator.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/OtelMultipartUploadClientDecorator.java index f5e7080fed..71a05bd031 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/OtelMultipartUploadClientDecorator.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/OtelMultipartUploadClientDecorator.java @@ -62,7 +62,7 @@ public CreateMultipartUploadResponse createMultipartUpload(CreateMultipartUpload tracer .spanBuilder("createMultipartUpload") .setAttribute( - "gsutil.uri", String.format("gs://%s/%s", request.bucket(), request.key())) + "gcloud.storage.uri", String.format("gs://%s/%s", request.bucket(), request.key())) .startSpan(); try (Scope ignore = span.makeCurrent()) { return delegate.createMultipartUpload(request); @@ -81,7 +81,7 @@ public ListPartsResponse listParts(ListPartsRequest request) { tracer .spanBuilder("listParts") .setAttribute( - "gsutil.uri", String.format("gs://%s/%s", request.bucket(), request.key())) + "gcloud.storage.uri", String.format("gs://%s/%s", request.bucket(), request.key())) .startSpan(); try (Scope ignore = span.makeCurrent()) { return delegate.listParts(request); @@ -100,7 +100,7 @@ public AbortMultipartUploadResponse abortMultipartUpload(AbortMultipartUploadReq tracer .spanBuilder("abortMultipartUpload") .setAttribute( - "gsutil.uri", String.format("gs://%s/%s", request.bucket(), request.key())) + "gcloud.storage.uri", String.format("gs://%s/%s", request.bucket(), request.key())) .startSpan(); try (Scope ignore = span.makeCurrent()) { return delegate.abortMultipartUpload(request); @@ -120,7 +120,7 @@ public CompleteMultipartUploadResponse completeMultipartUpload( tracer .spanBuilder("completeMultipartUpload") .setAttribute( - "gsutil.uri", String.format("gs://%s/%s", request.bucket(), request.key())) + "gcloud.storage.uri", String.format("gs://%s/%s", request.bucket(), request.key())) .startSpan(); try (Scope ignore = span.makeCurrent()) { return delegate.completeMultipartUpload(request); @@ -139,7 +139,7 @@ public UploadPartResponse uploadPart(UploadPartRequest request, RequestBody requ tracer .spanBuilder("uploadPart") .setAttribute( - "gsutil.uri", String.format("gs://%s/%s", request.bucket(), request.key())) + "gcloud.storage.uri", String.format("gs://%s/%s", request.bucket(), request.key())) .setAttribute("partNumber", request.partNumber()) .startSpan(); try (Scope ignore = span.makeCurrent()) { @@ -158,7 +158,7 @@ public ListMultipartUploadsResponse listMultipartUploads(ListMultipartUploadsReq Span span = tracer .spanBuilder("listMultipartUploads") - .setAttribute("gsutil.uri", String.format("gs://%s/", request.bucket())) + .setAttribute("gcloud.storage.uri", String.format("gs://%s/", request.bucket())) .startSpan(); try (Scope ignore = span.makeCurrent()) { return delegate.listMultipartUploads(request); diff --git a/google-cloud-storage/src/test/java/com/google/cloud/storage/ITOpenTelemetryMPUTest.java b/google-cloud-storage/src/test/java/com/google/cloud/storage/ITOpenTelemetryMPUTest.java index e1a83ba6eb..ee2f686ab0 100644 --- a/google-cloud-storage/src/test/java/com/google/cloud/storage/ITOpenTelemetryMPUTest.java +++ b/google-cloud-storage/src/test/java/com/google/cloud/storage/ITOpenTelemetryMPUTest.java @@ -123,26 +123,26 @@ public void checkMPUInstrumentation() throws Exception { SpanData createSpan = spans.get(0); assertThat(createSpan.getName()) .isEqualTo("com.google.cloud.storage.MultipartUploadClient/createMultipartUpload"); - assertThat(createSpan.getAttributes().get(AttributeKey.stringKey("gsutil.uri"))) + assertThat(createSpan.getAttributes().get(AttributeKey.stringKey("gcloud.storage.uri"))) .isEqualTo(String.format("gs://%s/%s", bucket.getName(), objectName)); SpanData uploadSpan = spans.get(1); assertThat(uploadSpan.getName()) .isEqualTo("com.google.cloud.storage.MultipartUploadClient/uploadPart"); - assertThat(uploadSpan.getAttributes().get(AttributeKey.stringKey("gsutil.uri"))) + assertThat(uploadSpan.getAttributes().get(AttributeKey.stringKey("gcloud.storage.uri"))) .isEqualTo(String.format("gs://%s/%s", bucket.getName(), objectName)); assertThat(uploadSpan.getAttributes().get(AttributeKey.longKey("partNumber"))).isEqualTo(1); SpanData completeSpan = spans.get(2); assertThat(completeSpan.getName()) .isEqualTo("com.google.cloud.storage.MultipartUploadClient/completeMultipartUpload"); - assertThat(completeSpan.getAttributes().get(AttributeKey.stringKey("gsutil.uri"))) + assertThat(completeSpan.getAttributes().get(AttributeKey.stringKey("gcloud.storage.uri"))) .isEqualTo(String.format("gs://%s/%s", bucket.getName(), objectName)); SpanData listSpan = spans.get(3); assertThat(listSpan.getName()) .isEqualTo("com.google.cloud.storage.MultipartUploadClient/listMultipartUploads"); - assertThat(listSpan.getAttributes().get(AttributeKey.stringKey("gsutil.uri"))) + assertThat(listSpan.getAttributes().get(AttributeKey.stringKey("gcloud.storage.uri"))) .isEqualTo(String.format("gs://%s/", bucket.getName())); } } From f5a6821b7ed2ccadd40deb7a7c0ab9964d70a0c0 Mon Sep 17 00:00:00 2001 From: risha-vijayvargiya-22 Date: Thu, 26 Mar 2026 16:42:43 +0530 Subject: [PATCH 2/2] chore: Fix documentation for toGsUtilUri method --- .../src/main/java/com/google/cloud/storage/BlobId.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java index 695a7a4888..c65fc7cbd9 100644 --- a/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java +++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/BlobId.java @@ -60,7 +60,7 @@ public Long getGeneration() { } /** - * Returns this blob's Storage url which can be used with gcloud storage. If {@link #generation} is + * Returns this blob's Storage url which can be used with gsutil. If {@link #generation} is * non-null it will not be included in the uri. */ public String toGsUtilUri() { @@ -68,7 +68,7 @@ public String toGsUtilUri() { } /** - * Returns this blob's Storage url which can be used with gcloud storage. If {@link #generation} is + * Returns this blob's Storage url which can be used with gsutil. If {@link #generation} is * non-null it will be included in the uri * * @since 2.22.1