Configurable metrics server port.

This commit is contained in:
Chuanyi Li
2018-08-13 21:50:50 +08:00
parent a3bf1d59e6
commit e8aee3a276
7 changed files with 35 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ public class CanalServerWithEmbedded extends AbstractCanalLifeCycle implements C
private Map<String, CanalInstance> canalInstances;
// private Map<ClientIdentity, Position> lastRollbackPostions;
private CanalInstanceGenerator canalInstanceGenerator;
private int metricsPort;
private CanalMetricsService metrics = NopCanalMetricsService.NOP;
private static class SingletonHolder {
@@ -64,6 +65,7 @@ public class CanalServerWithEmbedded extends AbstractCanalLifeCycle implements C
super.start();
// 如果存在provider,则启动metrics service
loadCanalMetrics();
metrics.setServerPort(metricsPort);
metrics.initialize();
canalInstances = MigrateMap.makeComputingMap(new Function<String, CanalInstance>() {
@@ -529,4 +531,8 @@ public class CanalServerWithEmbedded extends AbstractCanalLifeCycle implements C
this.canalInstanceGenerator = canalInstanceGenerator;
}
public void setMetricsPort(int metricsPort) {
this.metricsPort = metricsPort;
}
}

View File

@@ -39,4 +39,9 @@ public interface CanalMetricsService {
*/
void unregister(CanalInstance instance);
/**
* @param port server port for pull
*/
void setServerPort(int port);
}

View File

@@ -35,4 +35,9 @@ public class NopCanalMetricsService implements CanalMetricsService {
public void unregister(CanalInstance instance) {
}
@Override
public void setServerPort(int port) {
}
}