Skip to content

Commit

Permalink
add additionalServerExtractors
Browse files Browse the repository at this point in the history
  • Loading branch information
arik-dig committed Nov 13, 2022
1 parent a4938a7 commit 76b337b
Showing 1 changed file with 15 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ public final class GrpcTelemetryBuilder {
additionalExtractors = new ArrayList<>();
private final List<AttributesExtractor<? super GrpcRequest, ? super Status>>
additionalClientExtractors = new ArrayList<>();
private final List<AttributesExtractor<? super GrpcRequest, ? super Status>>
additionalServerExtractors = new ArrayList<>();

private boolean captureExperimentalSpanAttributes;

Expand Down Expand Up @@ -78,6 +80,18 @@ public GrpcTelemetryBuilder addClientAttributeExtractor(
return this;
}

/**
* Adds an extra server-only {@link AttributesExtractor} to invoke to set attributes to
* instrumented items. The {@link AttributesExtractor} will be executed after all default
* extractors.
*/
@CanIgnoreReturnValue
public GrpcTelemetryBuilder addServerAttributeExtractor(
AttributesExtractor<? super GrpcRequest, ? super Status> attributesExtractor) {
additionalServerExtractors.add(attributesExtractor);
return this;
}

/** Sets custom client {@link SpanNameExtractor} via transform function. */
@CanIgnoreReturnValue
public GrpcTelemetryBuilder setClientSpanNameExtractor(
Expand Down Expand Up @@ -154,6 +168,7 @@ public GrpcTelemetry build() {
.addAttributesExtractor(RpcServerAttributesExtractor.create(rpcAttributesGetter))
.addAttributesExtractor(
NetServerAttributesExtractor.create(new GrpcNetServerAttributesGetter()))
.addAttributesExtractors(additionalServerExtractors)
.addOperationMetrics(RpcServerMetrics.get());

if (peerService != null) {
Expand Down

0 comments on commit 76b337b

Please sign in to comment.