默认情况下,Spring Sleuth只向Zipkin发送10%的请求。通过设置spring.sleuth.sampler.percentage,可以增加百分比。不幸的是,无论我将其设置为什么值,它都停留在10%。我已经尝试了1.0,0.5,1,100。
来自/env的输出
"spring.sleuth.sampler.percentage": {
"value": 1,
"origin": "class path resource [application.yml]:77:19"
}不管值是多少,当我发出多个请求时,只有10%的人会访问Zipkin。
我们使用的是Spring Cloud的Finchley.M8版本和Spring Boot的2.0.0.RELEASE。
下面是相关的POM设置。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.M8</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>这会不会是个bug?
发布于 2018-03-09 05:38:09
好了,我们找到了问题所在,也找到了解决办法。
看起来所有的文档都是错误的,至少对于我们正在使用的Spring Cloud Sleuth版本是错误的。正确的属性不是spring.sleuth.sampler.percentage。正确的属性是spring.sleuth.sampler.probability
这是我们在注意到属性错误之前发现的一个解决方法。
@Bean
public Sampler alwaysSampler() {
return Sampler.ALWAYS_SAMPLE;
}以下是来自Spring Cloud的一些官方文档,其中包含错误的属性。
https://cloud.spring.io/spring-cloud-sleuth/single/spring-cloud-sleuth.html
下面是正在使用的源代码,它使用的是probability而不是percentage。
https://stackoverflow.com/questions/49182626
复制相似问题