Skip to content

Commit 37a947e

Browse files
committed
add factory method
1 parent b31690d commit 37a947e

File tree

22 files changed

+70
-44
lines changed

22 files changed

+70
-44
lines changed

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

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,30 +59,43 @@ public final class DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> {
5959
private final HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter;
6060
private final HttpSpanNameExtractorBuilder<REQUEST> httpSpanNameExtractorBuilder;
6161

62-
@Nullable private TextMapSetter<REQUEST> headerSetter;
62+
@Nullable private final TextMapSetter<REQUEST> headerSetter;
6363
private Function<SpanNameExtractor<? super REQUEST>, ? extends SpanNameExtractor<? super REQUEST>>
6464
spanNameExtractorTransformer = Function.identity();
6565
private boolean emitExperimentalHttpClientMetrics = false;
6666
private Consumer<InstrumenterBuilder<REQUEST, RESPONSE>> builderCustomizer = b -> {};
6767

68-
public DefaultHttpClientInstrumenterBuilder(
68+
private DefaultHttpClientInstrumenterBuilder(
6969
String instrumentationName,
7070
OpenTelemetry openTelemetry,
7171
HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter,
7272
TextMapSetter<REQUEST> headerSetter) {
73-
this(instrumentationName, openTelemetry, attributesGetter);
74-
this.headerSetter = Objects.requireNonNull(headerSetter, "headerSetter");
75-
}
76-
77-
public DefaultHttpClientInstrumenterBuilder(
78-
String instrumentationName,
79-
OpenTelemetry openTelemetry,
80-
HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter) {
8173
this.instrumentationName = Objects.requireNonNull(instrumentationName, "instrumentationName");
8274
this.openTelemetry = Objects.requireNonNull(openTelemetry, "openTelemetry");
8375
this.attributesGetter = Objects.requireNonNull(attributesGetter, "attributesGetter");
8476
httpSpanNameExtractorBuilder = HttpSpanNameExtractor.builder(attributesGetter);
8577
httpAttributesExtractorBuilder = HttpClientAttributesExtractor.builder(attributesGetter);
78+
this.headerSetter = headerSetter;
79+
}
80+
81+
public static <REQUEST, RESPONSE> DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> create(
82+
String instrumentationName,
83+
OpenTelemetry openTelemetry,
84+
HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter) {
85+
return new DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE>(
86+
instrumentationName, openTelemetry, attributesGetter, null);
87+
}
88+
89+
public static <REQUEST, RESPONSE> DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE> create(
90+
String instrumentationName,
91+
OpenTelemetry openTelemetry,
92+
HttpClientAttributesGetter<REQUEST, RESPONSE> attributesGetter,
93+
TextMapSetter<REQUEST> headerSetter) {
94+
return new DefaultHttpClientInstrumenterBuilder<REQUEST, RESPONSE>(
95+
instrumentationName,
96+
openTelemetry,
97+
attributesGetter,
98+
Objects.requireNonNull(headerSetter, "headerSetter"));
8699
}
87100

88101
/**

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

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,33 +54,46 @@ public final class DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> {
5454
httpAttributesExtractorBuilder;
5555
private final HttpSpanNameExtractorBuilder<REQUEST> httpSpanNameExtractorBuilder;
5656

57-
@Nullable private TextMapGetter<REQUEST> headerGetter;
57+
@Nullable private final TextMapGetter<REQUEST> headerGetter;
5858
private Function<SpanNameExtractor<? super REQUEST>, ? extends SpanNameExtractor<? super REQUEST>>
5959
spanNameExtractorTransformer = Function.identity();
6060
private final HttpServerRouteBuilder<REQUEST> httpServerRouteBuilder;
6161
private final HttpServerAttributesGetter<REQUEST, RESPONSE> attributesGetter;
6262
private boolean emitExperimentalHttpServerMetrics = false;
6363
private Consumer<InstrumenterBuilder<REQUEST, RESPONSE>> builderCustomizer = b -> {};
6464

65-
public DefaultHttpServerInstrumenterBuilder(
65+
private DefaultHttpServerInstrumenterBuilder(
6666
String instrumentationName,
6767
OpenTelemetry openTelemetry,
6868
HttpServerAttributesGetter<REQUEST, RESPONSE> attributesGetter,
6969
TextMapGetter<REQUEST> headerGetter) {
70-
this(instrumentationName, openTelemetry, attributesGetter);
71-
this.headerGetter = Objects.requireNonNull(headerGetter, "headerGetter");
72-
}
73-
74-
public DefaultHttpServerInstrumenterBuilder(
75-
String instrumentationName,
76-
OpenTelemetry openTelemetry,
77-
HttpServerAttributesGetter<REQUEST, RESPONSE> attributesGetter) {
7870
this.instrumentationName = Objects.requireNonNull(instrumentationName, "instrumentationName");
7971
this.openTelemetry = Objects.requireNonNull(openTelemetry, "openTelemetry");
8072
this.attributesGetter = Objects.requireNonNull(attributesGetter, "attributesGetter");
8173
httpAttributesExtractorBuilder = HttpServerAttributesExtractor.builder(attributesGetter);
8274
httpSpanNameExtractorBuilder = HttpSpanNameExtractor.builder(attributesGetter);
8375
httpServerRouteBuilder = HttpServerRoute.builder(attributesGetter);
76+
this.headerGetter = headerGetter;
77+
}
78+
79+
public static <REQUEST, RESPONSE> DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> create(
80+
String instrumentationName,
81+
OpenTelemetry openTelemetry,
82+
HttpServerAttributesGetter<REQUEST, RESPONSE> attributesGetter) {
83+
return new DefaultHttpServerInstrumenterBuilder<>(
84+
instrumentationName, openTelemetry, attributesGetter, null);
85+
}
86+
87+
public static <REQUEST, RESPONSE> DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> create(
88+
String instrumentationName,
89+
OpenTelemetry openTelemetry,
90+
HttpServerAttributesGetter<REQUEST, RESPONSE> attributesGetter,
91+
TextMapGetter<REQUEST> headerGetter) {
92+
return new DefaultHttpServerInstrumenterBuilder<>(
93+
instrumentationName,
94+
openTelemetry,
95+
attributesGetter,
96+
Objects.requireNonNull(headerGetter, "headerGetter"));
8497
}
8598

8699
/**

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public final class ApacheHttpClientTelemetryBuilder {
2525

2626
ApacheHttpClientTelemetryBuilder(OpenTelemetry openTelemetry) {
2727
builder =
28-
new DefaultHttpClientInstrumenterBuilder<>(
28+
DefaultHttpClientInstrumenterBuilder.create(
2929
INSTRUMENTATION_NAME, openTelemetry, ApacheHttpClientHttpAttributesGetter.INSTANCE);
3030
this.openTelemetry = openTelemetry;
3131
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public final class ApacheHttpClient5TelemetryBuilder {
2626

2727
ApacheHttpClient5TelemetryBuilder(OpenTelemetry openTelemetry) {
2828
builder =
29-
new DefaultHttpClientInstrumenterBuilder<>(
29+
DefaultHttpClientInstrumenterBuilder.create(
3030
INSTRUMENTATION_NAME, openTelemetry, ApacheHttpClient5HttpAttributesGetter.INSTANCE);
3131
this.openTelemetry = openTelemetry;
3232
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ private ArmeriaInstrumenterBuilderFactory() {}
2323

2424
public static DefaultHttpServerInstrumenterBuilder<ServiceRequestContext, RequestLog>
2525
getServerBuilder(OpenTelemetry openTelemetry) {
26-
return new DefaultHttpServerInstrumenterBuilder<>(
26+
return DefaultHttpServerInstrumenterBuilder.create(
2727
INSTRUMENTATION_NAME,
2828
openTelemetry,
2929
ArmeriaHttpServerAttributesGetter.INSTANCE,
@@ -32,7 +32,7 @@ private ArmeriaInstrumenterBuilderFactory() {}
3232

3333
public static DefaultHttpClientInstrumenterBuilder<ClientRequestContext, RequestLog>
3434
getClientBuilder(OpenTelemetry openTelemetry) {
35-
return new DefaultHttpClientInstrumenterBuilder<>(
35+
return DefaultHttpClientInstrumenterBuilder.create(
3636
INSTRUMENTATION_NAME,
3737
openTelemetry,
3838
ArmeriaHttpClientAttributesGetter.INSTANCE,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ private JavaHttpClientInstrumenterBuilderFactory() {}
2121

2222
public static DefaultHttpClientInstrumenterBuilder<HttpRequest, HttpResponse<?>> create(
2323
OpenTelemetry openTelemetry) {
24-
return new DefaultHttpClientInstrumenterBuilder<>(
24+
return DefaultHttpClientInstrumenterBuilder.create(
2525
INSTRUMENTATION_NAME, openTelemetry, JavaHttpClientAttributesGetter.INSTANCE);
2626
}
2727
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ private JettyHttpClientInstrumenterBuilderFactory() {}
2121

2222
public static DefaultHttpClientInstrumenterBuilder<Request, Response> create(
2323
OpenTelemetry openTelemetry) {
24-
return new DefaultHttpClientInstrumenterBuilder<>(
24+
return DefaultHttpClientInstrumenterBuilder.create(
2525
INSTRUMENTATION_NAME,
2626
openTelemetry,
2727
JettyClientHttpAttributesGetter.INSTANCE,

instrumentation/jetty-httpclient/jetty-httpclient-9.2/library/src/main/java/io/opentelemetry/instrumentation/jetty/httpclient/v9_2/internal/JettyHttpClientInstrumenterBuilderFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ private JettyHttpClientInstrumenterBuilderFactory() {}
2121

2222
public static DefaultHttpClientInstrumenterBuilder<Request, Response> create(
2323
OpenTelemetry openTelemetry) {
24-
return new DefaultHttpClientInstrumenterBuilder<>(
24+
return DefaultHttpClientInstrumenterBuilder.create(
2525
INSTRUMENTATION_NAME,
2626
openTelemetry,
2727
JettyClientHttpAttributesGetter.INSTANCE,

instrumentation/kubernetes-client-7.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/kubernetesclient/KubernetesClientSingletons.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class KubernetesClientSingletons {
2525

2626
static {
2727
INSTRUMENTER =
28-
new DefaultHttpClientInstrumenterBuilder<>(
28+
DefaultHttpClientInstrumenterBuilder.create(
2929
"io.opentelemetry.kubernetes-client-7.0",
3030
GlobalOpenTelemetry.get(),
3131
new KubernetesHttpAttributesGetter())

instrumentation/netty/netty-4-common/library/src/main/java/io/opentelemetry/instrumentation/netty/v4/common/internal/client/NettyClientInstrumenterBuilderFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ private NettyClientInstrumenterBuilderFactory() {}
2020
public static DefaultHttpClientInstrumenterBuilder<HttpRequestAndChannel, HttpResponse> create(
2121
String instrumentationName, OpenTelemetry openTelemetry) {
2222

23-
return new DefaultHttpClientInstrumenterBuilder<>(
23+
return DefaultHttpClientInstrumenterBuilder.create(
2424
instrumentationName,
2525
openTelemetry,
2626
new NettyHttpClientAttributesGetter(),

0 commit comments

Comments
 (0)