使用注释或使用 Spring Cloud Sleuth 以编程方式指定采样器概率?
Specify sampler probability using annotations or programmatically using Spring Cloud Sleuth?
我们在 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 Sleuth(或相关)项目的注释时,是否可以指定方法的采样率概率?
- 如果不是,是否可以通过编程方式指定方法的采样率概率(不带注释)?
- 如果不是,是否可以在spring属性文件/yaml文件中配置不同的采样率?
您可以创建 org.springframework.cloud.sleuth.exporter.SpanFilter
类型的 bean。在那里你可以访问FinishedSpan
,如果你想导出跨度,你可以return true
。
我们在 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 Sleuth(或相关)项目的注释时,是否可以指定方法的采样率概率?
- 如果不是,是否可以通过编程方式指定方法的采样率概率(不带注释)?
- 如果不是,是否可以在spring属性文件/yaml文件中配置不同的采样率?
您可以创建 org.springframework.cloud.sleuth.exporter.SpanFilter
类型的 bean。在那里你可以访问FinishedSpan
,如果你想导出跨度,你可以return true
。