Fix build
This commit is contained in:
parent
4d94d04f51
commit
eb3d80a0b0
|
|
@ -66,6 +66,16 @@ testing {
|
|||
|
||||
implementation("io.grpc:grpc-stub")
|
||||
implementation("io.grpc:grpc-netty")
|
||||
|
||||
// NOTE: this is a strange dependency. junit reflectively analyzes classes as part of its test discovery process, eventually encounters to jackson-databind classes, and fails with a NoClassDefFoundError:
|
||||
// JUnit Jupiter > initializationError FAILED
|
||||
// org.junit.platform.launcher.core.DiscoveryIssueException: TestEngine with ID 'junit-jupiter' encountered a critical issue during test discovery:
|
||||
//
|
||||
// (1) [ERROR] ClassSelector [className = 'io.opentelemetry.exporter.internal.grpc.GrpcExporterTest$DummyMarshaler', classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader@2aae9190] resolution failed
|
||||
// Source: ClassSource [className = 'io.opentelemetry.exporter.internal.grpc.GrpcExporterTest$DummyMarshaler', filePosition = null]
|
||||
// at io.opentelemetry.exporter.internal.grpc.GrpcExporterTest$DummyMarshaler.<no-method>(SourceFile:0)
|
||||
// Cause: java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonGenerator
|
||||
implementation("com.fasterxml.jackson.core:jackson-databind")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,16 +50,14 @@ import java.util.List;
|
|||
import java.util.function.Consumer;
|
||||
import java.util.stream.Stream;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.ArgumentsProvider;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
class LowAllocationMetricsRequestMarshalerTest {
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(MetricsProvider.class)
|
||||
@MethodSource("metricsArgs")
|
||||
void validateOutput(Collection<MetricData> metrics) throws Exception {
|
||||
byte[] result;
|
||||
{
|
||||
|
|
@ -85,7 +83,7 @@ class LowAllocationMetricsRequestMarshalerTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(MetricsProvider.class)
|
||||
@MethodSource("metricsArgs")
|
||||
void validateJsonOutput(Collection<MetricData> metrics) throws Exception {
|
||||
String result;
|
||||
{
|
||||
|
|
@ -110,8 +108,164 @@ class LowAllocationMetricsRequestMarshalerTest {
|
|||
assertThat(lowAllocationResult).isEqualTo(result);
|
||||
}
|
||||
|
||||
private static Stream<Arguments> metricsArgs() {
|
||||
return Stream.of(
|
||||
arguments(
|
||||
named(
|
||||
"long gauge",
|
||||
metrics(
|
||||
meterProvider ->
|
||||
meterProvider
|
||||
.get("long gauge")
|
||||
.gaugeBuilder("gauge")
|
||||
.setDescription("gauge description")
|
||||
.setUnit("unit")
|
||||
.ofLongs()
|
||||
.buildWithCallback(
|
||||
measurement ->
|
||||
measurement.record(
|
||||
5,
|
||||
Attributes.of(AttributeKey.stringKey("key"), "value")))))),
|
||||
arguments(
|
||||
named(
|
||||
"long counter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
LongCounter longCounter =
|
||||
meterProvider
|
||||
.get("long counter")
|
||||
.counterBuilder("counter")
|
||||
.setDescription("counter description")
|
||||
.setUnit("unit")
|
||||
.build();
|
||||
longCounter.add(1);
|
||||
longCounter.add(2, Attributes.of(AttributeKey.longKey("lives"), 9L));
|
||||
longCounter.add(3);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"long updowncounter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
LongUpDownCounter longUpDownCounter =
|
||||
meterProvider
|
||||
.get("long updowncounter")
|
||||
.upDownCounterBuilder("updowncounter")
|
||||
.setDescription("updowncounter description")
|
||||
.setUnit("unit")
|
||||
.build();
|
||||
longUpDownCounter.add(1);
|
||||
longUpDownCounter.add(-1, Attributes.of(AttributeKey.booleanKey("on"), true));
|
||||
longUpDownCounter.add(1);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double gauge",
|
||||
metrics(
|
||||
meterProvider ->
|
||||
meterProvider
|
||||
.get("double gauge")
|
||||
.gaugeBuilder("doublegauge")
|
||||
.setDescription("doublegauge")
|
||||
.setUnit("unit")
|
||||
.buildWithCallback(measurement -> measurement.record(5.0))))),
|
||||
arguments(
|
||||
named(
|
||||
"double counter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleCounter doubleCounter =
|
||||
meterProvider
|
||||
.get("double counter")
|
||||
.counterBuilder("doublecounter")
|
||||
.ofDoubles()
|
||||
.build();
|
||||
doubleCounter.add(1.0);
|
||||
doubleCounter.add(2.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double updowncounter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleUpDownCounter doubleUpDownCounter =
|
||||
meterProvider
|
||||
.get("double updowncounter")
|
||||
.upDownCounterBuilder("doubleupdown")
|
||||
.ofDoubles()
|
||||
.build();
|
||||
doubleUpDownCounter.add(1.0);
|
||||
doubleUpDownCounter.add(-1.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleHistogram histogram =
|
||||
meterProvider
|
||||
.get("double histogram")
|
||||
.histogramBuilder("histogram")
|
||||
.build();
|
||||
histogram.record(1.0);
|
||||
histogram.record(2.0);
|
||||
histogram.record(3.0);
|
||||
histogram.record(4.0);
|
||||
histogram.record(5.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"long histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
LongHistogram histogram =
|
||||
meterProvider
|
||||
.get("long histogram")
|
||||
.histogramBuilder("histogram")
|
||||
.ofLongs()
|
||||
.build();
|
||||
histogram.record(1);
|
||||
histogram.record(2);
|
||||
histogram.record(3);
|
||||
histogram.record(4);
|
||||
histogram.record(5);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double exponential histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleHistogram histogram =
|
||||
meterProvider
|
||||
.get("double exponential histogram")
|
||||
.histogramBuilder("exponentialhistogram")
|
||||
.build();
|
||||
histogram.record(1.0);
|
||||
histogram.record(2.0);
|
||||
histogram.record(3.0);
|
||||
histogram.record(4.0);
|
||||
histogram.record(5.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"long exponential histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleHistogram histogram =
|
||||
meterProvider
|
||||
.get("long exponential histogram")
|
||||
.histogramBuilder("exponentialhistogram")
|
||||
.build();
|
||||
histogram.record(1);
|
||||
histogram.record(2);
|
||||
histogram.record(3);
|
||||
histogram.record(4);
|
||||
histogram.record(5);
|
||||
}))));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(ExemplarProvider.class)
|
||||
@MethodSource("exemplarArgs")
|
||||
void validateExemplar(ExemplarData exemplar) throws Exception {
|
||||
byte[] result;
|
||||
{
|
||||
|
|
@ -146,6 +300,25 @@ class LowAllocationMetricsRequestMarshalerTest {
|
|||
assertThat(lowAllocationResult).isEqualTo(result);
|
||||
}
|
||||
|
||||
private static Stream<Arguments> exemplarArgs() {
|
||||
SpanContext spanContext =
|
||||
SpanContext.create(
|
||||
"7b2e170db4df2d593ddb4ddf2ddf2d59",
|
||||
"170d3ddb4d23e81f",
|
||||
TraceFlags.getSampled(),
|
||||
TraceState.getDefault());
|
||||
|
||||
return Stream.of(
|
||||
arguments(
|
||||
named(
|
||||
"double exemplar",
|
||||
ImmutableDoubleExemplarData.create(Attributes.empty(), 12345, spanContext, 5.0))),
|
||||
arguments(
|
||||
named(
|
||||
"long exemplar",
|
||||
ImmutableLongExemplarData.create(Attributes.empty(), 12345, spanContext, 5))));
|
||||
}
|
||||
|
||||
@Test
|
||||
void validateSummary() throws Exception {
|
||||
List<ValueAtQuantile> percentileValues =
|
||||
|
|
@ -222,187 +395,4 @@ class LowAllocationMetricsRequestMarshalerTest {
|
|||
|
||||
return metricReader.collectAllMetrics();
|
||||
}
|
||||
|
||||
private static class MetricsProvider implements ArgumentsProvider {
|
||||
@Override
|
||||
public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
|
||||
return Stream.of(
|
||||
arguments(
|
||||
named(
|
||||
"long gauge",
|
||||
metrics(
|
||||
meterProvider ->
|
||||
meterProvider
|
||||
.get("long gauge")
|
||||
.gaugeBuilder("gauge")
|
||||
.setDescription("gauge description")
|
||||
.setUnit("unit")
|
||||
.ofLongs()
|
||||
.buildWithCallback(
|
||||
measurement ->
|
||||
measurement.record(
|
||||
5,
|
||||
Attributes.of(
|
||||
AttributeKey.stringKey("key"), "value")))))),
|
||||
arguments(
|
||||
named(
|
||||
"long counter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
LongCounter longCounter =
|
||||
meterProvider
|
||||
.get("long counter")
|
||||
.counterBuilder("counter")
|
||||
.setDescription("counter description")
|
||||
.setUnit("unit")
|
||||
.build();
|
||||
longCounter.add(1);
|
||||
longCounter.add(2, Attributes.of(AttributeKey.longKey("lives"), 9L));
|
||||
longCounter.add(3);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"long updowncounter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
LongUpDownCounter longUpDownCounter =
|
||||
meterProvider
|
||||
.get("long updowncounter")
|
||||
.upDownCounterBuilder("updowncounter")
|
||||
.setDescription("updowncounter description")
|
||||
.setUnit("unit")
|
||||
.build();
|
||||
longUpDownCounter.add(1);
|
||||
longUpDownCounter.add(
|
||||
-1, Attributes.of(AttributeKey.booleanKey("on"), true));
|
||||
longUpDownCounter.add(1);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double gauge",
|
||||
metrics(
|
||||
meterProvider ->
|
||||
meterProvider
|
||||
.get("double gauge")
|
||||
.gaugeBuilder("doublegauge")
|
||||
.setDescription("doublegauge")
|
||||
.setUnit("unit")
|
||||
.buildWithCallback(measurement -> measurement.record(5.0))))),
|
||||
arguments(
|
||||
named(
|
||||
"double counter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleCounter doubleCounter =
|
||||
meterProvider
|
||||
.get("double counter")
|
||||
.counterBuilder("doublecounter")
|
||||
.ofDoubles()
|
||||
.build();
|
||||
doubleCounter.add(1.0);
|
||||
doubleCounter.add(2.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double updowncounter",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleUpDownCounter doubleUpDownCounter =
|
||||
meterProvider
|
||||
.get("double updowncounter")
|
||||
.upDownCounterBuilder("doubleupdown")
|
||||
.ofDoubles()
|
||||
.build();
|
||||
doubleUpDownCounter.add(1.0);
|
||||
doubleUpDownCounter.add(-1.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleHistogram histogram =
|
||||
meterProvider
|
||||
.get("double histogram")
|
||||
.histogramBuilder("histogram")
|
||||
.build();
|
||||
histogram.record(1.0);
|
||||
histogram.record(2.0);
|
||||
histogram.record(3.0);
|
||||
histogram.record(4.0);
|
||||
histogram.record(5.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"long histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
LongHistogram histogram =
|
||||
meterProvider
|
||||
.get("long histogram")
|
||||
.histogramBuilder("histogram")
|
||||
.ofLongs()
|
||||
.build();
|
||||
histogram.record(1);
|
||||
histogram.record(2);
|
||||
histogram.record(3);
|
||||
histogram.record(4);
|
||||
histogram.record(5);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"double exponential histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleHistogram histogram =
|
||||
meterProvider
|
||||
.get("double exponential histogram")
|
||||
.histogramBuilder("exponentialhistogram")
|
||||
.build();
|
||||
histogram.record(1.0);
|
||||
histogram.record(2.0);
|
||||
histogram.record(3.0);
|
||||
histogram.record(4.0);
|
||||
histogram.record(5.0);
|
||||
}))),
|
||||
arguments(
|
||||
named(
|
||||
"long exponential histogram",
|
||||
metrics(
|
||||
meterProvider -> {
|
||||
DoubleHistogram histogram =
|
||||
meterProvider
|
||||
.get("long exponential histogram")
|
||||
.histogramBuilder("exponentialhistogram")
|
||||
.build();
|
||||
histogram.record(1);
|
||||
histogram.record(2);
|
||||
histogram.record(3);
|
||||
histogram.record(4);
|
||||
histogram.record(5);
|
||||
}))));
|
||||
}
|
||||
}
|
||||
|
||||
private static class ExemplarProvider implements ArgumentsProvider {
|
||||
@Override
|
||||
public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
|
||||
SpanContext spanContext =
|
||||
SpanContext.create(
|
||||
"7b2e170db4df2d593ddb4ddf2ddf2d59",
|
||||
"170d3ddb4d23e81f",
|
||||
TraceFlags.getSampled(),
|
||||
TraceState.getDefault());
|
||||
|
||||
return Stream.of(
|
||||
arguments(
|
||||
named(
|
||||
"double exemplar",
|
||||
ImmutableDoubleExemplarData.create(Attributes.empty(), 12345, spanContext, 5.0))),
|
||||
arguments(
|
||||
named(
|
||||
"long exemplar",
|
||||
ImmutableLongExemplarData.create(Attributes.empty(), 12345, spanContext, 5))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,12 +91,10 @@ import org.junit.jupiter.api.BeforeAll;
|
|||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestInstance;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.ArgumentsProvider;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
import org.junit.jupiter.params.provider.ValueSource;
|
||||
import org.slf4j.event.Level;
|
||||
import org.slf4j.event.LoggingEvent;
|
||||
|
|
@ -462,7 +460,7 @@ public abstract class AbstractGrpcTelemetryExporterTest<T, U extends Message> {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(ClientPrivateKeyProvider.class)
|
||||
@MethodSource("clientPrivateKeyArgs")
|
||||
void clientTls(byte[] privateKey) throws Exception {
|
||||
TelemetryExporter<T> exporter =
|
||||
exporterBuilder()
|
||||
|
|
@ -480,14 +478,10 @@ public abstract class AbstractGrpcTelemetryExporterTest<T, U extends Message> {
|
|||
}
|
||||
}
|
||||
|
||||
private static class ClientPrivateKeyProvider implements ArgumentsProvider {
|
||||
@Override
|
||||
@SuppressWarnings("PrimitiveArrayPassedToVarargsMethod")
|
||||
public Stream<? extends Arguments> provideArguments(ExtensionContext context) throws Exception {
|
||||
return Stream.of(
|
||||
arguments(named("PEM", Files.readAllBytes(clientCertificate.privateKeyFile().toPath()))),
|
||||
arguments(named("DER", clientCertificate.privateKey().getEncoded())));
|
||||
}
|
||||
private static Stream<Arguments> clientPrivateKeyArgs() throws Exception {
|
||||
return Stream.of(
|
||||
arguments(named("PEM", Files.readAllBytes(clientCertificate.privateKeyFile().toPath()))),
|
||||
arguments(named("DER", clientCertificate.privateKey().getEncoded())));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -92,12 +92,10 @@ import org.junit.jupiter.api.BeforeAll;
|
|||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestInstance;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.ArgumentsProvider;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
import org.junit.jupiter.params.provider.ValueSource;
|
||||
import org.mockserver.integration.ClientAndServer;
|
||||
import org.slf4j.event.Level;
|
||||
|
|
@ -477,7 +475,7 @@ public abstract class AbstractHttpTelemetryExporterTest<T, U extends Message> {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(ClientPrivateKeyProvider.class)
|
||||
@MethodSource("clientPrivateKeyArgs")
|
||||
void clientTls(byte[] privateKey) throws Exception {
|
||||
TelemetryExporter<T> exporter =
|
||||
exporterBuilder()
|
||||
|
|
@ -495,14 +493,10 @@ public abstract class AbstractHttpTelemetryExporterTest<T, U extends Message> {
|
|||
}
|
||||
}
|
||||
|
||||
private static class ClientPrivateKeyProvider implements ArgumentsProvider {
|
||||
@Override
|
||||
@SuppressWarnings("PrimitiveArrayPassedToVarargsMethod")
|
||||
public Stream<? extends Arguments> provideArguments(ExtensionContext context) throws Exception {
|
||||
return Stream.of(
|
||||
arguments(named("PEM", Files.readAllBytes(clientCertificate.privateKeyFile().toPath()))),
|
||||
arguments(named("DER", clientCertificate.privateKey().getEncoded())));
|
||||
}
|
||||
private static Stream<Arguments> clientPrivateKeyArgs() throws Exception {
|
||||
return Stream.of(
|
||||
arguments(named("PEM", Files.readAllBytes(clientCertificate.privateKeyFile().toPath()))),
|
||||
arguments(named("DER", clientCertificate.privateKey().getEncoded())));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -11,6 +11,16 @@ dependencies {
|
|||
implementation(project(":sdk:common"))
|
||||
|
||||
compileOnly("com.fasterxml.jackson.core:jackson-core")
|
||||
|
||||
// NOTE: this is a strange dependency. junit reflectively analyzes classes as part of its test discovery process, eventually encounters to jackson-databind classes, and fails with a NoClassDefFoundError:
|
||||
// JUnit Jupiter > initializationError FAILED
|
||||
// org.junit.platform.launcher.core.DiscoveryIssueException: TestEngine with ID 'junit-jupiter' encountered a critical issue during test discovery:
|
||||
//
|
||||
// (1) [ERROR] ClassSelector [className = 'io.opentelemetry.exporter.sender.jdk.internal.JdkHttpSenderTest$NoOpMarshaler', classLoader = jdk.internal.loader.ClassLoaders$AppClassLoader@2aae9190] resolution failed
|
||||
// Source: ClassSource [className = 'io.opentelemetry.exporter.sender.jdk.internal.JdkHttpSenderTest$NoOpMarshaler', filePosition = null]
|
||||
// at io.opentelemetry.exporter.sender.jdk.internal.JdkHttpSenderTest$NoOpMarshaler.<no-method>(SourceFile:0)
|
||||
// Cause: java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonGenerator
|
||||
testImplementation("com.fasterxml.jackson.core:jackson-databind")
|
||||
}
|
||||
|
||||
tasks {
|
||||
|
|
|
|||
|
|
@ -38,12 +38,10 @@ import java.util.stream.Stream;
|
|||
import javax.annotation.Nullable;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.ArgumentsProvider;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
/** Integration tests for the B3 propagators, in various configurations. */
|
||||
class B3PropagationIntegrationTest {
|
||||
|
|
@ -160,7 +158,7 @@ class B3PropagationIntegrationTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(WebClientArgumentSupplier.class)
|
||||
@MethodSource("webClientArgs")
|
||||
void propagation(String testType, WebClient client) throws IOException {
|
||||
OpenTelemetrySdk clientSdk = setupClient();
|
||||
|
||||
|
|
@ -181,7 +179,7 @@ class B3PropagationIntegrationTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(WebClientArgumentSupplier.class)
|
||||
@MethodSource("webClientArgs")
|
||||
void noClientTracing(String testType, WebClient client) throws IOException {
|
||||
assertThat(client.get("/frontend").aggregate().join().contentUtf8()).isEqualTo("OK");
|
||||
|
||||
|
|
@ -194,6 +192,11 @@ class B3PropagationIntegrationTest {
|
|||
.allSatisfy(spanData -> assertThat(spanData.getTraceId()).isEqualTo(traceId));
|
||||
}
|
||||
|
||||
private static Stream<Arguments> webClientArgs() {
|
||||
return Stream.of(
|
||||
Arguments.of("b3multi", b3MultiClient), Arguments.of("b3single", b3SingleClient));
|
||||
}
|
||||
|
||||
private static WebClient createPropagatingClient(URI uri, TextMapPropagator propagator) {
|
||||
return WebClient.builder(uri)
|
||||
.decorator(
|
||||
|
|
@ -234,12 +237,4 @@ class B3PropagationIntegrationTest {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static class WebClientArgumentSupplier implements ArgumentsProvider {
|
||||
@Override
|
||||
public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
|
||||
return Stream.of(
|
||||
Arguments.of("b3multi", b3MultiClient), Arguments.of("b3single", b3SingleClient));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,12 +45,10 @@ import org.awaitility.core.ThrowingRunnable;
|
|||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.ArgumentsProvider;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
import org.slf4j.event.Level;
|
||||
import org.slf4j.event.LoggingEvent;
|
||||
|
||||
|
|
@ -169,7 +167,7 @@ class JaegerRemoteSamplerTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(ClientPrivateKeyProvider.class)
|
||||
@MethodSource("clientPrivateKeyArgs")
|
||||
void clientTlsConnectionWorks(byte[] privateKey) throws IOException {
|
||||
try (JaegerRemoteSampler sampler =
|
||||
JaegerRemoteSampler.builder()
|
||||
|
|
@ -189,14 +187,10 @@ class JaegerRemoteSamplerTest {
|
|||
}
|
||||
}
|
||||
|
||||
private static class ClientPrivateKeyProvider implements ArgumentsProvider {
|
||||
@Override
|
||||
@SuppressWarnings("PrimitiveArrayPassedToVarargsMethod")
|
||||
public Stream<? extends Arguments> provideArguments(ExtensionContext context) throws Exception {
|
||||
return Stream.of(
|
||||
arguments(named("PEM", Files.readAllBytes(clientCertificate.privateKeyFile().toPath()))),
|
||||
arguments(named("DER", clientCertificate.privateKey().getEncoded())));
|
||||
}
|
||||
private static Stream<Arguments> clientPrivateKeyArgs() throws IOException {
|
||||
return Stream.of(
|
||||
arguments(named("PEM", Files.readAllBytes(clientCertificate.privateKeyFile().toPath()))),
|
||||
arguments(named("DER", clientCertificate.privateKey().getEncoded())));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -51,11 +51,9 @@ import java.util.function.Consumer;
|
|||
import java.util.stream.Stream;
|
||||
import javax.annotation.Nullable;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.extension.ExtensionContext;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.ArgumentsProvider;
|
||||
import org.junit.jupiter.params.provider.ArgumentsSource;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
class AttributesAdviceTest {
|
||||
|
||||
|
|
@ -74,7 +72,7 @@ class AttributesAdviceTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(InstrumentsProvider.class)
|
||||
@MethodSource("instrumentProviderArgs")
|
||||
void instrumentWithoutAdvice(
|
||||
InstrumentFactory instrumentFactory, PointsAssert<AbstractPointAssert<?, ?>> pointsAssert) {
|
||||
InMemoryMetricReader reader = InMemoryMetricReader.create();
|
||||
|
|
@ -91,7 +89,7 @@ class AttributesAdviceTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(InstrumentsProvider.class)
|
||||
@MethodSource("instrumentProviderArgs")
|
||||
void instrumentWithAdvice(
|
||||
InstrumentFactory instrumentFactory, PointsAssert<AbstractPointAssert<?, ?>> pointsAssert) {
|
||||
InMemoryMetricReader reader = InMemoryMetricReader.create();
|
||||
|
|
@ -113,7 +111,7 @@ class AttributesAdviceTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(InstrumentsProvider.class)
|
||||
@MethodSource("instrumentProviderArgs")
|
||||
void instrumentWithAdviceAndViews(
|
||||
InstrumentFactory instrumentFactory, PointsAssert<AbstractPointAssert<?, ?>> pointsAssert) {
|
||||
InMemoryMetricReader reader = InMemoryMetricReader.create();
|
||||
|
|
@ -143,7 +141,7 @@ class AttributesAdviceTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(InstrumentsProvider.class)
|
||||
@MethodSource("instrumentProviderArgs")
|
||||
void instrumentWithAdviceAndDescriptionViews(
|
||||
InstrumentFactory instrumentFactory, PointsAssert<AbstractPointAssert<?, ?>> pointsAssert) {
|
||||
InMemoryMetricReader reader = InMemoryMetricReader.create();
|
||||
|
|
@ -175,7 +173,7 @@ class AttributesAdviceTest {
|
|||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ArgumentsSource(InstrumentsProvider.class)
|
||||
@MethodSource("instrumentProviderArgs")
|
||||
void instrumentWithAdviceAndBaggage(
|
||||
InstrumentFactory instrumentFactory, PointsAssert<AbstractPointAssert<?, ?>> pointsAssert) {
|
||||
InMemoryMetricReader reader = InMemoryMetricReader.create();
|
||||
|
|
@ -217,148 +215,142 @@ class AttributesAdviceTest {
|
|||
equalTo(stringKey("baggage1"), "value1"))));
|
||||
}
|
||||
|
||||
static final class InstrumentsProvider implements ArgumentsProvider {
|
||||
|
||||
@Override
|
||||
public Stream<? extends Arguments> provideArguments(ExtensionContext context) {
|
||||
return Stream.of(
|
||||
// double counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleCounterBuilder doubleCounterBuilder =
|
||||
meterProvider.get("meter").counterBuilder(name).ofDoubles();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleCounterBuilder) doubleCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleCounter counter = doubleCounterBuilder.build();
|
||||
return counter::add;
|
||||
},
|
||||
(PointsAssert<DoublePointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasDoubleSumSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongCounterBuilder doubleCounterBuilder =
|
||||
meterProvider.get("meter").counterBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongCounterBuilder) doubleCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongCounter counter = doubleCounterBuilder.build();
|
||||
return counter::add;
|
||||
},
|
||||
(PointsAssert<LongPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasLongSumSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// double gauge
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleGaugeBuilder doubleGaugeBuilder =
|
||||
meterProvider.get("meter").gaugeBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleGaugeBuilder) doubleGaugeBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleGauge gauge = doubleGaugeBuilder.build();
|
||||
return gauge::set;
|
||||
},
|
||||
(PointsAssert<DoublePointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasDoubleGaugeSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long gauge
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongGaugeBuilder longGaugeBuilder =
|
||||
meterProvider.get("meter").gaugeBuilder(name).ofLongs();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongGaugeBuilder) longGaugeBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongGauge gauge = longGaugeBuilder.build();
|
||||
return gauge::set;
|
||||
},
|
||||
(PointsAssert<LongPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasLongGaugeSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// double histogram
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleHistogramBuilder doubleHistogramBuilder =
|
||||
meterProvider.get("meter").histogramBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleHistogramBuilder) doubleHistogramBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleHistogram histogram = doubleHistogramBuilder.build();
|
||||
return histogram::record;
|
||||
},
|
||||
(PointsAssert<HistogramPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasHistogramSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long histogram
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongHistogramBuilder doubleHistogramBuilder =
|
||||
meterProvider.get("meter").histogramBuilder(name).ofLongs();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongHistogramBuilder) doubleHistogramBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongHistogram histogram = doubleHistogramBuilder.build();
|
||||
return histogram::record;
|
||||
},
|
||||
(PointsAssert<HistogramPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasHistogramSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// double up down counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleUpDownCounterBuilder doubleUpDownCounterBuilder =
|
||||
meterProvider.get("meter").upDownCounterBuilder(name).ofDoubles();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleUpDownCounterBuilder) doubleUpDownCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleUpDownCounter upDownCounter = doubleUpDownCounterBuilder.build();
|
||||
return upDownCounter::add;
|
||||
},
|
||||
(PointsAssert<DoublePointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasDoubleSumSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long up down counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongUpDownCounterBuilder doubleUpDownCounterBuilder =
|
||||
meterProvider.get("meter").upDownCounterBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongUpDownCounterBuilder) doubleUpDownCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongUpDownCounter upDownCounter = doubleUpDownCounterBuilder.build();
|
||||
return upDownCounter::add;
|
||||
},
|
||||
(PointsAssert<LongPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasLongSumSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))));
|
||||
}
|
||||
private static Stream<Arguments> instrumentProviderArgs() {
|
||||
return Stream.of(
|
||||
// double counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleCounterBuilder doubleCounterBuilder =
|
||||
meterProvider.get("meter").counterBuilder(name).ofDoubles();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleCounterBuilder) doubleCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleCounter counter = doubleCounterBuilder.build();
|
||||
return counter::add;
|
||||
},
|
||||
(PointsAssert<DoublePointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasDoubleSumSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongCounterBuilder doubleCounterBuilder =
|
||||
meterProvider.get("meter").counterBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongCounterBuilder) doubleCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongCounter counter = doubleCounterBuilder.build();
|
||||
return counter::add;
|
||||
},
|
||||
(PointsAssert<LongPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasLongSumSatisfying(sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// double gauge
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleGaugeBuilder doubleGaugeBuilder =
|
||||
meterProvider.get("meter").gaugeBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleGaugeBuilder) doubleGaugeBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleGauge gauge = doubleGaugeBuilder.build();
|
||||
return gauge::set;
|
||||
},
|
||||
(PointsAssert<DoublePointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasDoubleGaugeSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long gauge
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongGaugeBuilder longGaugeBuilder =
|
||||
meterProvider.get("meter").gaugeBuilder(name).ofLongs();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongGaugeBuilder) longGaugeBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongGauge gauge = longGaugeBuilder.build();
|
||||
return gauge::set;
|
||||
},
|
||||
(PointsAssert<LongPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasLongGaugeSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// double histogram
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleHistogramBuilder doubleHistogramBuilder =
|
||||
meterProvider.get("meter").histogramBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleHistogramBuilder) doubleHistogramBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleHistogram histogram = doubleHistogramBuilder.build();
|
||||
return histogram::record;
|
||||
},
|
||||
(PointsAssert<HistogramPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasHistogramSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long histogram
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongHistogramBuilder doubleHistogramBuilder =
|
||||
meterProvider.get("meter").histogramBuilder(name).ofLongs();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongHistogramBuilder) doubleHistogramBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongHistogram histogram = doubleHistogramBuilder.build();
|
||||
return histogram::record;
|
||||
},
|
||||
(PointsAssert<HistogramPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasHistogramSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// double up down counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
DoubleUpDownCounterBuilder doubleUpDownCounterBuilder =
|
||||
meterProvider.get("meter").upDownCounterBuilder(name).ofDoubles();
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedDoubleUpDownCounterBuilder) doubleUpDownCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
DoubleUpDownCounter upDownCounter = doubleUpDownCounterBuilder.build();
|
||||
return upDownCounter::add;
|
||||
},
|
||||
(PointsAssert<DoublePointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasDoubleSumSatisfying(
|
||||
sum -> sum.hasPointsSatisfying(assertions))),
|
||||
// long up down counter
|
||||
arguments(
|
||||
(InstrumentFactory)
|
||||
(meterProvider, name, attributesAdvice) -> {
|
||||
LongUpDownCounterBuilder doubleUpDownCounterBuilder =
|
||||
meterProvider.get("meter").upDownCounterBuilder(name);
|
||||
if (attributesAdvice != null) {
|
||||
((ExtendedLongUpDownCounterBuilder) doubleUpDownCounterBuilder)
|
||||
.setAttributesAdvice(attributesAdvice);
|
||||
}
|
||||
LongUpDownCounter upDownCounter = doubleUpDownCounterBuilder.build();
|
||||
return upDownCounter::add;
|
||||
},
|
||||
(PointsAssert<LongPointAssert>)
|
||||
(metricAssert, assertions) ->
|
||||
metricAssert.hasLongSumSatisfying(sum -> sum.hasPointsSatisfying(assertions))));
|
||||
}
|
||||
|
||||
@FunctionalInterface
|
||||
|
|
|
|||
Loading…
Reference in New Issue