Update dependencies
This commit is contained in:
parent
d16e51f798
commit
ca482b7e68
|
@ -72,13 +72,12 @@ public final class W3CBaggagePropagator implements TextMapPropagator {
|
|||
BaggageBuilder baggageBuilder = Baggage.builder();
|
||||
try {
|
||||
extractEntries(baggageHeader, baggageBuilder);
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
return context.with(Baggage.empty());
|
||||
}
|
||||
return context.with(baggageBuilder.build());
|
||||
}
|
||||
|
||||
@SuppressWarnings("StringSplitter")
|
||||
private static void extractEntries(String baggageHeader, BaggageBuilder baggageBuilder) {
|
||||
// todo: optimize this implementation; it can probably done with a single pass through the
|
||||
// string.
|
||||
|
|
|
@ -45,6 +45,7 @@ import java.util.concurrent.atomic.AtomicLong;
|
|||
*/
|
||||
// Suppress warnings since this is copied as-is.
|
||||
@SuppressWarnings({
|
||||
"HashCodeToString",
|
||||
"MissingSummary",
|
||||
"UngroupedOverloads",
|
||||
"ThreadPriorityCheck",
|
||||
|
|
|
@ -479,6 +479,7 @@ class ContextTest {
|
|||
assertThat(twoKeys.get(cheese)).isEqualTo("whiz");
|
||||
}
|
||||
|
||||
@SuppressWarnings("HashCodeToString")
|
||||
private static class HashCollidingKey implements ContextKey<String> {
|
||||
@Override
|
||||
public int hashCode() {
|
||||
|
|
|
@ -80,12 +80,6 @@ subprojects {
|
|||
archivesBaseName = "opentelemetry-${name}"
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
mavenLocal()
|
||||
}
|
||||
|
||||
configure<JavaPluginExtension> {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
|
@ -192,6 +186,17 @@ subprojects {
|
|||
|
||||
// Limits APIs
|
||||
disable("NoFunctionalReturnType")
|
||||
|
||||
// We don't depend on Guava so use normal splitting
|
||||
disable("StringSplitter")
|
||||
|
||||
// Prevents lazy initialization
|
||||
disable("InitializeInline")
|
||||
|
||||
if (name.contains("Jmh") || name.contains("Test")) {
|
||||
// Allow underscore in test-type method names
|
||||
disable("MemberName")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
||||
|
||||
plugins {
|
||||
`java-platform`
|
||||
|
||||
id("com.github.ben-manes.versions")
|
||||
}
|
||||
|
||||
data class DependencySet(val group: String, val version: String, val modules: List<String>)
|
||||
|
@ -9,11 +13,11 @@ rootProject.extra["versions"] = dependencyVersions
|
|||
|
||||
val DEPENDENCY_BOMS = listOf(
|
||||
"com.linecorp.armeria:armeria-bom:1.3.0",
|
||||
"io.grpc:grpc-bom:1.34.1",
|
||||
"io.zipkin.brave:brave-bom:5.13.1",
|
||||
"io.grpc:grpc-bom:1.35.0",
|
||||
"io.zipkin.brave:brave-bom:5.13.3",
|
||||
"com.google.guava:guava-bom:30.1-jre",
|
||||
"com.google.protobuf:protobuf-bom:3.14.0",
|
||||
"com.fasterxml.jackson:jackson-bom:2.12.0",
|
||||
"com.fasterxml.jackson:jackson-bom:2.12.1",
|
||||
"org.junit:junit-bom:5.7.0",
|
||||
"io.zipkin.reporter2:zipkin-reporter-bom:2.16.3"
|
||||
)
|
||||
|
@ -26,12 +30,12 @@ val DEPENDENCY_SETS = listOf(
|
|||
),
|
||||
DependencySet(
|
||||
"com.google.errorprone",
|
||||
"2.4.0",
|
||||
"2.5.1",
|
||||
listOf("error_prone_annotations", "error_prone_core")
|
||||
),
|
||||
DependencySet(
|
||||
"io.opencensus",
|
||||
"0.28.2",
|
||||
"0.28.3",
|
||||
listOf(
|
||||
"opencensus-api",
|
||||
"opencensus-impl-core",
|
||||
|
@ -41,7 +45,7 @@ val DEPENDENCY_SETS = listOf(
|
|||
),
|
||||
DependencySet(
|
||||
"io.prometheus",
|
||||
"0.9.0",
|
||||
"0.10.0",
|
||||
listOf("simpleclient", "simpleclient_common", "simpleclient_httpserver")
|
||||
),
|
||||
DependencySet(
|
||||
|
@ -56,7 +60,7 @@ val DEPENDENCY_SETS = listOf(
|
|||
),
|
||||
DependencySet(
|
||||
"org.mockito",
|
||||
"3.7.0",
|
||||
"3.7.7",
|
||||
listOf("mockito-core", "mockito-junit-jupiter")
|
||||
),
|
||||
DependencySet(
|
||||
|
@ -73,7 +77,7 @@ val DEPENDENCIES = listOf(
|
|||
"com.google.guava:guava-beta-checker:1.0",
|
||||
"com.lmax:disruptor:3.4.2",
|
||||
"com.sparkjava:spark-core:2.9.3",
|
||||
"com.squareup.okhttp3:okhttp:3.14.9",
|
||||
"com.squareup.okhttp3:okhttp:4.9.0",
|
||||
"com.sun.net.httpserver:http:20070405",
|
||||
"com.tngtech.archunit:archunit-junit4:0.15.0",
|
||||
"edu.berkeley.cs.jqf:jqf-fuzz:1.6",
|
||||
|
@ -81,13 +85,13 @@ val DEPENDENCIES = listOf(
|
|||
"io.github.netmikey.logunit:logunit-jul:1.1.0",
|
||||
"io.jaegertracing:jaeger-client:1.5.0",
|
||||
"io.opentracing:opentracing-api:0.33.0",
|
||||
"io.zipkin.zipkin2:zipkin-junit:2.18.3",
|
||||
"io.zipkin.zipkin2:zipkin-junit:2.23.2",
|
||||
"junit:junit:4.13.1",
|
||||
"nl.jqno.equalsverifier:equalsverifier:3.5",
|
||||
"org.assertj:assertj-core:3.18.1",
|
||||
"nl.jqno.equalsverifier:equalsverifier:3.5.2",
|
||||
"org.assertj:assertj-core:3.19.0",
|
||||
"org.awaitility:awaitility:4.0.3",
|
||||
"org.curioswitch.curiostack:protobuf-jackson:1.1.0",
|
||||
"org.junit-pioneer:junit-pioneer:1.1.0",
|
||||
"org.curioswitch.curiostack:protobuf-jackson:1.2.0",
|
||||
"org.junit-pioneer:junit-pioneer:1.3.0",
|
||||
"org.skyscreamer:jsonassert:1.5.0",
|
||||
"org.slf4j:slf4j-simple:1.7.30"
|
||||
)
|
||||
|
@ -116,3 +120,22 @@ dependencies {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun isNonStable(version: String): Boolean {
|
||||
val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase().contains(it) }
|
||||
val regex = "^[0-9,.v-]+(-r)?$".toRegex()
|
||||
val isGuava = version.endsWith("-jre")
|
||||
val isStable = stableKeyword || regex.matches(version) || isGuava
|
||||
return isStable.not()
|
||||
}
|
||||
|
||||
tasks {
|
||||
named<DependencyUpdatesTask>("dependencyUpdates") {
|
||||
revision = "release"
|
||||
checkConstraints = true
|
||||
|
||||
rejectVersionIf {
|
||||
isNonStable(candidate.version)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,11 +12,8 @@ import com.google.common.util.concurrent.MoreExecutors;
|
|||
import io.grpc.ConnectivityState;
|
||||
import io.grpc.ManagedChannel;
|
||||
import io.opentelemetry.exporter.jaeger.proto.api_v2.Collector;
|
||||
import io.opentelemetry.exporter.jaeger.proto.api_v2.Collector.PostSpansRequest;
|
||||
import io.opentelemetry.exporter.jaeger.proto.api_v2.Collector.PostSpansResponse;
|
||||
import io.opentelemetry.exporter.jaeger.proto.api_v2.CollectorServiceGrpc;
|
||||
import io.opentelemetry.exporter.jaeger.proto.api_v2.Model;
|
||||
import io.opentelemetry.exporter.jaeger.proto.api_v2.Model.Process;
|
||||
import io.opentelemetry.sdk.common.CompletableResultCode;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
|
@ -108,8 +105,9 @@ public final class JaegerGrpcSpanExporter implements SpanExporter {
|
|||
.collect(Collectors.groupingBy(SpanData::getResource))
|
||||
.forEach((resource, spanData) -> requests.add(buildRequest(resource, spanData)));
|
||||
|
||||
List<ListenableFuture<PostSpansResponse>> listenableFutures = new ArrayList<>(requests.size());
|
||||
for (PostSpansRequest request : requests) {
|
||||
List<ListenableFuture<Collector.PostSpansResponse>> listenableFutures =
|
||||
new ArrayList<>(requests.size());
|
||||
for (Collector.PostSpansRequest request : requests) {
|
||||
listenableFutures.add(stub.postSpans(request));
|
||||
}
|
||||
|
||||
|
@ -119,7 +117,7 @@ public final class JaegerGrpcSpanExporter implements SpanExporter {
|
|||
for (ListenableFuture<Collector.PostSpansResponse> future : listenableFutures) {
|
||||
Futures.addCallback(
|
||||
future,
|
||||
new FutureCallback<PostSpansResponse>() {
|
||||
new FutureCallback<Collector.PostSpansResponse>() {
|
||||
@Override
|
||||
public void onSuccess(Collector.PostSpansResponse result) {
|
||||
fulfill();
|
||||
|
@ -149,7 +147,7 @@ public final class JaegerGrpcSpanExporter implements SpanExporter {
|
|||
}
|
||||
|
||||
private Collector.PostSpansRequest buildRequest(Resource resource, List<SpanData> spans) {
|
||||
Process.Builder builder = this.processBuilder.clone();
|
||||
Model.Process.Builder builder = this.processBuilder.clone();
|
||||
|
||||
String serviceName = resource.getAttributes().get(ResourceAttributes.SERVICE_NAME);
|
||||
if (serviceName == null || serviceName.isEmpty()) {
|
||||
|
|
|
@ -86,7 +86,7 @@ final class MetricAdapter {
|
|||
case SUMMARY:
|
||||
return Collector.Type.SUMMARY;
|
||||
}
|
||||
return Collector.Type.UNTYPED;
|
||||
return Collector.Type.UNKNOWN;
|
||||
}
|
||||
|
||||
private static final Function<String, String> sanitizer = new LabelNameSanitizer();
|
||||
|
|
|
@ -50,12 +50,12 @@ class PrometheusCollectorTest {
|
|||
TextFormat.write004(stringWriter, CollectorRegistry.defaultRegistry.metricFamilySamples());
|
||||
assertThat(stringWriter.toString())
|
||||
.isEqualTo(
|
||||
"# HELP grpc_name long_description\n"
|
||||
+ "# TYPE grpc_name counter\n"
|
||||
+ "grpc_name{kp=\"vp\",} 5.0\n"
|
||||
+ "# HELP http_name double_description\n"
|
||||
+ "# TYPE http_name counter\n"
|
||||
+ "http_name{kp=\"vp\",} 3.5\n");
|
||||
"# HELP grpc_name_total long_description\n"
|
||||
+ "# TYPE grpc_name_total counter\n"
|
||||
+ "grpc_name_total{kp=\"vp\",} 5.0\n"
|
||||
+ "# HELP http_name_total double_description\n"
|
||||
+ "# TYPE http_name_total counter\n"
|
||||
+ "http_name_total{kp=\"vp\",} 3.5\n");
|
||||
}
|
||||
|
||||
private static ImmutableList<MetricData> generateTestData() {
|
||||
|
|
|
@ -20,8 +20,7 @@ dependencies {
|
|||
implementation "io.zipkin.reporter2:zipkin-sender-okhttp3"
|
||||
|
||||
testImplementation project(':sdk:testing')
|
||||
testImplementation "com.google.guava:guava",
|
||||
"io.zipkin.zipkin2:zipkin-junit"
|
||||
testImplementation "io.zipkin.zipkin2:zipkin-junit"
|
||||
}
|
||||
|
||||
animalsniffer {
|
||||
|
|
|
@ -7,7 +7,6 @@ package io.opentelemetry.exporter.zipkin;
|
|||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import io.opentelemetry.api.common.Attributes;
|
||||
import io.opentelemetry.api.trace.Span.Kind;
|
||||
import io.opentelemetry.api.trace.SpanContext;
|
||||
|
@ -21,6 +20,7 @@ import io.opentelemetry.sdk.trace.data.SpanData;
|
|||
import io.opentelemetry.sdk.trace.data.StatusData;
|
||||
import io.opentelemetry.semconv.resource.attributes.ResourceAttributes;
|
||||
import java.net.InetAddress;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
@ -49,7 +49,7 @@ public class ZipkinSpanExporterEndToEndHttpTest {
|
|||
private static final long SENT_TIMESTAMP_NANOS = 1505855799_459486280L;
|
||||
private static final Attributes attributes = Attributes.empty();
|
||||
private static final List<EventData> annotations =
|
||||
ImmutableList.of(
|
||||
Arrays.asList(
|
||||
EventData.create(RECEIVED_TIMESTAMP_NANOS, "RECEIVED", Attributes.empty()),
|
||||
EventData.create(SENT_TIMESTAMP_NANOS, "SENT", Attributes.empty()));
|
||||
|
||||
|
@ -103,8 +103,7 @@ public class ZipkinSpanExporterEndToEndHttpTest {
|
|||
|
||||
assertThat(resultCode.isSuccess()).isFalse();
|
||||
List<Span> zipkinSpans = zipkin.getTrace(TRACE_ID);
|
||||
assertThat(zipkinSpans).isNotNull();
|
||||
assertThat(zipkinSpans).isEmpty();
|
||||
assertThat(zipkinSpans).isNull();
|
||||
}
|
||||
|
||||
private static ZipkinSpanExporter buildZipkinExporter(
|
||||
|
|
|
@ -19,7 +19,6 @@ import static org.mockito.Mockito.doAnswer;
|
|||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import io.opentelemetry.api.common.Attributes;
|
||||
import io.opentelemetry.api.trace.Span.Kind;
|
||||
import io.opentelemetry.api.trace.SpanContext;
|
||||
|
@ -62,7 +61,7 @@ class ZipkinSpanExporterTest {
|
|||
private static final String PARENT_SPAN_ID = "8b03ab423da481c5";
|
||||
private static final Attributes attributes = Attributes.empty();
|
||||
private static final List<EventData> annotations =
|
||||
ImmutableList.of(
|
||||
Arrays.asList(
|
||||
EventData.create(1505855799_433901068L, "RECEIVED", Attributes.empty()),
|
||||
EventData.create(1505855799_459486280L, "SENT", Attributes.empty()));
|
||||
|
||||
|
|
|
@ -26,7 +26,6 @@ final class B3PropagatorExtractorSingleHeader implements B3PropagatorExtractor {
|
|||
return extractSpanContextFromSingleHeader(context, carrier, getter);
|
||||
}
|
||||
|
||||
@SuppressWarnings("StringSplitter")
|
||||
private static <C> Optional<Context> extractSpanContextFromSingleHeader(
|
||||
Context context, C carrier, TextMapPropagator.Getter<C> getter) {
|
||||
String value = getter.get(carrier, B3Propagator.COMBINED_HEADER);
|
||||
|
|
|
@ -43,7 +43,7 @@ final class Common {
|
|||
spanId,
|
||||
traceFlags,
|
||||
TraceState.getDefault());
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
logger.log(Level.FINE, "Error parsing header. Returning INVALID span context.", e);
|
||||
return SpanContext.getInvalid();
|
||||
}
|
||||
|
|
|
@ -141,7 +141,6 @@ public final class JaegerPropagator implements TextMapPropagator {
|
|||
return context;
|
||||
}
|
||||
|
||||
@SuppressWarnings("StringSplitter")
|
||||
private static <C> SpanContext getSpanContextFromHeader(C carrier, Getter<C> getter) {
|
||||
String value = getter.get(carrier, PROPAGATION_HEADER);
|
||||
if (StringUtils.isNullOrEmpty(value)) {
|
||||
|
@ -228,7 +227,6 @@ public final class JaegerPropagator implements TextMapPropagator {
|
|||
return builder == null ? null : builder.build();
|
||||
}
|
||||
|
||||
@SuppressWarnings("StringSplitter")
|
||||
private static BaggageBuilder parseBaggageHeader(String header, BaggageBuilder builder) {
|
||||
for (String part : header.split("\\s*,\\s*")) {
|
||||
String[] kv = part.split("\\s*=\\s*");
|
||||
|
@ -256,7 +254,7 @@ public final class JaegerPropagator implements TextMapPropagator {
|
|||
}
|
||||
return SpanContext.createFromRemoteParent(
|
||||
otelTraceId, otelSpanId, traceFlags, TraceState.getDefault());
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
logger.log(
|
||||
Level.FINE,
|
||||
"Error parsing '" + PROPAGATION_HEADER + "' header. Returning INVALID span context.",
|
||||
|
|
|
@ -127,7 +127,7 @@ public class Application {
|
|||
String argumentsJson = gson.toJson(req.getArguments());
|
||||
RequestBody argumentsBody =
|
||||
RequestBody.create(
|
||||
MediaType.parse("application/json; charset=utf-8"), argumentsJson);
|
||||
argumentsJson, MediaType.parse("application/json; charset=utf-8"));
|
||||
okhttp3.Request newRequest = reqBuilder.url(req.getUrl()).post(argumentsBody).build();
|
||||
|
||||
// Execute the request
|
||||
|
|
|
@ -28,14 +28,13 @@ import io.opencensus.trace.SpanBuilder;
|
|||
import io.opencensus.trace.SpanContext;
|
||||
import io.opencensus.trace.Tracer;
|
||||
import io.opencensus.trace.config.TraceConfig;
|
||||
import io.opentelemetry.opencensusshim.OpenTelemetrySpanBuilderImpl.Options;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
class OpenTelemetryTracerImpl extends Tracer {
|
||||
private final OpenTelemetrySpanBuilderImpl.Options spanBuilderOptions;
|
||||
|
||||
public OpenTelemetryTracerImpl(RandomHandler randomHandler, TraceConfig traceConfig) {
|
||||
spanBuilderOptions = new Options(randomHandler, traceConfig);
|
||||
spanBuilderOptions = new OpenTelemetrySpanBuilderImpl.Options(randomHandler, traceConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -78,7 +78,7 @@ final class TracerShim extends BaseShimObject implements Tracer {
|
|||
|| format == Format.Builtin.HTTP_HEADERS) {
|
||||
return propagation.extractTextMap((TextMapExtract) carrier);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
logger.log(
|
||||
Level.INFO,
|
||||
"Exception caught while extracting span context; returning null. "
|
||||
|
|
|
@ -66,12 +66,15 @@ class TestClientServerTest {
|
|||
|
||||
assertThat(finished.get(1).getTraceId()).isEqualTo(finished.get(0).getTraceId());
|
||||
Kind firstSpanKind = finished.get(0).getKind();
|
||||
if (firstSpanKind == Kind.CLIENT) {
|
||||
assertThat(finished.get(1).getKind()).isEqualTo(Kind.SERVER);
|
||||
} else if (firstSpanKind == Kind.SERVER) {
|
||||
assertThat(finished.get(1).getKind()).isEqualTo(Kind.CLIENT);
|
||||
} else {
|
||||
fail("Unexpected first span kind: " + firstSpanKind);
|
||||
switch (firstSpanKind) {
|
||||
case CLIENT:
|
||||
assertThat(finished.get(1).getKind()).isEqualTo(Kind.SERVER);
|
||||
break;
|
||||
case SERVER:
|
||||
assertThat(finished.get(1).getKind()).isEqualTo(Kind.CLIENT);
|
||||
break;
|
||||
default:
|
||||
fail("Unexpected first span kind: " + firstSpanKind);
|
||||
}
|
||||
|
||||
assertThat(tracer.scopeManager().activeSpan()).isNull();
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class ErrorReportingTest {
|
|||
Span span = tracer.buildSpan("one").start();
|
||||
try (Scope scope = tracer.activateSpan(span)) {
|
||||
throw new RuntimeException("Invalid state");
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
Tags.ERROR.set(span, true);
|
||||
} finally {
|
||||
span.finish();
|
||||
|
@ -64,7 +64,7 @@ public final class ErrorReportingTest {
|
|||
() -> {
|
||||
try (Scope scope = tracer.activateSpan(span)) {
|
||||
throw new RuntimeException("Invalid state");
|
||||
} catch (Exception exc) {
|
||||
} catch (RuntimeException exc) {
|
||||
Tags.ERROR.set(span, true);
|
||||
} finally {
|
||||
span.finish();
|
||||
|
@ -90,7 +90,7 @@ public final class ErrorReportingTest {
|
|||
while (retries++ < maxRetries) {
|
||||
try {
|
||||
throw new RuntimeException("No url could be fetched");
|
||||
} catch (final Exception exc) {
|
||||
} catch (RuntimeException exc) {
|
||||
Map<String, Object> errorMap = new HashMap<>();
|
||||
errorMap.put(Fields.EVENT, Tags.ERROR.getKey());
|
||||
errorMap.put(Fields.ERROR_OBJECT, exc);
|
||||
|
@ -128,7 +128,7 @@ public final class ErrorReportingTest {
|
|||
() -> {
|
||||
try {
|
||||
throw new RuntimeException("Invalid state");
|
||||
} catch (Exception exc) {
|
||||
} catch (RuntimeException exc) {
|
||||
Tags.ERROR.set(tracer.activeSpan(), true);
|
||||
} finally {
|
||||
tracer.activeSpan().finish();
|
||||
|
|
|
@ -66,7 +66,7 @@ public final class JaegerRemoteSampler implements Sampler {
|
|||
SamplingStrategyParameters.newBuilder().setServiceName(this.serviceName).build();
|
||||
SamplingStrategyResponse response = stub.getSamplingStrategy(params);
|
||||
this.sampler = updateSampler(response);
|
||||
} catch (Exception e) { // keep the timer thread alive
|
||||
} catch (RuntimeException e) { // keep the timer thread alive
|
||||
logger.log(Level.WARNING, "Failed to update sampler", e);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@ import io.grpc.inprocess.InProcessServerBuilder;
|
|||
import io.grpc.stub.StreamObserver;
|
||||
import io.opentelemetry.sdk.extension.trace.jaeger.proto.api_v2.Sampling;
|
||||
import io.opentelemetry.sdk.extension.trace.jaeger.proto.api_v2.Sampling.RateLimitingSamplingStrategy;
|
||||
import io.opentelemetry.sdk.extension.trace.jaeger.proto.api_v2.Sampling.SamplingStrategyParameters;
|
||||
import io.opentelemetry.sdk.extension.trace.jaeger.proto.api_v2.Sampling.SamplingStrategyType;
|
||||
import io.opentelemetry.sdk.extension.trace.jaeger.proto.api_v2.SamplingManagerGrpc;
|
||||
import io.opentelemetry.sdk.trace.samplers.Sampler;
|
||||
|
@ -93,7 +92,7 @@ class JaegerRemoteSamplerTest {
|
|||
|
||||
@Test
|
||||
void connectionWorks() throws Exception {
|
||||
ArgumentCaptor<SamplingStrategyParameters> requestCaptor =
|
||||
ArgumentCaptor<Sampling.SamplingStrategyParameters> requestCaptor =
|
||||
ArgumentCaptor.forClass(Sampling.SamplingStrategyParameters.class);
|
||||
|
||||
JaegerRemoteSampler sampler =
|
||||
|
|
|
@ -172,7 +172,7 @@ public final class BatchLogProcessor implements LogProcessor {
|
|||
} else {
|
||||
exporterFailureCounter.add(1);
|
||||
}
|
||||
} catch (Exception t) {
|
||||
} catch (RuntimeException t) {
|
||||
exporterFailureCounter.add(batch.size());
|
||||
} finally {
|
||||
batch.clear();
|
||||
|
|
|
@ -15,7 +15,6 @@ import io.opentelemetry.api.trace.TraceFlags;
|
|||
import io.opentelemetry.api.trace.TraceId;
|
||||
import io.opentelemetry.sdk.common.CompletableResultCode;
|
||||
import io.opentelemetry.sdk.logging.data.LogRecord;
|
||||
import io.opentelemetry.sdk.logging.data.LogRecord.Severity;
|
||||
import io.opentelemetry.sdk.logging.export.BatchLogProcessor;
|
||||
import io.opentelemetry.sdk.logging.util.TestLogExporter;
|
||||
import io.opentelemetry.sdk.logging.util.TestLogProcessor;
|
||||
|
@ -47,12 +46,13 @@ class LogSinkSdkProviderTest {
|
|||
LogSinkSdkProvider provider = new LogSinkSdkProvider.Builder().build();
|
||||
provider.addLogProcessor(processor);
|
||||
LogSink sink = provider.get("test", "0.1a");
|
||||
LogRecord log = createLog(Severity.ERROR, "test");
|
||||
LogRecord log = createLog(LogRecord.Severity.ERROR, "test");
|
||||
sink.offer(log);
|
||||
provider.forceFlush().join(500, TimeUnit.MILLISECONDS);
|
||||
List<LogRecord> records = exporter.getRecords();
|
||||
assertThat(records).singleElement().isEqualTo(log);
|
||||
assertThat(log.getSeverity().getSeverityNumber()).isEqualTo(Severity.ERROR.getSeverityNumber());
|
||||
assertThat(log.getSeverity().getSeverityNumber())
|
||||
.isEqualTo(LogRecord.Severity.ERROR.getSeverityNumber());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -69,7 +69,7 @@ class LogSinkSdkProviderTest {
|
|||
LogSink sink = provider.get("test", "0.1a");
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
sink.offer(createLog(Severity.WARN, "test #" + i));
|
||||
sink.offer(createLog(LogRecord.Severity.WARN, "test #" + i));
|
||||
}
|
||||
// Ensure that more than batch size kicks off a flush
|
||||
await().atMost(Duration.ofSeconds(5)).until(() -> exporter.getRecords().size() > 0);
|
||||
|
@ -103,7 +103,7 @@ class LogSinkSdkProviderTest {
|
|||
long start = System.currentTimeMillis();
|
||||
int testRecordCount = 700;
|
||||
for (int i = 0; i < testRecordCount; i++) {
|
||||
sink.offer(createLog(Severity.WARN, "test #" + i));
|
||||
sink.offer(createLog(LogRecord.Severity.WARN, "test #" + i));
|
||||
}
|
||||
long end = System.currentTimeMillis();
|
||||
assertThat(end - start).isLessThan(250L);
|
||||
|
|
|
@ -19,7 +19,6 @@ import io.opentelemetry.api.trace.StatusCode;
|
|||
import io.opentelemetry.proto.trace.v1.InstrumentationLibrarySpans;
|
||||
import io.opentelemetry.proto.trace.v1.ResourceSpans;
|
||||
import io.opentelemetry.proto.trace.v1.Span;
|
||||
import io.opentelemetry.proto.trace.v1.Span.SpanKind;
|
||||
import io.opentelemetry.proto.trace.v1.Status;
|
||||
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
|
||||
import io.opentelemetry.sdk.resources.Resource;
|
||||
|
@ -126,7 +125,7 @@ public final class SpanAdapter {
|
|||
case CONSUMER:
|
||||
return SPAN_KIND_CONSUMER;
|
||||
}
|
||||
return SpanKind.UNRECOGNIZED;
|
||||
return Span.SpanKind.UNRECOGNIZED;
|
||||
}
|
||||
|
||||
static Span.Event toProtoSpanEvent(EventData event) {
|
||||
|
|
|
@ -441,37 +441,39 @@ final class TracezZPageHandler extends ZPageHandler {
|
|||
if (typeStr != null) {
|
||||
List<SpanData> spans = null;
|
||||
SampleType type = SampleType.fromString(typeStr);
|
||||
if (type == SampleType.UNKNOWN) {
|
||||
// Type of unknown is garbage value
|
||||
return;
|
||||
} else if (type == SampleType.RUNNING) {
|
||||
// Display running span
|
||||
spans = dataAggregator.getRunningSpans(spanName);
|
||||
} else {
|
||||
String subtypeStr = queryMap.get(PARAM_SAMPLE_SUB_TYPE);
|
||||
if (subtypeStr != null) {
|
||||
int subtype = Integer.parseInt(subtypeStr);
|
||||
if (type == SampleType.LATENCY) {
|
||||
if (subtype < 0 || subtype >= LatencyBoundary.values().length) {
|
||||
// N/A or out-of-bound check for latency based subtype, valid values: [0, 8]
|
||||
return;
|
||||
switch (type) {
|
||||
case UNKNOWN:
|
||||
// Type of unknown is garbage value
|
||||
return;
|
||||
case RUNNING:
|
||||
// Display running span
|
||||
spans = dataAggregator.getRunningSpans(spanName);
|
||||
break;
|
||||
default:
|
||||
String subtypeStr = queryMap.get(PARAM_SAMPLE_SUB_TYPE);
|
||||
if (subtypeStr != null) {
|
||||
int subtype = Integer.parseInt(subtypeStr);
|
||||
if (type == SampleType.LATENCY) {
|
||||
if (subtype < 0 || subtype >= LatencyBoundary.values().length) {
|
||||
// N/A or out-of-bound check for latency based subtype, valid values: [0, 8]
|
||||
return;
|
||||
}
|
||||
// Display latency based span
|
||||
LatencyBoundary latencyBoundary = LatencyBoundary.values()[subtype];
|
||||
spans =
|
||||
dataAggregator.getOkSpans(
|
||||
spanName,
|
||||
latencyBoundary.getLatencyLowerBound(),
|
||||
latencyBoundary.getLatencyUpperBound());
|
||||
} else {
|
||||
if (subtype < 0 || subtype >= StatusCode.values().length) {
|
||||
// N/A or out-of-bound cueck for error based subtype, valid values: [0, 15]
|
||||
return;
|
||||
}
|
||||
// Display error based span
|
||||
spans = dataAggregator.getErrorSpans(spanName);
|
||||
}
|
||||
// Display latency based span
|
||||
LatencyBoundary latencyBoundary = LatencyBoundary.values()[subtype];
|
||||
spans =
|
||||
dataAggregator.getOkSpans(
|
||||
spanName,
|
||||
latencyBoundary.getLatencyLowerBound(),
|
||||
latencyBoundary.getLatencyUpperBound());
|
||||
} else {
|
||||
if (subtype < 0 || subtype >= StatusCode.values().length) {
|
||||
// N/A or out-of-bound cueck for error based subtype, valid values: [0, 15]
|
||||
return;
|
||||
}
|
||||
// Display error based span
|
||||
spans = dataAggregator.getErrorSpans(spanName);
|
||||
}
|
||||
}
|
||||
}
|
||||
out.print("<h2>Span Details</h2>");
|
||||
emitSpanNameAndCount(out, spanName, spans == null ? 0 : spans.size(), type);
|
||||
|
|
|
@ -86,7 +86,7 @@ class OpenTelemetrySdkTest {
|
|||
void testConfiguration_tracerSettings() {
|
||||
Resource resource = Resource.create(Attributes.builder().put("cat", "meow").build());
|
||||
IdGenerator idGenerator = mock(IdGenerator.class);
|
||||
TraceConfig traceConfig = mock(TraceConfig.class);
|
||||
TraceConfig traceConfig = TraceConfig.getDefault();
|
||||
OpenTelemetrySdk openTelemetry =
|
||||
OpenTelemetrySdk.builder()
|
||||
.setTracerProvider(
|
||||
|
|
|
@ -96,7 +96,7 @@ public final class IntervalMetricReader {
|
|||
}
|
||||
exportAvailable.set(true);
|
||||
});
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
logger.log(Level.WARNING, "Exporter threw an Exception", e);
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -51,7 +51,6 @@ class IntervalMetricReaderTest {
|
|||
/* isMonotonic= */ true, AggregationTemporality.CUMULATIVE, LONG_POINT_LIST));
|
||||
|
||||
@Mock private MetricProducer metricProducer;
|
||||
@Mock private MetricExporter metricExporter;
|
||||
|
||||
@BeforeEach
|
||||
void setup() {
|
||||
|
|
|
@ -263,7 +263,7 @@ public final class BatchSpanProcessor implements SpanProcessor {
|
|||
} else {
|
||||
logger.log(Level.FINE, "Exporter failed");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
logger.log(Level.WARNING, "Exporter threw an Exception", e);
|
||||
} finally {
|
||||
batch.clear();
|
||||
|
|
|
@ -42,7 +42,7 @@ final class MultiSpanExporter implements SpanExporter {
|
|||
final CompletableResultCode exportResult;
|
||||
try {
|
||||
exportResult = spanExporter.export(spans);
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
// If an exception was thrown by the exporter
|
||||
logger.log(Level.WARNING, "Exception thrown by the export.", e);
|
||||
results.add(CompletableResultCode.ofFailure());
|
||||
|
@ -65,7 +65,7 @@ final class MultiSpanExporter implements SpanExporter {
|
|||
final CompletableResultCode flushResult;
|
||||
try {
|
||||
flushResult = spanExporter.flush();
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
// If an exception was thrown by the exporter
|
||||
logger.log(Level.WARNING, "Exception thrown by the flush.", e);
|
||||
results.add(CompletableResultCode.ofFailure());
|
||||
|
@ -83,7 +83,7 @@ final class MultiSpanExporter implements SpanExporter {
|
|||
final CompletableResultCode shutdownResult;
|
||||
try {
|
||||
shutdownResult = spanExporter.shutdown();
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
// If an exception was thrown by the exporter
|
||||
logger.log(Level.WARNING, "Exception thrown by the shutdown.", e);
|
||||
results.add(CompletableResultCode.ofFailure());
|
||||
|
|
|
@ -71,7 +71,7 @@ public final class SimpleSpanProcessor implements SpanProcessor {
|
|||
logger.log(Level.FINE, "Exporter failed");
|
||||
}
|
||||
});
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
logger.log(Level.WARNING, "Exporter threw an Exception", e);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,6 @@ class SdkTracerProviderTest {
|
|||
SdkTracerProvider.builder()
|
||||
.setClock(mock(Clock.class))
|
||||
.setIdGenerator(mock(IdGenerator.class))
|
||||
.setTraceConfig(mock(TraceConfig.class))
|
||||
.build();
|
||||
|
||||
assertThat(tracerProvider).isNotNull();
|
||||
|
@ -90,7 +89,6 @@ class SdkTracerProviderTest {
|
|||
.setClock(mock(Clock.class))
|
||||
.setResource(resource)
|
||||
.setIdGenerator(mock(IdGenerator.class))
|
||||
.setTraceConfig(mock(TraceConfig.class))
|
||||
.build();
|
||||
|
||||
assertThat(tracerProvider).isNotNull();
|
||||
|
@ -161,7 +159,7 @@ class SdkTracerProviderTest {
|
|||
|
||||
@Test
|
||||
void build_traceConfig() {
|
||||
TraceConfig initialTraceConfig = mock(TraceConfig.class);
|
||||
TraceConfig initialTraceConfig = TraceConfig.builder().build();
|
||||
SdkTracerProvider sdkTracerProvider =
|
||||
SdkTracerProvider.builder().setTraceConfig(initialTraceConfig).build();
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@ import java.util.Collection;
|
|||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
/** Unit tests for {@link SdkTracer}. */
|
||||
|
@ -37,7 +36,6 @@ class SdkTracerTest {
|
|||
private static final InstrumentationLibraryInfo instrumentationLibraryInfo =
|
||||
InstrumentationLibraryInfo.create(
|
||||
INSTRUMENTATION_LIBRARY_NAME, INSTRUMENTATION_LIBRARY_VERSION);
|
||||
@Mock private Span span;
|
||||
private final SdkTracer tracer =
|
||||
(SdkTracer)
|
||||
SdkTracerProvider.builder()
|
||||
|
|
|
@ -8,7 +8,6 @@ package io.opentelemetry.sdk.trace.testbed.actorpropagation;
|
|||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import io.opentelemetry.api.trace.Span;
|
||||
import io.opentelemetry.api.trace.Span.Kind;
|
||||
import io.opentelemetry.api.trace.Tracer;
|
||||
import io.opentelemetry.context.Scope;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
|
@ -47,7 +46,7 @@ class ActorPropagationTest {
|
|||
void testActorTell() {
|
||||
try (Actor actor = new Actor(tracer, phaser)) {
|
||||
phaser.register();
|
||||
Span parent = tracer.spanBuilder("actorTell").setSpanKind(Kind.PRODUCER).startSpan();
|
||||
Span parent = tracer.spanBuilder("actorTell").setSpanKind(Span.Kind.PRODUCER).startSpan();
|
||||
parent.setAttribute("component", "example-actor");
|
||||
try (Scope ignored = parent.makeCurrent()) {
|
||||
actor.tell("my message 1");
|
||||
|
@ -80,7 +79,7 @@ class ActorPropagationTest {
|
|||
phaser.register();
|
||||
Future<String> future1;
|
||||
Future<String> future2;
|
||||
Span span = tracer.spanBuilder("actorAsk").setSpanKind(Kind.PRODUCER).startSpan();
|
||||
Span span = tracer.spanBuilder("actorAsk").setSpanKind(Span.Kind.PRODUCER).startSpan();
|
||||
span.setAttribute("component", "example-actor");
|
||||
|
||||
try (Scope ignored = span.makeCurrent()) {
|
||||
|
|
|
@ -40,7 +40,7 @@ public final class ErrorReportingTest {
|
|||
Span span = tracer.spanBuilder("one").startSpan();
|
||||
try (Scope ignored = span.makeCurrent()) {
|
||||
throw new RuntimeException("Invalid state");
|
||||
} catch (Exception e) {
|
||||
} catch (RuntimeException e) {
|
||||
span.setStatus(StatusCode.ERROR);
|
||||
} finally {
|
||||
span.end();
|
||||
|
@ -61,7 +61,7 @@ public final class ErrorReportingTest {
|
|||
() -> {
|
||||
try (Scope ignored = span.makeCurrent()) {
|
||||
throw new RuntimeException("Invalid state");
|
||||
} catch (Exception exc) {
|
||||
} catch (RuntimeException exc) {
|
||||
span.setStatus(StatusCode.ERROR);
|
||||
} finally {
|
||||
span.end();
|
||||
|
@ -88,7 +88,7 @@ public final class ErrorReportingTest {
|
|||
while (retries++ < maxRetries) {
|
||||
try {
|
||||
throw new RuntimeException("No url could be fetched");
|
||||
} catch (final Exception exc) {
|
||||
} catch (RuntimeException exc) {
|
||||
span.addEvent("error");
|
||||
}
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public final class ErrorReportingTest {
|
|||
() -> {
|
||||
try {
|
||||
throw new RuntimeException("Invalid state");
|
||||
} catch (Exception exc) {
|
||||
} catch (RuntimeException exc) {
|
||||
Span.current().setStatus(StatusCode.ERROR);
|
||||
} finally {
|
||||
Span.current().end();
|
||||
|
|
|
@ -25,6 +25,14 @@ plugins {
|
|||
id "com.gradle.enterprise" version "3.5"
|
||||
}
|
||||
|
||||
dependencyResolutionManagement {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
mavenLocal()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "opentelemetry-java"
|
||||
include ":all",
|
||||
":api:all",
|
||||
|
|
Loading…
Reference in New Issue