Я использую Brave как часть Spring Slueth (Spring Cloud - Edgware.RELEASE). Я написал Фильтр, который перехватывает каждый запрос и создает Span (тег / имя) в Zipkin. Например:
//Imports
import brave.Span;
import brave.Tracer;
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
Span someSpan = tracer.nextSpan();
someSpan.kind(Span.Kind.SERVER);
someSpan.name("my-test-span");
someSpan.tag("Env", "Dev");
//Do some Filter specific operation ......
someSpan.finish();
}
Теперь я хотел бы написать контрольные примеры, но я не уверен, как имитировать Span или трассировщик в фильтре сервлетов?
Фрагмент POM:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth</artifactId>
<version>2.0.3.BUILD-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>