Spring sleuth setup

Spring Sleuth provides Spring Boot auto-configuration for distributed tracing. Skywalking integrates its micrometer so that it can send metrics to the Skywalking Meter System.

Set up agent

  1. Add micrometer and Skywalking meter registry dependency into the project’s pom.xml file. You can find more details at Toolkit micrometer.
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-micrometer-registry</artifactId>
    <version>${skywalking.version}</version>
</dependency>
  1. Create Skywalking meter registry in spring bean management.
@Bean
SkywalkingMeterRegistry skywalkingMeterRegistry() {
    // Add rate configs If you need, otherwise using none args construct
    SkywalkingConfig config = new SkywalkingConfig(Arrays.asList(""));
    return new SkywalkingMeterRegistry(config);
}

Set up backend receiver

  1. Make sure to enable meter receiver in application.yml.
receiver-meter:
  selector: ${SW_RECEIVER_METER:default}
  default:
  1. Configure the meter config file. It already has the spring sleuth meter config. If you have a customized meter at the agent side, please configure the meter using the steps set out in the meter document.

  2. Enable Spring sleuth config in application.yml.

agent-analyzer:
  selector: ${SW_AGENT_ANALYZER:default}
  default:
    meterAnalyzerActiveFiles: ${SW_METER_ANALYZER_ACTIVE_FILES:spring-sleuth}

Add UI dashboard

  1. Open the dashboard view. Click edit button to edit the templates.

    Click edit button

  2. Create a new template. Template type: Standard -> Template Configuration: Spring -> Input the Template Name.

    Create template

  3. Click view button. You’ll see the spring sleuth dashboard.

    Save template Spring Sleuth Dashboard

Supported meter

Three types of information are supported: Application, System, and JVM.

  1. Application: HTTP request count and duration, JDBC max/idle/active connection count, and Tomcat session active/reject count.
  2. System: CPU system/process usage, OS system load, and OS process file count.
  3. JVM: GC pause count and duration, memory max/used/committed size, thread peak/live/daemon count, and classes loaded/unloaded count.