Spring Sleuth застрял при отправке 10% запроса Zipkin

По умолчанию 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.

Мы используем версию Finchley.M8 из Spring Cloud и 2.0.0.RELEASE из Spring Boot.

Ниже приведены соответствующие настройки 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>

Может ли это быть ошибкой?


person Jose Martinez    schedule 08.03.2018    source источник


Ответы (1)


Хорошо, мы нашли проблему, а также способ ее обойти.

Похоже, что вся документация неверна, по крайней мере, для той версии 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-static/spring-cloud-sleuth/2.0.0.M5/single/spring-cloud-sleuth.html

https://cloud.spring.io/spring-cloud-sleuth/single/spring-cloud-sleuth.html.

Вот исходный код, который используется, и он использует probability, а не percentage.

https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/sampler/SamplerProperties.java

person Jose Martinez    schedule 08.03.2018