Skip to content

Commit dc5a734

Browse files
authored
feat: Take in a module name when creating a span (#2811)
1 parent 4538213 commit dc5a734

File tree

5 files changed

+29
-19
lines changed

5 files changed

+29
-19
lines changed

google-cloud-storage/src/main/java/com/google/cloud/storage/GrpcStorageImpl.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,8 @@ public void close() throws Exception {
201201

202202
@Override
203203
public Bucket create(BucketInfo bucketInfo, BucketTargetOption... options) {
204-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("create");
204+
OpenTelemetryTraceUtil.Span otelSpan =
205+
openTelemetryTraceUtil.startSpan("create", this.getClass().getName());
205206
Opts<BucketTargetOpt> opts = Opts.unwrap(options).resolveFrom(bucketInfo).prepend(defaultOpts);
206207
GrpcCallContext grpcCallContext =
207208
opts.grpcMetadataMapper().apply(GrpcCallContext.createDefault());
@@ -248,7 +249,8 @@ public Blob create(
248249
BlobInfo blobInfo, byte[] content, int offset, int length, BlobTargetOption... options) {
249250
Opts<ObjectTargetOpt> opts = Opts.unwrap(options).resolveFrom(blobInfo);
250251
// Start the otel span to retain information of the origin of the request
251-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("create");
252+
OpenTelemetryTraceUtil.Span otelSpan =
253+
openTelemetryTraceUtil.startSpan("create", this.getClass().getName());
252254
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
253255
return internalDirectUpload(
254256
blobInfo,
@@ -267,7 +269,8 @@ public Blob create(
267269

268270
@Override
269271
public Blob create(BlobInfo blobInfo, InputStream content, BlobWriteOption... options) {
270-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("create");
272+
OpenTelemetryTraceUtil.Span otelSpan =
273+
openTelemetryTraceUtil.startSpan("create", this.getClass().getName());
271274
try (OpenTelemetryTraceUtil.Scope ununsed = otelSpan.makeCurrent()) {
272275
requireNonNull(blobInfo, "blobInfo must be non null");
273276
InputStream inputStreamParam = firstNonNull(content, new ByteArrayInputStream(ZERO_BYTES));
@@ -830,7 +833,7 @@ public BlobInfo internalDirectUpload(
830833
requireNonNull(blobInfo, "blobInfo must be non null");
831834
requireNonNull(buf, "content must be non null");
832835
OpenTelemetryTraceUtil.Span otelSpan =
833-
openTelemetryTraceUtil.startSpan("internalDirectUpload(BlobInfo)", ctx);
836+
openTelemetryTraceUtil.startSpan("internalDirectUpload", this.getClass().getName(), ctx);
834837
Opts<ObjectTargetOpt> optsWithDefaults = opts.prepend(defaultOpts);
835838
GrpcCallContext grpcCallContext =
836839
optsWithDefaults.grpcMetadataMapper().apply(GrpcCallContext.createDefault());

google-cloud-storage/src/main/java/com/google/cloud/storage/otel/NoOpOpenTelemetryInstance.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
class NoOpOpenTelemetryInstance implements OpenTelemetryTraceUtil {
2525

2626
@Override
27-
public OpenTelemetryTraceUtil.Span startSpan(String spanName) {
27+
public OpenTelemetryTraceUtil.Span startSpan(String spanName, String module) {
2828
return new Span();
2929
}
3030

3131
@Override
3232
public OpenTelemetryTraceUtil.Span startSpan(
33-
String spanName, OpenTelemetryTraceUtil.Context parent) {
33+
String spanName, String module, OpenTelemetryTraceUtil.Context parent) {
3434
return new Span();
3535
}
3636

google-cloud-storage/src/main/java/com/google/cloud/storage/otel/OpenTelemetryInstance.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ public Scope makeCurrent() {
153153
}
154154

155155
@Override
156-
public OpenTelemetryTraceUtil.Span startSpan(String methodName) {
157-
String formatSpanName = String.format("%s.%s/%s", "storage", "client", methodName);
156+
public OpenTelemetryTraceUtil.Span startSpan(String methodName, String module) {
157+
String formatSpanName = String.format("%s/%s", module, methodName);
158158
SpanBuilder spanBuilder = tracer.spanBuilder(formatSpanName).setSpanKind(SpanKind.CLIENT);
159159
io.opentelemetry.api.trace.Span span =
160160
addSettingsAttributesToCurrentSpan(spanBuilder).startSpan();
@@ -163,9 +163,9 @@ public OpenTelemetryTraceUtil.Span startSpan(String methodName) {
163163

164164
@Override
165165
public OpenTelemetryTraceUtil.Span startSpan(
166-
String methodName, OpenTelemetryTraceUtil.Context parent) {
166+
String methodName, String module, OpenTelemetryTraceUtil.Context parent) {
167167
assert (parent instanceof OpenTelemetryInstance.Context);
168-
String formatSpanName = String.format("%s.%s/%s", "storage", "client", methodName);
168+
String formatSpanName = String.format("%s/%s", module, methodName);
169169
SpanBuilder spanBuilder =
170170
tracer
171171
.spanBuilder(formatSpanName)

google-cloud-storage/src/main/java/com/google/cloud/storage/otel/OpenTelemetryTraceUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,13 @@ interface Scope extends AutoCloseable {
7676
}
7777

7878
/** Starts a new span with the given name, sets it as the current span, and returns it. */
79-
Span startSpan(String spanName);
79+
Span startSpan(String spanName, String module);
8080

8181
/**
8282
* Starts a new span with the given name and the given context as its parent, sets it as the
8383
* current span, and returns it.
8484
*/
85-
Span startSpan(String spanName, Context parent);
85+
Span startSpan(String spanName, String module, Context parent);
8686

8787
/** Returns the current span. */
8888
@Nonnull

google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/HttpStorageRpc.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,8 @@ private Span startSpan(String spanName) {
360360

361361
@Override
362362
public Bucket create(Bucket bucket, Map<Option, ?> options) {
363-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("create");
363+
OpenTelemetryTraceUtil.Span otelSpan =
364+
openTelemetryTraceUtil.startSpan("create", this.getClass().getName());
364365
Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_CREATE_BUCKET);
365366
Scope scope = tracer.withSpan(span);
366367
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
@@ -388,7 +389,8 @@ public Bucket create(Bucket bucket, Map<Option, ?> options) {
388389
@Override
389390
public StorageObject create(
390391
StorageObject storageObject, final InputStream content, Map<Option, ?> options) {
391-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("create");
392+
OpenTelemetryTraceUtil.Span otelSpan =
393+
openTelemetryTraceUtil.startSpan("create", this.getClass().getName());
392394
Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_CREATE_OBJECT);
393395
Scope scope = tracer.withSpan(span);
394396
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
@@ -848,7 +850,8 @@ private Get createReadRequest(StorageObject from, Map<Option, ?> options) throws
848850
@Override
849851
public long read(
850852
StorageObject from, Map<Option, ?> options, long position, OutputStream outputStream) {
851-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("read");
853+
OpenTelemetryTraceUtil.Span otelSpan =
854+
openTelemetryTraceUtil.startSpan("read", this.getClass().getName());
852855
Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_READ);
853856
Scope scope = tracer.withSpan(span);
854857
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
@@ -886,7 +889,8 @@ public long read(
886889
@Override
887890
public Tuple<String, byte[]> read(
888891
StorageObject from, Map<Option, ?> options, long position, int bytes) {
889-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("read");
892+
OpenTelemetryTraceUtil.Span otelSpan =
893+
openTelemetryTraceUtil.startSpan("read", this.getClass().getName());
890894
Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_READ);
891895
Scope scope = tracer.withSpan(span);
892896
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
@@ -1166,7 +1170,8 @@ public String open(String signedURL) {
11661170

11671171
@Override
11681172
public RewriteResponse openRewrite(RewriteRequest rewriteRequest) {
1169-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("openRewrite");
1173+
OpenTelemetryTraceUtil.Span otelSpan =
1174+
openTelemetryTraceUtil.startSpan("openRewrite", this.getClass().getName());
11701175
Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_OPEN_REWRITE);
11711176
Scope scope = tracer.withSpan(span);
11721177
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
@@ -1180,7 +1185,8 @@ public RewriteResponse openRewrite(RewriteRequest rewriteRequest) {
11801185

11811186
@Override
11821187
public RewriteResponse continueRewrite(RewriteResponse previousResponse) {
1183-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("continueRewrite");
1188+
OpenTelemetryTraceUtil.Span otelSpan =
1189+
openTelemetryTraceUtil.startSpan("continueRewrite", this.getClass().getName());
11841190
Span span = startSpan(HttpStorageRpcSpans.SPAN_NAME_CONTINUE_REWRITE);
11851191
Scope scope = tracer.withSpan(span);
11861192
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
@@ -1197,7 +1203,8 @@ public RewriteResponse continueRewrite(RewriteResponse previousResponse) {
11971203

11981204
private RewriteResponse rewrite(
11991205
RewriteRequest req, String token, OpenTelemetryTraceUtil.Context ctx) {
1200-
OpenTelemetryTraceUtil.Span otelSpan = openTelemetryTraceUtil.startSpan("rewrite", ctx);
1206+
OpenTelemetryTraceUtil.Span otelSpan =
1207+
openTelemetryTraceUtil.startSpan("rewrite", this.getClass().getName(), ctx);
12011208
try (OpenTelemetryTraceUtil.Scope unused = otelSpan.makeCurrent()) {
12021209
String userProject = Option.USER_PROJECT.getString(req.sourceOptions);
12031210
if (userProject == null) {

0 commit comments

Comments
 (0)