Skip to main content
Version: 2.5.1

Custom Metrics Monitor

Explanation

  • Before custom development, please customize and build the gateway environment first, please refer to: custom deployment

  • This article describes how to customize the extension of org.apache.shenyu.plugin.metrics.spi.MetricsService.

Extension

  • Create a new project and introduce the following dependencies:
<dependencies>
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-plugin-base</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
  • Create a new class ${you class},implements org.apache.shenyu.plugin.metrics.spi.MetricsService
public class ${you class} implements MetricsService {

/**
* Start metrics tracker.
*
* @param metricsConfig metrics config
* @param metricsRegister the metrics register
*/
public void start(MetricsConfig metricsConfig, MetricsRegister metricsRegister){
//your code
}

/**
* Stop metrics tracker.
*/
public void stop() {
//your code
}
}
  • In the project resources directory,Create a new META-INF/shenyu directory, and the new file name is : org.apache.shenyu.plugin.metrics.spi.MetricsService. add ${you spi name} = ${you class path}:
${you spi name} = ${you class path}
  • Package the project and copy it to the lib or ext-lib directory of the gateway (bootstrap-bin).

  • In the Admin service ---> BasicConfig ---> Plugin , Find the Monitor plugin, edit config, pay attention to the metricsName name: ${you spi name}.