我们在GCP中使用Spring Boot 2.7.0, Spring cloud 2021.0.3,并添加了这些依赖项:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-trace</artifactId>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-logging</artifactId>
</dependency>
我们已经在我们的属性文件中像这样指定了一般的样本概率:
spring.sleuth.sampler.probability=0.1
spring.sleuth.web.skipPattern=(^/admin/.*|.+favicon.*|^/ping$)
但是对于某些方法,我们希望使用不同的采样器概率(例如,我们总是希望为某些方法生成跟踪)。
问题:
- 是否有可能指定一个方法的采样率概率时,使用Spring侦探(或相关)项目的注释?
- 如果没有,是否有可能以编程方式指定方法的采样率概率(没有注释)?
- 如果没有,是否可以在spring属性文件/yaml文件中配置不同的采样率?
可以创建类型为org.springframework.cloud.sleuth.exporter.SpanFilter
的bean。在那里你可以访问FinishedSpan
,在此基础上你可以返回true
,如果你想导出跨度或不。