Skip to content

Commit 54cd5fb

Browse files
committed
Simplify signatures
1 parent b996ef4 commit 54cd5fb

File tree

27 files changed

+243
-108
lines changed

27 files changed

+243
-108
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
Comparing source compatibility of opentelemetry-instrumentation-api-2.11.0-SNAPSHOT.jar against opentelemetry-instrumentation-api-2.10.0.jar
2-
No changes.
1+
Comparing source compatibility of opentelemetry-instrumentation-annotations-2.11.0-SNAPSHOT.jar against opentelemetry-instrumentation-annotations-2.10.0.jar
2+
No changes.

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpClientInstrumenterBuilder.java

+4-8
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,15 @@ public final class DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> {
5050

5151
private final List<AttributesExtractor<? super REQUEST, ? super RESPONSE>> additionalExtractors =
5252
new ArrayList<>();
53-
private Function<
54-
SpanStatusExtractor<? super REQUEST, ? super RESPONSE>,
55-
? extends SpanStatusExtractor<? super REQUEST, ? super RESPONSE>>
53+
private Function<SpanStatusExtractor<REQUEST, RESPONSE>, SpanStatusExtractor<REQUEST, RESPONSE>>
5654
statusExtractorTransformer = Function.identity();
5755
private final HttpClientAttributesExtractorBuilder<REQUEST, RESPONSE>
5856
httpAttributesExtractorBuilder;
5957
private final HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter;
6058
private final HttpSpanNameExtractorBuilder<REQUEST> httpSpanNameExtractorBuilder;
6159

6260
@Nullable private final TextMapSetter<REQUEST> headerSetter;
63-
private Function<SpanNameExtractor<? super REQUEST>, ? extends SpanNameExtractor<? super REQUEST>>
61+
private Function<SpanNameExtractor<REQUEST>, ? extends SpanNameExtractor<REQUEST>>
6462
spanNameExtractorTransformer = Function.identity();
6563
private boolean emitExperimentalHttpClientMetrics = false;
6664
private Consumer<InstrumenterBuilder<REQUEST, RESPONSE>> builderCustomizer = b -> {};
@@ -111,9 +109,7 @@ public DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> addAttributesExtr
111109

112110
@CanIgnoreReturnValue
113111
public DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> setStatusExtractor(
114-
Function<
115-
SpanStatusExtractor<? super REQUEST, ? super RESPONSE>,
116-
? extends SpanStatusExtractor<? super REQUEST, ? super RESPONSE>>
112+
Function<SpanStatusExtractor<REQUEST, RESPONSE>, SpanStatusExtractor<REQUEST, RESPONSE>>
117113
statusExtractor) {
118114
this.statusExtractorTransformer = statusExtractor;
119115
return this;
@@ -180,7 +176,7 @@ public DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> setKnownMethods(
180176
/** Sets custom {@link SpanNameExtractor} via transform function. */
181177
@CanIgnoreReturnValue
182178
public DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> setSpanNameExtractor(
183-
Function<SpanNameExtractor<? super REQUEST>, ? extends SpanNameExtractor<? super REQUEST>>
179+
Function<SpanNameExtractor<REQUEST>, SpanNameExtractor<REQUEST>>
184180
spanNameExtractorTransformer) {
185181
this.spanNameExtractorTransformer = spanNameExtractorTransformer;
186182
return this;

instrumentation-api-incubator/src/main/java/io/opentelemetry/instrumentation/api/incubator/builder/internal/DefaultHttpServerInstrumenterBuilder.java

+4-8
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,14 @@ public final class DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> {
4646

4747
private final List<AttributesExtractor<? super REQUEST, ? super RESPONSE>> additionalExtractors =
4848
new ArrayList<>();
49-
private Function<
50-
SpanStatusExtractor<? super REQUEST, ? super RESPONSE>,
51-
? extends SpanStatusExtractor<? super REQUEST, ? super RESPONSE>>
49+
private Function<SpanStatusExtractor<REQUEST, RESPONSE>, SpanStatusExtractor<REQUEST, RESPONSE>>
5250
statusExtractorTransformer = Function.identity();
5351
private final HttpServerAttributesExtractorBuilder<REQUEST, RESPONSE>
5452
httpAttributesExtractorBuilder;
5553
private final HttpSpanNameExtractorBuilder<REQUEST> httpSpanNameExtractorBuilder;
5654

5755
@Nullable private final TextMapGetter<REQUEST> headerGetter;
58-
private Function<SpanNameExtractor<? super REQUEST>, ? extends SpanNameExtractor<? super REQUEST>>
56+
private Function<SpanNameExtractor<REQUEST>, SpanNameExtractor<REQUEST>>
5957
spanNameExtractorTransformer = Function.identity();
6058
private final HttpServerRouteBuilder<REQUEST> httpServerRouteBuilder;
6159
private final HttpServerAttributesGetter<REQUEST, RESPONSE> attributesGetter;
@@ -109,9 +107,7 @@ public DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> addAttributesExtr
109107

110108
@CanIgnoreReturnValue
111109
public DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> setStatusExtractor(
112-
Function<
113-
SpanStatusExtractor<? super REQUEST, ? super RESPONSE>,
114-
? extends SpanStatusExtractor<? super REQUEST, ? super RESPONSE>>
110+
Function<SpanStatusExtractor<REQUEST, RESPONSE>, SpanStatusExtractor<REQUEST, RESPONSE>>
115111
statusExtractor) {
116112
this.statusExtractorTransformer = statusExtractor;
117113
return this;
@@ -179,7 +175,7 @@ public DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> setKnownMethods(
179175
/** Sets custom {@link SpanNameExtractor} via transform function. */
180176
@CanIgnoreReturnValue
181177
public DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> setSpanNameExtractor(
182-
Function<SpanNameExtractor<? super REQUEST>, ? extends SpanNameExtractor<? super REQUEST>>
178+
Function<SpanNameExtractor<REQUEST>, SpanNameExtractor<REQUEST>>
183179
spanNameExtractorTransformer) {
184180
this.spanNameExtractorTransformer = spanNameExtractorTransformer;
185181
return this;

instrumentation/apache-httpclient/apache-httpclient-4.3/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3/ApacheHttpClientTelemetryBuilder.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder;
1212
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1313
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
14+
import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor;
1415
import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder;
1516
import java.util.List;
1617
import java.util.Set;
@@ -52,8 +53,7 @@ public ApacheHttpClientTelemetryBuilder addAttributeExtractor(
5253
*/
5354
@CanIgnoreReturnValue
5455
public ApacheHttpClientTelemetryBuilder addAttributesExtractor(
55-
AttributesExtractor<? super ApacheHttpClientRequest, ? super HttpResponse>
56-
attributesExtractor) {
56+
AttributesExtractor<ApacheHttpClientRequest, HttpResponse> attributesExtractor) {
5757
builder.addAttributesExtractor(attributesExtractor);
5858
return this;
5959
}
@@ -120,13 +120,22 @@ public ApacheHttpClientTelemetryBuilder setEmitExperimentalHttpClientMetrics(
120120
@CanIgnoreReturnValue
121121
public ApacheHttpClientTelemetryBuilder setSpanNameExtractor(
122122
Function<
123-
SpanNameExtractor<? super ApacheHttpClientRequest>,
124-
? extends SpanNameExtractor<? super ApacheHttpClientRequest>>
123+
SpanNameExtractor<ApacheHttpClientRequest>,
124+
SpanNameExtractor<ApacheHttpClientRequest>>
125125
spanNameExtractorTransformer) {
126126
builder.setSpanNameExtractor(spanNameExtractorTransformer);
127127
return this;
128128
}
129129

130+
public ApacheHttpClientTelemetryBuilder setStatusExtractor(
131+
Function<
132+
SpanStatusExtractor<ApacheHttpClientRequest, HttpResponse>,
133+
SpanStatusExtractor<ApacheHttpClientRequest, HttpResponse>>
134+
statusExtractorTransformer) {
135+
builder.setStatusExtractor(statusExtractorTransformer);
136+
return this;
137+
}
138+
130139
/**
131140
* Returns a new {@link ApacheHttpClientTelemetry} configured with this {@link
132141
* ApacheHttpClientTelemetryBuilder}.

instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClient5TelemetryBuilder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ public ApacheHttpClient5TelemetryBuilder setEmitExperimentalHttpClientMetrics(
112112
@CanIgnoreReturnValue
113113
public ApacheHttpClient5TelemetryBuilder setSpanNameExtractor(
114114
Function<
115-
SpanNameExtractor<? super ApacheHttpClient5Request>,
116-
? extends SpanNameExtractor<? super ApacheHttpClient5Request>>
115+
SpanNameExtractor<ApacheHttpClient5Request>,
116+
SpanNameExtractor<ApacheHttpClient5Request>>
117117
spanNameExtractorTransformer) {
118118
builder.setSpanNameExtractor(spanNameExtractorTransformer);
119119
return this;

instrumentation/apache-httpclient/apache-httpclient-5.2/library/src/main/java/io/opentelemetry/instrumentation/apachehttpclient/v5_2/ApacheHttpClientTelemetryBuilder.java

+15-6
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder;
1212
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1313
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
14+
import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor;
1415
import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder;
1516
import java.util.List;
1617
import java.util.Set;
@@ -36,10 +37,9 @@ public final class ApacheHttpClientTelemetryBuilder {
3637
* items. The {@link AttributesExtractor} will be executed after all default extractors.
3738
*/
3839
@CanIgnoreReturnValue
39-
public ApacheHttpClientTelemetryBuilder addAttributeExtractor(
40-
AttributesExtractor<? super ApacheHttpClientRequest, ? super HttpResponse>
41-
attributesExtractor) {
42-
builder.addAttributeExtractor(attributesExtractor);
40+
public ApacheHttpClientTelemetryBuilder addAttributesExtractor(
41+
AttributesExtractor<ApacheHttpClientRequest, HttpResponse> attributesExtractor) {
42+
builder.addAttributesExtractor(attributesExtractor);
4343
return this;
4444
}
4545

@@ -88,13 +88,22 @@ public ApacheHttpClientTelemetryBuilder setKnownMethods(Set<String> knownMethods
8888
@CanIgnoreReturnValue
8989
public ApacheHttpClientTelemetryBuilder setSpanNameExtractor(
9090
Function<
91-
SpanNameExtractor<? super ApacheHttpClientRequest>,
92-
? extends SpanNameExtractor<? super ApacheHttpClientRequest>>
91+
SpanNameExtractor<ApacheHttpClientRequest>,
92+
SpanNameExtractor<ApacheHttpClientRequest>>
9393
spanNameExtractorTransformer) {
9494
builder.setSpanNameExtractor(spanNameExtractorTransformer);
9595
return this;
9696
}
9797

98+
public ApacheHttpClientTelemetryBuilder setStatusExtractor(
99+
Function<
100+
SpanStatusExtractor<ApacheHttpClientRequest, HttpResponse>,
101+
SpanStatusExtractor<ApacheHttpClientRequest, HttpResponse>>
102+
spanNameExtractorTransformer) {
103+
builder.setStatusExtractor(spanNameExtractorTransformer);
104+
return this;
105+
}
106+
98107
/**
99108
* Can be used via the unstable method {@link
100109
* Experimental#setEmitExperimentalTelemetry(ApacheHttpClientTelemetryBuilder, boolean)}.

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaClientTelemetryBuilder.java

+5-7
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ public final class ArmeriaClientTelemetryBuilder {
3737
@CanIgnoreReturnValue
3838
public ArmeriaClientTelemetryBuilder setStatusExtractor(
3939
Function<
40-
SpanStatusExtractor<? super ClientRequestContext, ? super RequestLog>,
41-
? extends SpanStatusExtractor<? super ClientRequestContext, ? super RequestLog>>
40+
SpanStatusExtractor<ClientRequestContext, RequestLog>,
41+
SpanStatusExtractor<ClientRequestContext, RequestLog>>
4242
statusExtractor) {
4343
builder.setStatusExtractor(statusExtractor);
4444
return this;
@@ -50,8 +50,8 @@ public ArmeriaClientTelemetryBuilder setStatusExtractor(
5050
*/
5151
@CanIgnoreReturnValue
5252
public ArmeriaClientTelemetryBuilder addAttributesExtractor(
53-
AttributesExtractor<? super ClientRequestContext, ? super RequestLog> attributesExtractor) {
54-
builder.addAttributeExtractor(attributesExtractor);
53+
AttributesExtractor<ClientRequestContext, RequestLog> attributesExtractor) {
54+
builder.addAttributesExtractor(attributesExtractor);
5555
return this;
5656
}
5757

@@ -99,9 +99,7 @@ public ArmeriaClientTelemetryBuilder setKnownMethods(Set<String> knownMethods) {
9999
/** Sets custom client {@link SpanNameExtractor} via transform function. */
100100
@CanIgnoreReturnValue
101101
public ArmeriaClientTelemetryBuilder setSpanNameExtractor(
102-
Function<
103-
SpanNameExtractor<? super ClientRequestContext>,
104-
? extends SpanNameExtractor<? super ClientRequestContext>>
102+
Function<SpanNameExtractor<ClientRequestContext>, SpanNameExtractor<ClientRequestContext>>
105103
clientSpanNameExtractor) {
106104
builder.setSpanNameExtractor(clientSpanNameExtractor);
107105
return this;

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaServerTelemetryBuilder.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ public final class ArmeriaServerTelemetryBuilder {
3737
@CanIgnoreReturnValue
3838
public ArmeriaServerTelemetryBuilder setStatusExtractor(
3939
Function<
40-
SpanStatusExtractor<? super ServiceRequestContext, ? super RequestLog>,
41-
? extends SpanStatusExtractor<? super ServiceRequestContext, ? super RequestLog>>
40+
SpanStatusExtractor<ServiceRequestContext, RequestLog>,
41+
SpanStatusExtractor<ServiceRequestContext, RequestLog>>
4242
statusExtractor) {
4343
builder.setStatusExtractor(statusExtractor);
4444
return this;
@@ -50,7 +50,7 @@ public ArmeriaServerTelemetryBuilder setStatusExtractor(
5050
*/
5151
@CanIgnoreReturnValue
5252
public ArmeriaServerTelemetryBuilder addAttributesExtractor(
53-
AttributesExtractor<? super ServiceRequestContext, ? super RequestLog> attributesExtractor) {
53+
AttributesExtractor<ServiceRequestContext, RequestLog> attributesExtractor) {
5454
builder.addAttributesExtractor(attributesExtractor);
5555
return this;
5656
}
@@ -99,9 +99,7 @@ public ArmeriaServerTelemetryBuilder setKnownMethods(Set<String> knownMethods) {
9999
/** Sets custom server {@link SpanNameExtractor} via transform function. */
100100
@CanIgnoreReturnValue
101101
public ArmeriaServerTelemetryBuilder setSpanNameExtractor(
102-
Function<
103-
SpanNameExtractor<? super ServiceRequestContext>,
104-
? extends SpanNameExtractor<? super ServiceRequestContext>>
102+
Function<SpanNameExtractor<ServiceRequestContext>, SpanNameExtractor<ServiceRequestContext>>
105103
serverSpanNameExtractor) {
106104
builder.setSpanNameExtractor(serverSpanNameExtractor);
107105
return this;

instrumentation/armeria/armeria-1.3/library/src/main/java/io/opentelemetry/instrumentation/armeria/v1_3/ArmeriaTelemetryBuilder.java

+6-10
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,8 @@ public ArmeriaTelemetryBuilder setStatusExtractor(
6969
@CanIgnoreReturnValue
7070
public ArmeriaTelemetryBuilder setClientStatusExtractor(
7171
Function<
72-
SpanStatusExtractor<? super ClientRequestContext, ? super RequestLog>,
73-
? extends SpanStatusExtractor<? super ClientRequestContext, ? super RequestLog>>
72+
SpanStatusExtractor<ClientRequestContext, RequestLog>,
73+
SpanStatusExtractor<ClientRequestContext, RequestLog>>
7474
statusExtractor) {
7575
clientBuilder.setStatusExtractor(statusExtractor);
7676
return this;
@@ -85,8 +85,8 @@ public ArmeriaTelemetryBuilder setClientStatusExtractor(
8585
@CanIgnoreReturnValue
8686
public ArmeriaTelemetryBuilder setServerStatusExtractor(
8787
Function<
88-
SpanStatusExtractor<? super ServiceRequestContext, ? super RequestLog>,
89-
? extends SpanStatusExtractor<? super ServiceRequestContext, ? super RequestLog>>
88+
SpanStatusExtractor<ServiceRequestContext, RequestLog>,
89+
SpanStatusExtractor<ServiceRequestContext, RequestLog>>
9090
statusExtractor) {
9191
serverBuilder.setStatusExtractor(statusExtractor);
9292
return this;
@@ -270,9 +270,7 @@ public ArmeriaTelemetryBuilder setEmitExperimentalHttpServerMetrics(
270270
@Deprecated
271271
@CanIgnoreReturnValue
272272
public ArmeriaTelemetryBuilder setClientSpanNameExtractor(
273-
Function<
274-
SpanNameExtractor<? super ClientRequestContext>,
275-
? extends SpanNameExtractor<? super ClientRequestContext>>
273+
Function<SpanNameExtractor<ClientRequestContext>, SpanNameExtractor<ClientRequestContext>>
276274
clientSpanNameExtractor) {
277275
clientBuilder.setSpanNameExtractor(clientSpanNameExtractor);
278276
return this;
@@ -286,9 +284,7 @@ public ArmeriaTelemetryBuilder setClientSpanNameExtractor(
286284
@Deprecated
287285
@CanIgnoreReturnValue
288286
public ArmeriaTelemetryBuilder setServerSpanNameExtractor(
289-
Function<
290-
SpanNameExtractor<? super ServiceRequestContext>,
291-
? extends SpanNameExtractor<? super ServiceRequestContext>>
287+
Function<SpanNameExtractor<ServiceRequestContext>, SpanNameExtractor<ServiceRequestContext>>
292288
serverSpanNameExtractor) {
293289
serverBuilder.setSpanNameExtractor(serverSpanNameExtractor);
294290
return this;

instrumentation/java-http-client/library/src/main/java/io/opentelemetry/instrumentation/httpclient/JavaHttpClientTelemetryBuilder.java

+12-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder;
1111
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1212
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
13+
import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor;
1314
import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder;
1415
import io.opentelemetry.instrumentation.httpclient.internal.Experimental;
1516
import io.opentelemetry.instrumentation.httpclient.internal.HttpHeadersSetter;
@@ -50,7 +51,7 @@ public JavaHttpClientTelemetryBuilder addAttributeExtractor(
5051
*/
5152
@CanIgnoreReturnValue
5253
public JavaHttpClientTelemetryBuilder addAttributesExtractor(
53-
AttributesExtractor<? super HttpRequest, ? super HttpResponse<?>> attributesExtractor) {
54+
AttributesExtractor<HttpRequest, HttpResponse<?>> attributesExtractor) {
5455
builder.addAttributesExtractor(attributesExtractor);
5556
return this;
5657
}
@@ -116,14 +117,21 @@ public JavaHttpClientTelemetryBuilder setEmitExperimentalHttpClientMetrics(
116117
/** Sets custom {@link SpanNameExtractor} via transform function. */
117118
@CanIgnoreReturnValue
118119
public JavaHttpClientTelemetryBuilder setSpanNameExtractor(
119-
Function<
120-
SpanNameExtractor<? super HttpRequest>,
121-
? extends SpanNameExtractor<? super HttpRequest>>
120+
Function<SpanNameExtractor<HttpRequest>, SpanNameExtractor<HttpRequest>>
122121
spanNameExtractorTransformer) {
123122
builder.setSpanNameExtractor(spanNameExtractorTransformer);
124123
return this;
125124
}
126125

126+
public JavaHttpClientTelemetryBuilder setStatusExtractor(
127+
Function<
128+
SpanStatusExtractor<HttpRequest, HttpResponse<?>>,
129+
SpanStatusExtractor<HttpRequest, HttpResponse<?>>>
130+
statusExtractorTransformer) {
131+
builder.setStatusExtractor(statusExtractorTransformer);
132+
return this;
133+
}
134+
127135
public JavaHttpClientTelemetry build() {
128136
return new JavaHttpClientTelemetry(
129137
builder.build(), new HttpHeadersSetter(openTelemetry.getPropagators()));

instrumentation/jetty-httpclient/jetty-httpclient-12.0/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v12_0/JettyClientTelemetryBuilder.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder;
1111
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
1212
import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor;
13+
import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor;
1314
import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesExtractorBuilder;
1415
import io.opentelemetry.instrumentation.jetty.httpclient.v12_0.internal.Experimental;
1516
import io.opentelemetry.instrumentation.jetty.httpclient.v12_0.internal.JettyHttpClientInstrumenterBuilderFactory;
@@ -65,7 +66,7 @@ public JettyClientTelemetryBuilder addAttributeExtractor(
6566
*/
6667
@CanIgnoreReturnValue
6768
public JettyClientTelemetryBuilder addAttributesExtractor(
68-
AttributesExtractor<? super Request, ? super Response> attributesExtractor) {
69+
AttributesExtractor<Request, Response> attributesExtractor) {
6970
builder.addAttributesExtractor(attributesExtractor);
7071
return this;
7172
}
@@ -130,12 +131,19 @@ public JettyClientTelemetryBuilder setEmitExperimentalHttpClientMetrics(
130131
/** Sets custom {@link SpanNameExtractor} via transform function. */
131132
@CanIgnoreReturnValue
132133
public JettyClientTelemetryBuilder setSpanNameExtractor(
133-
Function<SpanNameExtractor<? super Request>, ? extends SpanNameExtractor<? super Request>>
134+
Function<SpanNameExtractor<Request>, SpanNameExtractor<Request>>
134135
spanNameExtractorTransformer) {
135136
builder.setSpanNameExtractor(spanNameExtractorTransformer);
136137
return this;
137138
}
138139

140+
public JettyClientTelemetryBuilder setStatusExtractor(
141+
Function<SpanStatusExtractor<Request, Response>, SpanStatusExtractor<Request, Response>>
142+
statusExtractorTransformer) {
143+
builder.setStatusExtractor(statusExtractorTransformer);
144+
return this;
145+
}
146+
139147
/**
140148
* Returns a new {@link JettyClientTelemetry} with the settings of this {@link
141149
* JettyClientTelemetryBuilder}.

0 commit comments

Comments
 (0)