Metrics
- Dependency the toolkit, such as using maven or gradle
   <dependency>
      <groupId>org.apache.skywalking</groupId>
      <artifactId>apm-toolkit-micrometer-registry</artifactId>
      <version>${skywalking.version}</version>
   </dependency>
- Using org.apache.skywalking.apm.meter.micrometer.SkywalkingMeterRegistryas the registry, it could forward the MicroMeter collected metrics to OAP server.
import org.apache.skywalking.apm.meter.micrometer.SkywalkingMeterRegistry;
SkywalkingMeterRegistry registry = new SkywalkingMeterRegistry();
// If you has some counter want to rate by agent side
SkywalkingConfig config = new SkywalkingConfig(Arrays.asList("test_rate_counter"));
new SkywalkingMeterRegistry(config);
// Also you could using composite registry to combine multiple meter registry, such as collect to Skywalking and prometheus
CompositeMeterRegistry compositeRegistry = new CompositeMeterRegistry();
compositeRegistry.add(new PrometheusMeterRegistry(PrometheusConfig.DEFAULT));
compositeRegistry.add(new SkywalkingMeterRegistry());
- 
Using snake case as the naming convention. Such as test.meterwill be send totest_meter.
- 
Using Millisecondas the time unit.
- 
Adapt micrometer data convention. 
| Micrometer data type | Transform to meter name | Skywalking data type | Description | 
|---|---|---|---|
| Counter | Counter name | Counter | Same with counter | 
| Gauges | Gauges name | Gauges | Same with gauges | 
| Timer | Timer name + “_count” | Counter | Execute finished count | 
| Timer name + “_sum” | Counter | Total execute finished duration | |
| Timer name + “_max” | Gauges | Max duration of execute finished time | |
| Timer name + “_histogram” | Histogram | Histogram of execute finished duration | |
| LongTaskTimer | Timer name + “_active_count” | Gauges | Executing task count | 
| Timer name + “_duration_sum” | Counter | All of executing task sum duration | |
| Timer name + “_max” | Counter | Current longest running task execute duration | |
| Function Timer | Timer name + “_count” | Gauges | Execute finished timer count | 
| Timer name + “_sum” | Gauges | Execute finished timer total duration | |
| Function Counter | Counter name | Counter | Custom counter value | 
| Distribution summary | Summary name + “_count” | Counter | Total record count | 
| Summary name + “_sum” | Counter | Total record amount sum | |
| Summary name + “_max” | Gauges | Max record amount | |
| Summary name + “_histogram” | Gauges | Histogram of the amount | 
- Not Adapt data convention.
| Micrometer data type | Data type | 
|---|---|
| LongTaskTimer | Histogram |