Skip to content

Commit

Permalink
fix rebase
Browse files Browse the repository at this point in the history
  • Loading branch information
zeitlinger committed Jul 4, 2024
1 parent 0dede97 commit 6d9535d
Show file tree
Hide file tree
Showing 13 changed files with 88 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.context.propagation.TextMapGetter;
import io.opentelemetry.instrumentation.api.incubator.config.internal.CoreCommonConfig;
import io.opentelemetry.instrumentation.api.incubator.config.internal.CommonConfig;
import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpExperimentalAttributesExtractor;
import io.opentelemetry.instrumentation.api.incubator.semconv.http.HttpServerExperimentalMetrics;
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
Expand Down Expand Up @@ -211,8 +211,7 @@ public OpenTelemetry getOpenTelemetry() {
}

@CanIgnoreReturnValue
public DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> configure(
CoreCommonConfig config) {
public DefaultHttpServerInstrumenterBuilder<REQUEST, RESPONSE> configure(CommonConfig config) {
set(config::getKnownHttpRequestMethods, this::setKnownMethods);
set(config::getServerRequestHeaders, this::setCapturedRequestHeaders);
set(config::getServerResponseHeaders, this::setCapturedResponseHeaders);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ static SpringWebfluxTelemetry getWebfluxTelemetry(
return InstrumentationConfigUtil.configureClientAndServerBuilder(
config,
SpringWebfluxTelemetry.builder(openTelemetry),
SpringWebfluxUtil.GET_CLIENT_BUILDER,
SpringWebfluxUtil.GET_SERVER_BUILDER)
SpringWebfluxUtil.getClientBuilderExtractor(),
SpringWebfluxUtil.getServerBuilderExtractor())
.build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ public class SpringWebMvc5InstrumentationAutoConfiguration {
@Bean
Filter otelWebMvcFilter(OpenTelemetry openTelemetry, ConfigProperties config) {
return InstrumentationConfigUtil.configureServerBuilder(
config, SpringWebMvcTelemetry.builder(openTelemetry), SpringMvcUtil.GET_BUILDER)
config,
SpringWebMvcTelemetry.builder(openTelemetry),
SpringMvcUtil.getBuilderExtractor())
.build()
.createServletFilter();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ public class SpringWebMvc6InstrumentationAutoConfiguration {
@Bean
Filter otelWebMvcFilter(OpenTelemetry openTelemetry, ConfigProperties config) {
return InstrumentationConfigUtil.configureServerBuilder(
config, SpringWebMvcTelemetry.builder(openTelemetry), SpringMvcUtil.GET_BUILDER)
config,
SpringWebMvcTelemetry.builder(openTelemetry),
SpringMvcUtil.getBuilderExtractor())
.build()
.createServletFilter();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ T configureClientAndServerBuilder(
getClientBuilder,
Function<T, DefaultHttpServerInstrumenterBuilder<SERVERREQUEST, SERVERRESPONSE>>
getServerBuilder) {
CoreCommonConfig commonConfig = getConfig(config);
CommonConfig commonConfig = getConfig(config);
getClientBuilder.apply(builder).configure(commonConfig);
getServerBuilder.apply(builder).configure(commonConfig);
return builder;
Expand All @@ -52,8 +52,8 @@ public static <T, REQUEST, RESPONSE> T configureServerBuilder(
return builder;
}

private static CoreCommonConfig getConfig(ConfigProperties config) {
return new CoreCommonConfig(new ConfigPropertiesBridge(config));
private static CommonConfig getConfig(ConfigProperties config) {
return new CommonConfig(new ConfigPropertiesBridge(config));
}

public static boolean isStatementSanitizationEnabled(ConfigProperties config, String key) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ public final class SpringWebfluxTelemetryBuilder {
serverBuilder;

static {
SpringWebfluxUtil.GET_CLIENT_BUILDER = SpringWebfluxTelemetryBuilder::getClientBuilder;
SpringWebfluxUtil.GET_SERVER_BUILDER = SpringWebfluxTelemetryBuilder::getServerBuilder;
SpringWebfluxUtil.setClientBuilderExtractor(SpringWebfluxTelemetryBuilder::getClientBuilder);
SpringWebfluxUtil.setServerBuilderExtractor(SpringWebfluxTelemetryBuilder::getServerBuilder);
}

SpringWebfluxTelemetryBuilder(OpenTelemetry openTelemetry) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,43 @@
public class SpringWebfluxUtil {
private SpringWebfluxUtil() {}

@SuppressWarnings("ConstantField")
public static Function<
private static Function<
SpringWebfluxTelemetryBuilder,
DefaultHttpClientInstrumenterBuilder<ClientRequest, ClientResponse>>
GET_CLIENT_BUILDER;
clientBuilderExtractor;

private static Function<
SpringWebfluxTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<ServerWebExchange, ServerWebExchange>>
serverBuilderExtractor;

@SuppressWarnings("ConstantField")
public static Function<
SpringWebfluxTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<ServerWebExchange, ServerWebExchange>>
GET_SERVER_BUILDER;
getServerBuilderExtractor() {
return serverBuilderExtractor;
}

public static void setServerBuilderExtractor(
Function<
SpringWebfluxTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<ServerWebExchange, ServerWebExchange>>
serverBuilderExtractor) {
SpringWebfluxUtil.serverBuilderExtractor = serverBuilderExtractor;
}

public static Function<
SpringWebfluxTelemetryBuilder,
DefaultHttpClientInstrumenterBuilder<ClientRequest, ClientResponse>>
getClientBuilderExtractor() {
return clientBuilderExtractor;
}

public static void setClientBuilderExtractor(
Function<
SpringWebfluxTelemetryBuilder,
DefaultHttpClientInstrumenterBuilder<ClientRequest, ClientResponse>>
clientBuilderExtractor) {
SpringWebfluxUtil.clientBuilderExtractor = clientBuilderExtractor;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public final class SpringWebMvcTelemetryBuilder {
builder;

static {
SpringMvcUtil.GET_BUILDER = SpringWebMvcTelemetryBuilder::getBuilder;
SpringMvcUtil.setBuilderExtractor(SpringWebMvcTelemetryBuilder::getBuilder);
}

SpringWebMvcTelemetryBuilder(OpenTelemetry openTelemetry) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,23 @@
public class SpringMvcUtil {
private SpringMvcUtil() {}

@SuppressWarnings("ConstantField")
private static Function<
SpringWebMvcTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<HttpServletRequest, HttpServletResponse>>
builderExtractor;

public static Function<
SpringWebMvcTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<HttpServletRequest, HttpServletResponse>>
GET_BUILDER;
getBuilderExtractor() {
return builderExtractor;
}

public static void setBuilderExtractor(
Function<
SpringWebMvcTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<HttpServletRequest, HttpServletResponse>>
builderExtractor) {
SpringMvcUtil.builderExtractor = builderExtractor;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public final class SpringWebMvcTelemetryBuilder {
builder;

static {
SpringMvcUtil.GET_BUILDER = SpringWebMvcTelemetryBuilder::getBuilder;
SpringMvcUtil.setBuilderExtractor(SpringWebMvcTelemetryBuilder::getBuilder);
}

SpringWebMvcTelemetryBuilder(OpenTelemetry openTelemetry) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,23 @@
public class SpringMvcUtil {
private SpringMvcUtil() {}

@SuppressWarnings("ConstantField")
private static Function<
SpringWebMvcTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<HttpServletRequest, HttpServletResponse>>
builderExtractor;

public static Function<
SpringWebMvcTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<HttpServletRequest, HttpServletResponse>>
GET_BUILDER;
getBuilderExtractor() {
return builderExtractor;
}

public static void setBuilderExtractor(
Function<
SpringWebMvcTelemetryBuilder,
DefaultHttpServerInstrumenterBuilder<HttpServletRequest, HttpServletResponse>>
builderExtractor) {
SpringMvcUtil.builderExtractor = builderExtractor;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,12 @@
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
import io.opentelemetry.sdk.logs.data.LogRecordData;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.testing.assertj.SpanDataAssert;
import io.opentelemetry.semconv.ClientAttributes;
import io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions;
import io.opentelemetry.semconv.HttpAttributes;
import io.opentelemetry.semconv.ServerAttributes;
import io.opentelemetry.semconv.UrlAttributes;
import io.opentelemetry.semconv.incubating.CodeIncubatingAttributes;
import io.opentelemetry.semconv.incubating.DbIncubatingAttributes;
import io.opentelemetry.semconv.incubating.HttpIncubatingAttributes;
import io.opentelemetry.semconv.incubating.ServiceIncubatingAttributes;
import java.util.Collections;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ public static void assertClientSpan(SpanDataAssert span, String path) {
.hasAttributesSatisfying(
satisfies(UrlAttributes.URL_FULL, a -> a.endsWith(path)),
// this attribute is set by the experimental http instrumentation
satisfies(HttpIncubatingAttributes.HTTP_RESPONSE_BODY_SIZE, AbstractLongAssert::isNotNegative));
satisfies(
HttpIncubatingAttributes.HTTP_RESPONSE_BODY_SIZE,
AbstractLongAssert::isNotNegative));
}

@CanIgnoreReturnValue
Expand All @@ -35,6 +37,8 @@ public static SpanDataAssert assertServerSpan(SpanDataAssert span, String route)
.hasAttribute(HttpAttributes.HTTP_ROUTE, route)
.hasAttributesSatisfying(
// this attribute is set by the experimental http instrumentation
satisfies(HttpIncubatingAttributes.HTTP_RESPONSE_BODY_SIZE, AbstractLongAssert::isNotNegative));
satisfies(
HttpIncubatingAttributes.HTTP_RESPONSE_BODY_SIZE,
AbstractLongAssert::isNotNegative));
}
}

0 comments on commit 6d9535d

Please sign in to comment.