Search in sources :

Example 6 with OK

use of zipkin2.CheckResult.OK in project zipkin by openzipkin.

the class ITElasticsearchHealthCheck method notHealthyThenHealthyThenNotHealthy.

@Test
public void notHealthyThenHealthyThenNotHealthy() {
    server1Health.setHealthy(false);
    server2Health.setHealthy(false);
    try (ElasticsearchStorage storage = context.getBean(ElasticsearchStorage.class)) {
        CheckResult result = storage.check();
        assertThat(result.ok()).isFalse();
        server2Health.setHealthy(true);
        awaitTimeout.untilAsserted(() -> assertThat(storage.check().ok()).isTrue());
        server2Health.setHealthy(false);
        awaitTimeout.untilAsserted(() -> assertThat(storage.check().ok()).isFalse());
    }
}
Also used : ElasticsearchStorage(zipkin2.elasticsearch.ElasticsearchStorage) CheckResult(zipkin2.CheckResult) Test(org.junit.Test)

Example 7 with OK

use of zipkin2.CheckResult.OK in project spring-cloud-sleuth by spring-cloud.

the class FeignRetriesTests method testRetriedWhenRequestEventuallyIsSent.

@Test
public void testRetriedWhenRequestEventuallyIsSent() throws Exception {
    String url = "http://localhost:" + server.getPort();
    final AtomicInteger atomicInteger = new AtomicInteger();
    // Client to simulate a retry scenario
    final Client client = (request, options) -> {
        // we simulate an exception only for the first request
        if (atomicInteger.get() == 1) {
            throw new IOException();
        } else {
            // with the second retry (first retry) we send back good result
            return Response.builder().status(200).reason("OK").headers(new HashMap<>()).body("OK", Charset.defaultCharset()).build();
        }
    };
    TestInterface api = Feign.builder().client(new TracingFeignClient(this.httpTracing, new Client() {

        @Override
        public Response execute(Request request, Request.Options options) throws IOException {
            atomicInteger.incrementAndGet();
            return client.execute(request, options);
        }
    })).target(TestInterface.class, url);
    then(api.decodedPost()).isEqualTo("OK");
    // request interception should take place only twice (1st request & 2nd retry)
    then(atomicInteger.get()).isEqualTo(2);
    then(this.reporter.getSpans().get(0).tags()).containsEntry("error", "IOException");
    then(this.reporter.getSpans().get(1).kind().ordinal()).isEqualTo(Span.Kind.CLIENT.ordinal());
}
Also used : Mock(org.mockito.Mock) RunWith(org.junit.runner.RunWith) Span(zipkin2.Span) HashMap(java.util.HashMap) Client(feign.Client) ErrorParser(org.springframework.cloud.sleuth.ErrorParser) CurrentTraceContext(brave.propagation.CurrentTraceContext) ExceptionMessageErrorParser(org.springframework.cloud.sleuth.ExceptionMessageErrorParser) Charset(java.nio.charset.Charset) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) After(org.junit.After) ArrayListSpanReporter(org.springframework.cloud.sleuth.util.ArrayListSpanReporter) MockWebServer(okhttp3.mockwebserver.MockWebServer) FeignException(feign.FeignException) Before(org.junit.Before) Tracing(brave.Tracing) HttpTracing(brave.http.HttpTracing) Response(feign.Response) SleuthHttpParserAccessor(org.springframework.cloud.sleuth.instrument.web.SleuthHttpParserAccessor) RequestLine(feign.RequestLine) IOException(java.io.IOException) Test(org.junit.Test) BDDAssertions.then(org.assertj.core.api.BDDAssertions.then) Feign(feign.Feign) BDDMockito(org.mockito.BDDMockito) Rule(org.junit.Rule) BeanFactory(org.springframework.beans.factory.BeanFactory) Request(feign.Request) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Assertions.failBecauseExceptionWasNotThrown(org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown) Response(feign.Response) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) HashMap(java.util.HashMap) Request(feign.Request) IOException(java.io.IOException) Client(feign.Client) Test(org.junit.Test)

Example 8 with OK

use of zipkin2.CheckResult.OK in project opentelemetry-java by open-telemetry.

the class ZipkinSpanExporterTest method generateSpan_subMicroDurations.

