Search in sources :

Example 1 with LINKS

use of zipkin.TestObjects.LINKS in project zipkin by openzipkin.

the class DependenciesTest method manyLinks.

/** Ensure there's no query limit problem around links */
@Test
public void manyLinks() {
    // Larger than 10, which is the default ES search limit that tripped this
    int count = 1000;
    List<Span> spans = new ArrayList<>(count);
    for (int i = 1; i <= count; i++) {
        Endpoint web = WEB_ENDPOINT.toBuilder().serviceName("web-" + i).build();
        Endpoint app = APP_ENDPOINT.toBuilder().serviceName("app-" + i).build();
        Endpoint db = DB_ENDPOINT.toBuilder().serviceName("db-" + i).build();
        spans.add(Span.builder().traceId(i).id(10L).name("get").timestamp((TODAY + 50L) * 1000).duration(250L * 1000).addAnnotation(Annotation.create((TODAY + 50) * 1000, CLIENT_SEND, web)).addAnnotation(Annotation.create((TODAY + 100) * 1000, SERVER_RECV, app)).addAnnotation(Annotation.create((TODAY + 250) * 1000, SERVER_SEND, app)).addAnnotation(Annotation.create((TODAY + 300) * 1000, CLIENT_RECV, web)).build());
        spans.add(Span.builder().traceId(i).parentId(10L).id(11L).name("get").timestamp((TODAY + 150L) * 1000).duration(50L * 1000).addAnnotation(Annotation.create((TODAY + 150) * 1000, CLIENT_SEND, app)).addAnnotation(Annotation.create((TODAY + 200) * 1000, CLIENT_RECV, app)).addBinaryAnnotation(BinaryAnnotation.address(SERVER_ADDR, db)).build());
    }
    processDependencies(spans);
    List<DependencyLink> links = store().getDependencies(TODAY + 1000L, null);
    // web-? -> app-?, app-? -> db-?
    assertThat(links).hasSize(count * 2);
    assertThat(links).extracting(l -> l.callCount).allSatisfy(callCount -> assertThat(callCount).isEqualTo(1));
}
Also used : Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Annotation(zipkin.Annotation) CLIENT_ADDR(zipkin.Constants.CLIENT_ADDR) CLIENT_SEND(zipkin.Constants.CLIENT_SEND) LINKS(zipkin.TestObjects.LINKS) DEPENDENCIES(zipkin.TestObjects.DEPENDENCIES) ArrayList(java.util.ArrayList) Endpoint(zipkin.Endpoint) DAY(zipkin.TestObjects.DAY) Span(zipkin.Span) Arrays.asList(java.util.Arrays.asList) SERVER_SEND(zipkin.Constants.SERVER_SEND) WEB_ENDPOINT(zipkin.TestObjects.WEB_ENDPOINT) ApplyTimestampAndDuration(zipkin.internal.ApplyTimestampAndDuration) Before(org.junit.Before) TRACE(zipkin.TestObjects.TRACE) IOException(java.io.IOException) Test(org.junit.Test) BinaryAnnotation(zipkin.BinaryAnnotation) CLIENT_RECV(zipkin.Constants.CLIENT_RECV) DependencyLink(zipkin.DependencyLink) TODAY(zipkin.TestObjects.TODAY) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) LOCAL_COMPONENT(zipkin.Constants.LOCAL_COMPONENT) APP_ENDPOINT(zipkin.TestObjects.APP_ENDPOINT) Constants(zipkin.Constants) SERVER_ADDR(zipkin.Constants.SERVER_ADDR) CallbackCaptor(zipkin.internal.CallbackCaptor) SERVER_RECV(zipkin.Constants.SERVER_RECV) DB_ENDPOINT(zipkin.TestObjects.DB_ENDPOINT) Endpoint(zipkin.Endpoint) ArrayList(java.util.ArrayList) DependencyLink(zipkin.DependencyLink) Span(zipkin.Span) Endpoint(zipkin.Endpoint) Test(org.junit.Test)

Aggregations

IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Arrays.asList (java.util.Arrays.asList)1 List (java.util.List)1 Collectors.toList (java.util.stream.Collectors.toList)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Before (org.junit.Before)1 Test (org.junit.Test)1 Annotation (zipkin.Annotation)1 BinaryAnnotation (zipkin.BinaryAnnotation)1 Constants (zipkin.Constants)1 CLIENT_ADDR (zipkin.Constants.CLIENT_ADDR)1 CLIENT_RECV (zipkin.Constants.CLIENT_RECV)1 CLIENT_SEND (zipkin.Constants.CLIENT_SEND)1 LOCAL_COMPONENT (zipkin.Constants.LOCAL_COMPONENT)1 SERVER_ADDR (zipkin.Constants.SERVER_ADDR)1 SERVER_RECV (zipkin.Constants.SERVER_RECV)1 SERVER_SEND (zipkin.Constants.SERVER_SEND)1 DependencyLink (zipkin.DependencyLink)1 Endpoint (zipkin.Endpoint)1