File tree Expand file tree Collapse file tree 14 files changed +129
-9
lines changed
apache-httpclient/apache-httpclient-4.3/library/src/test/java/io/opentelemetry/instrumentation/apachehttpclient/v4_3
armeria-1.3/library/src/test/java/io/opentelemetry/instrumentation/armeria/v1_3
jaxrs-client/jaxrs-client-2.0-testing/src/test/groovy
jetty-httpclient/jetty-httpclient-9.2/library/src/test/groovy/io/opentelemetry/instrumentation/jetty/httpclient/v9_2
ktor/ktor-2.0/library/src/test/kotlin/io/opentelemetry/instrumentation/ktor/v2_0/client
netty/netty-4.1/library/src/test/java/io/opentelemetry/instrumentation/netty/v4_1
okhttp/okhttp-3.0/library/src/test/java/io/opentelemetry/instrumentation/okhttp/v3_0
ratpack/ratpack-1.7/library/src
main/java/io/opentelemetry/instrumentation/ratpack/v1_7
test/java/io/opentelemetry/instrumentation/ratpack/v1_7
spring-webflux-5.0/library/src/test/java/io/opentelemetry/instrumentation/spring/webflux/v5_0/client
spring-web/spring-web-3.1/library/src/test/java/io/opentelemetry/instrumentation/spring/web/v3_1
groovy/io/opentelemetry/instrumentation/test/base
java/io/opentelemetry/instrumentation/testing/junit/http Expand file tree Collapse file tree 14 files changed +129
-9
lines changed Original file line number Diff line number Diff line change 88import io .opentelemetry .instrumentation .testing .junit .InstrumentationExtension ;
99import io .opentelemetry .instrumentation .testing .junit .http .AbstractHttpClientTest ;
1010import io .opentelemetry .instrumentation .testing .junit .http .HttpClientInstrumentationExtension ;
11+ import java .util .Collections ;
1112import org .apache .http .client .config .RequestConfig ;
1213import org .apache .http .impl .client .CloseableHttpClient ;
1314import org .apache .http .impl .client .HttpClientBuilder ;
@@ -26,7 +27,13 @@ protected InstrumentationExtension testing() {
2627 @ Override
2728 protected CloseableHttpClient createClient (boolean readTimeout ) {
2829 HttpClientBuilder builder =
29- ApacheHttpClientTelemetry .create (testing .getOpenTelemetry ()).newHttpClientBuilder ();
30+ ApacheHttpClientTelemetry .builder (testing .getOpenTelemetry ())
31+ .setCapturedRequestHeaders (
32+ Collections .singletonList (AbstractHttpClientTest .TEST_REQUEST_HEADER ))
33+ .setCapturedResponseHeaders (
34+ Collections .singletonList (AbstractHttpClientTest .TEST_RESPONSE_HEADER ))
35+ .build ()
36+ .newHttpClientBuilder ();
3037 RequestConfig .Builder requestConfigBuilder =
3138 RequestConfig .custom ()
3239 .setMaxRedirects (2 )
Original file line number Diff line number Diff line change 77
88import com .linecorp .armeria .client .WebClientBuilder ;
99import io .opentelemetry .instrumentation .testing .junit .InstrumentationExtension ;
10+ import io .opentelemetry .instrumentation .testing .junit .http .AbstractHttpClientTest ;
1011import io .opentelemetry .instrumentation .testing .junit .http .HttpClientInstrumentationExtension ;
1112import io .opentelemetry .instrumentation .testing .junit .http .HttpClientTestOptions ;
13+ import java .util .Collections ;
1214import org .junit .jupiter .api .extension .RegisterExtension ;
1315
1416class ArmeriaHttpClientTest extends AbstractArmeriaHttpClientTest {
@@ -19,7 +21,13 @@ class ArmeriaHttpClientTest extends AbstractArmeriaHttpClientTest {
1921 @ Override
2022 protected WebClientBuilder configureClient (WebClientBuilder clientBuilder ) {
2123 return clientBuilder .decorator (
22- ArmeriaTelemetry .create (testing .getOpenTelemetry ()).newClientDecorator ());
24+ ArmeriaTelemetry .builder (testing .getOpenTelemetry ())
25+ .setCapturedClientRequestHeaders (
26+ Collections .singletonList (AbstractHttpClientTest .TEST_REQUEST_HEADER ))
27+ .setCapturedClientResponseHeaders (
28+ Collections .singletonList (AbstractHttpClientTest .TEST_RESPONSE_HEADER ))
29+ .build ()
30+ .newClientDecorator ());
2331 }
2432
2533 @ Override
Original file line number Diff line number Diff line change @@ -74,6 +74,11 @@ class ResteasyProxyClientTest extends HttpClientTest<ResteasyProxyResource> impl
7474 boolean testCallback () {
7575 false
7676 }
77+
78+ @Override
79+ boolean testCapturedHttpHeaders () {
80+ false
81+ }
7782}
7883
7984@Path (" " )
Original file line number Diff line number Diff line change @@ -7,14 +7,18 @@ package io.opentelemetry.instrumentation.jetty.httpclient.v9_2
77
88
99import io.opentelemetry.instrumentation.test.LibraryTestTrait
10+ import io.opentelemetry.instrumentation.testing.junit.http.AbstractHttpClientTest
1011import org.eclipse.jetty.client.HttpClient
1112import org.eclipse.jetty.util.ssl.SslContextFactory
1213
1314class JettyHttpClient9LibraryTest extends AbstractJettyClient9Test implements LibraryTestTrait {
1415
1516 @Override
1617 HttpClient createStandardClient () {
17- return JettyClientTelemetry . create(getOpenTelemetry()). getHttpClient()
18+ return JettyClientTelemetry . builder(getOpenTelemetry())
19+ .setCapturedRequestHeaders([AbstractHttpClientTest . TEST_REQUEST_HEADER ])
20+ .setCapturedResponseHeaders([AbstractHttpClientTest . TEST_RESPONSE_HEADER ])
21+ .build(). getHttpClient()
1822 }
1923
2024 @Override
Original file line number Diff line number Diff line change @@ -80,6 +80,8 @@ class KtorHttpClientTest : AbstractHttpClientTest<HttpRequestBuilder>() {
8080 private fun HttpClientConfig <* >.installTracing () {
8181 install(KtorClientTracing ) {
8282 setOpenTelemetry(TESTING .openTelemetry)
83+ setCapturedRequestHeaders(listOf (AbstractHttpClientTest .TEST_REQUEST_HEADER ))
84+ setCapturedResponseHeaders(listOf (AbstractHttpClientTest .TEST_RESPONSE_HEADER ))
8385 }
8486 }
8587 }
Original file line number Diff line number Diff line change 88import io .netty .channel .Channel ;
99import io .opentelemetry .context .Context ;
1010import io .opentelemetry .instrumentation .testing .junit .InstrumentationExtension ;
11+ import io .opentelemetry .instrumentation .testing .junit .http .AbstractHttpClientTest ;
1112import io .opentelemetry .instrumentation .testing .junit .http .HttpClientInstrumentationExtension ;
13+ import java .util .Collections ;
1214import org .junit .jupiter .api .extension .RegisterExtension ;
1315
1416public class Netty41ClientTest extends AbstractNetty41ClientTest {
@@ -22,6 +24,10 @@ public class Netty41ClientTest extends AbstractNetty41ClientTest {
2224 channelPipeline ->
2325 channelPipeline .addLast (
2426 NettyClientTelemetry .builder (testing .getOpenTelemetry ())
27+ .setCapturedRequestHeaders (
28+ Collections .singletonList (AbstractHttpClientTest .TEST_REQUEST_HEADER ))
29+ .setCapturedResponseHeaders (
30+ Collections .singletonList (AbstractHttpClientTest .TEST_RESPONSE_HEADER ))
2531 .build ()
2632 .createCombinedHandler ()));
2733
Original file line number Diff line number Diff line change 66package io .opentelemetry .instrumentation .okhttp .v3_0 ;
77
88import io .opentelemetry .instrumentation .testing .junit .InstrumentationExtension ;
9+ import io .opentelemetry .instrumentation .testing .junit .http .AbstractHttpClientTest ;
910import io .opentelemetry .instrumentation .testing .junit .http .HttpClientInstrumentationExtension ;
11+ import java .util .Collections ;
1012import okhttp3 .Call ;
1113import okhttp3 .OkHttpClient ;
1214import org .junit .jupiter .api .extension .RegisterExtension ;
@@ -18,6 +20,12 @@ public class OkHttp3Test extends AbstractOkHttp3Test {
1820
1921 @ Override
2022 public Call .Factory createCallFactory (OkHttpClient .Builder clientBuilder ) {
21- return OkHttpTelemetry .create (testing .getOpenTelemetry ()).newCallFactory (clientBuilder .build ());
23+ return OkHttpTelemetry .builder (testing .getOpenTelemetry ())
24+ .setCapturedRequestHeaders (
25+ Collections .singletonList (AbstractHttpClientTest .TEST_REQUEST_HEADER ))
26+ .setCapturedResponseHeaders (
27+ Collections .singletonList (AbstractHttpClientTest .TEST_RESPONSE_HEADER ))
28+ .build ()
29+ .newCallFactory (clientBuilder .build ());
2230 }
2331}
Original file line number Diff line number Diff line change 1818import ratpack .registry .RegistrySpec ;
1919
2020/**
21- * Entrypoint for instrumenting Ratpack servers. To apply OpenTelemetry to a server, configure the
22- * {@link RegistrySpec} using {@link #configureServerRegistry(RegistrySpec)}.
21+ * Entrypoint for instrumenting Ratpack server and http client.
22+ *
23+ * <p>To apply OpenTelemetry instrumentation to a server, configure the {@link RegistrySpec} using
24+ * {@link #configureServerRegistry(RegistrySpec)}.
2325 *
2426 * <pre>{@code
2527 * RatpackTelemetry telemetry = RatpackTelemetry.create(OpenTelemetrySdk.builder()
3032 * server.handlers(chain -> ...);
3133 * });
3234 * }</pre>
35+ *
36+ * <p>To apply OpenTelemetry instrumentation to a http client, wrap the {@link HttpClient} using
37+ * {@link #instrumentHttpClient(HttpClient)}.
38+ *
39+ * <pre>{@code
40+ * RatpackTelemetry telemetry = RatpackTelemetry.create(OpenTelemetrySdk.builder()
41+ * ...
42+ * .build());
43+ * HttpClient instrumentedHttpClient = telemetry.instrumentHttpClient(httpClient);
44+ * }</pre>
3345 */
3446public final class RatpackTelemetry {
3547
Original file line number Diff line number Diff line change 66package io .opentelemetry .instrumentation .ratpack .v1_7 ;
77
88import io .opentelemetry .instrumentation .testing .junit .InstrumentationExtension ;
9+ import io .opentelemetry .instrumentation .testing .junit .http .AbstractHttpClientTest ;
910import io .opentelemetry .instrumentation .testing .junit .http .HttpClientInstrumentationExtension ;
11+ import java .util .Collections ;
1012import org .junit .jupiter .api .extension .RegisterExtension ;
1113import ratpack .func .Action ;
1214import ratpack .http .client .HttpClient ;
@@ -19,7 +21,12 @@ class RatpackHttpClientTest extends AbstractRatpackHttpClientTest {
1921
2022 @ Override
2123 protected HttpClient buildHttpClient () throws Exception {
22- return RatpackTelemetry .create (testing .getOpenTelemetry ())
24+ return RatpackTelemetry .builder (testing .getOpenTelemetry ())
25+ .setCapturedClientRequestHeaders (
26+ Collections .singletonList (AbstractHttpClientTest .TEST_REQUEST_HEADER ))
27+ .setCapturedClientResponseHeaders (
28+ Collections .singletonList (AbstractHttpClientTest .TEST_RESPONSE_HEADER ))
29+ .build ()
2330 .instrumentHttpClient (HttpClient .of (Action .noop ()));
2431 }
2532
Original file line number Diff line number Diff line change 1515import io .opentelemetry .instrumentation .testing .junit .http .HttpClientTestOptions ;
1616import io .opentelemetry .semconv .trace .attributes .SemanticAttributes ;
1717import java .net .URI ;
18+ import java .util .Collections ;
1819import java .util .HashSet ;
1920import java .util .Map ;
2021import java .util .Set ;
@@ -41,7 +42,14 @@ static void setUp() {
4142 restTemplate = new RestTemplate (requestFactory );
4243 restTemplate
4344 .getInterceptors ()
44- .add (SpringWebTelemetry .create (testing .getOpenTelemetry ()).newInterceptor ());
45+ .add (
46+ SpringWebTelemetry .builder (testing .getOpenTelemetry ())
47+ .setCapturedRequestHeaders (
48+ Collections .singletonList (AbstractHttpClientTest .TEST_REQUEST_HEADER ))
49+ .setCapturedResponseHeaders (
50+ Collections .singletonList (AbstractHttpClientTest .TEST_RESPONSE_HEADER ))
51+ .build ()
52+ .newInterceptor ());
4553 }
4654
4755 @ Override
You can’t perform that action at this time.
0 commit comments