@Test
void generateSpan_subMicroDurations() {
    SpanData data = buildStandardSpan().setStartEpochNanos(1505855794_194009601L).setEndEpochNanos(1505855794_194009999L).build();
    Span expected = standardZipkinSpanBuilder(Span.Kind.SERVER).putTag(ZipkinSpanExporter.OTEL_STATUS_CODE, "OK").duration(1).build();
    assertThat(exporter.generateSpan(data)).isEqualTo(expected);
}
Also used : SpanData(io.opentelemetry.sdk.trace.data.SpanData) TestSpanData(io.opentelemetry.sdk.testing.trace.TestSpanData) Span(zipkin2.Span) Test(org.junit.jupiter.api.Test)

Example 9 with OK

use of zipkin2.CheckResult.OK in project opentelemetry-java by open-telemetry.

the class ZipkinSpanExporterTest method generateSpan_ResourceServiceNameMapping.

@Test
void generateSpan_ResourceServiceNameMapping() {
    Resource resource = Resource.create(Attributes.of(ResourceAttributes.SERVICE_NAME, "super-zipkin-service"));
    SpanData data = buildStandardSpan().setResource(resource).build();
    Endpoint expectedEndpoint = Endpoint.newBuilder().serviceName("super-zipkin-service").ip(exporter.getLocalAddressForTest()).build();
    Span expectedZipkinSpan = buildZipkinSpan(Span.Kind.SERVER).toBuilder().localEndpoint(expectedEndpoint).putTag(ZipkinSpanExporter.OTEL_STATUS_CODE, "OK").build();
    assertThat(exporter.generateSpan(data)).isEqualTo(expectedZipkinSpan);
}
Also used : SpanData(io.opentelemetry.sdk.trace.data.SpanData) TestSpanData(io.opentelemetry.sdk.testing.trace.TestSpanData) Endpoint(zipkin2.Endpoint) Resource(io.opentelemetry.sdk.resources.Resource) Span(zipkin2.Span) Test(org.junit.jupiter.api.Test)

Example 10 with OK

use of zipkin2.CheckResult.OK in project opentelemetry-java by open-telemetry.

the class ZipkinSpanExporterTest method generateSpan_defaultResourceServiceName.

@Test
void generateSpan_defaultResourceServiceName() {
    SpanData data = buildStandardSpan().setResource(Resource.empty()).build();
    Endpoint expectedEndpoint = Endpoint.newBuilder().serviceName(Resource.getDefault().getAttribute(ResourceAttributes.SERVICE_NAME)).ip(exporter.getLocalAddressForTest()).build();
    Span expectedZipkinSpan = buildZipkinSpan(Span.Kind.SERVER).toBuilder().localEndpoint(expectedEndpoint).putTag(ZipkinSpanExporter.OTEL_STATUS_CODE, "OK").build();
    assertThat(exporter.generateSpan(data)).isEqualTo(expectedZipkinSpan);
}
Also used : SpanData(io.opentelemetry.sdk.trace.data.SpanData) TestSpanData(io.opentelemetry.sdk.testing.trace.TestSpanData) Endpoint(zipkin2.Endpoint) Span(zipkin2.Span) Test(org.junit.jupiter.api.Test)

Aggregations

Span (zipkin2.Span)8 Test (org.junit.Test)7 Test (org.junit.jupiter.api.Test)5 Task (io.crnk.monitor.brave.mock.models.Task)3 TestSpanData (io.opentelemetry.sdk.testing.trace.TestSpanData)3 SpanData (io.opentelemetry.sdk.trace.data.SpanData)3 CheckResult (zipkin2.CheckResult)3 Endpoint (zipkin2.Endpoint)3 ElasticsearchStorage (zipkin2.elasticsearch.ElasticsearchStorage)3 QuerySpec (io.crnk.core.queryspec.QuerySpec)2 Tracing (brave.Tracing)1 HttpTracing (brave.http.HttpTracing)1 CurrentTraceContext (brave.propagation.CurrentTraceContext)1 Client (feign.Client)1 Feign (feign.Feign)1 FeignException (feign.FeignException)1 Request (feign.Request)1 RequestLine (feign.RequestLine)1 Response (feign.Response)1 FilterSpec (io.crnk.core.queryspec.FilterSpec)1