This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new ef63bc6 The heartbeat implementation for all the scopes. (#1742)
ef63bc6 is described below
commit ef63bc63cbda1cc326b2986f4fa338b2fd4df1e9
Author: 彭勇升 pengys <[email protected]>
AuthorDate: Wed Oct 10 16:25:50 2018 +0800
The heartbeat implementation for all the scopes. (#1742)
---
.../oap/server/core/alarm/provider/Rules.java | 11 ++--
.../server/core/alarm/provider/RulesReader.java | 70 +++++++++++-----------
.../service/EndpointInventoryRegister.java | 12 ++++
.../service/IEndpointInventoryRegister.java | 2 +
.../service/INetworkAddressInventoryRegister.java | 2 +
.../service/IServiceInstanceInventoryRegister.java | 2 +
.../service/IServiceInventoryRegister.java | 2 +
.../service/NetworkAddressInventoryRegister.java | 15 +++++
.../service/ServiceInstanceInventoryRegister.java | 30 ++++++----
.../register/service/ServiceInventoryRegister.java | 15 +++++
.../register/worker/RegisterPersistentWorker.java | 2 +-
.../v5/InstanceDiscoveryServiceHandler.java | 12 ++--
.../handler/v5/InstanceHeartBeatTestCase.java} | 19 ++++--
13 files changed, 131 insertions(+), 63 deletions(-)
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/Rules.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/Rules.java
index bfbced0..e7a2e34 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/Rules.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/Rules.java
@@ -18,14 +18,17 @@
package org.apache.skywalking.oap.server.core.alarm.provider;
-import java.util.List;
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.Setter;
+import java.util.*;
+import lombok.*;
@Setter(AccessLevel.PUBLIC)
@Getter(AccessLevel.PUBLIC)
public class Rules {
private List<AlarmRule> rules;
private List<String> webhooks;
+
+ public Rules() {
+ this.rules = new ArrayList<>();
+ this.webhooks = new ArrayList<>();
+ }
}
diff --git
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java
index e2a2873..897d892 100644
---
a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java
+++
b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/RulesReader.java
@@ -18,11 +18,8 @@
package org.apache.skywalking.oap.server.core.alarm.provider;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.io.*;
+import java.util.*;
import org.yaml.snakeyaml.Yaml;
/**
@@ -46,39 +43,42 @@ public class RulesReader {
public Rules readRules() {
Rules rules = new Rules();
- Map rulesData = (Map)yamlData.get("rules");
- if (rulesData != null) {
- rules.setRules(new ArrayList<>());
- rulesData.forEach((k, v) -> {
- if (((String)k).endsWith("_rule")) {
- AlarmRule alarmRule = new AlarmRule();
- alarmRule.setAlarmRuleName((String)k);
- Map settings = (Map)v;
- Object indicatorName = settings.get("indicator-name");
- if (indicatorName == null) {
- throw new IllegalArgumentException("indicator-name
can't be null");
- }
+ if (Objects.nonNull(yamlData)) {
+ Map rulesData = (Map)yamlData.get("rules");
+ if (rulesData != null) {
+ rules.setRules(new ArrayList<>());
+ rulesData.forEach((k, v) -> {
+ if (((String)k).endsWith("_rule")) {
+ AlarmRule alarmRule = new AlarmRule();
+ alarmRule.setAlarmRuleName((String)k);
+ Map settings = (Map)v;
+ Object indicatorName = settings.get("indicator-name");
+ if (indicatorName == null) {
+ throw new IllegalArgumentException("indicator-name
can't be null");
+ }
- alarmRule.setIndicatorName((String)indicatorName);
-
alarmRule.setIncludeNames((ArrayList)settings.getOrDefault("include-names", new
ArrayList(0)));
-
alarmRule.setThreshold(settings.get("threshold").toString());
- alarmRule.setOp((String)settings.get("op"));
-
alarmRule.setPeriod((Integer)settings.getOrDefault("period", 1));
- alarmRule.setCount((Integer)settings.getOrDefault("count",
1));
-
alarmRule.setSilencePeriod((Integer)settings.getOrDefault("silence-period",
alarmRule.getPeriod()));
-
alarmRule.setMessage((String)settings.getOrDefault("message", "Alarm caused by
Rule " + alarmRule.getAlarmRuleName()));
+ alarmRule.setIndicatorName((String)indicatorName);
+
alarmRule.setIncludeNames((ArrayList)settings.getOrDefault("include-names", new
ArrayList(0)));
+
alarmRule.setThreshold(settings.get("threshold").toString());
+ alarmRule.setOp((String)settings.get("op"));
+
alarmRule.setPeriod((Integer)settings.getOrDefault("period", 1));
+
alarmRule.setCount((Integer)settings.getOrDefault("count", 1));
+
alarmRule.setSilencePeriod((Integer)settings.getOrDefault("silence-period",
alarmRule.getPeriod()));
+
alarmRule.setMessage((String)settings.getOrDefault("message", "Alarm caused by
Rule " + alarmRule.getAlarmRuleName()));
- rules.getRules().add(alarmRule);
- }
- });
- }
- List webhooks = (List)yamlData.get("webhooks");
- if (webhooks != null) {
- rules.setWebhooks(new ArrayList<>());
- webhooks.forEach(url -> {
- rules.getWebhooks().add((String)url);
- });
+ rules.getRules().add(alarmRule);
+ }
+ });
+ }
+ List webhooks = (List)yamlData.get("webhooks");
+ if (webhooks != null) {
+ rules.setWebhooks(new ArrayList<>());
+ webhooks.forEach(url -> {
+ rules.getWebhooks().add((String)url);
+ });
+ }
}
+
return rules;
}
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
index 895f421..eb361f5 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java
@@ -18,6 +18,7 @@
package org.apache.skywalking.oap.server.core.register.service;
+import java.util.Objects;
import org.apache.skywalking.oap.server.core.*;
import org.apache.skywalking.oap.server.core.cache.EndpointInventoryCache;
import org.apache.skywalking.oap.server.core.register.EndpointInventory;
@@ -70,4 +71,15 @@ public class EndpointInventoryRegister implements
IEndpointInventoryRegister {
@Override public int get(int serviceId, String endpointName) {
return getCacheService().getEndpointId(serviceId, endpointName);
}
+
+ @Override public void heartbeat(int endpointId, long heartBeatTime) {
+ EndpointInventory endpointInventory =
getCacheService().get(endpointId);
+ if (Objects.nonNull(endpointInventory)) {
+ endpointInventory.setHeartbeatTime(heartBeatTime);
+
+ InventoryProcess.INSTANCE.in(endpointInventory);
+ } else {
+ logger.warn("Endpoint {} heartbeat, but not found in storage.");
+ }
+ }
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
index 2258aac..2a71461 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
@@ -29,4 +29,6 @@ public interface IEndpointInventoryRegister extends Service {
int getOrCreate(int serviceId, String endpointName, DetectPoint
detectPoint);
int get(int serviceId, String endpointName);
+
+ void heartbeat(int endpointId, long heartBeatTime);
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java
index eb3b375..f812f58 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/INetworkAddressInventoryRegister.java
@@ -29,4 +29,6 @@ public interface INetworkAddressInventoryRegister extends
Service {
int get(String networkAddress);
void update(int addressId, int srcLayer, int serverType);
+
+ void heartbeat(int addressId, long heartBeatTime);
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java
index acee9a8..7ed7b4e 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInstanceInventoryRegister.java
@@ -30,4 +30,6 @@ public interface IServiceInstanceInventoryRegister extends
Service {
ServiceInstanceInventory.AgentOsInfo osInfo);
int getOrCreate(int serviceId, int addressId, long registerTime);
+
+ void heartbeat(int serviceInstanceId, long heartBeatTime);
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java
index 1667c61..a31b270 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IServiceInventoryRegister.java
@@ -28,4 +28,6 @@ public interface IServiceInventoryRegister extends Service {
int getOrCreate(String serviceName);
int getOrCreate(int addressId);
+
+ void heartbeat(int serviceId, long heartBeatTime);
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java
index d4ea429..e702d67 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java
@@ -18,11 +18,13 @@
package org.apache.skywalking.oap.server.core.register.service;
+import java.util.Objects;
import org.apache.skywalking.oap.server.core.*;
import
org.apache.skywalking.oap.server.core.cache.NetworkAddressInventoryCache;
import org.apache.skywalking.oap.server.core.register.NetworkAddressInventory;
import org.apache.skywalking.oap.server.core.register.worker.InventoryProcess;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
+import org.slf4j.*;
import static java.util.Objects.*;
@@ -31,6 +33,8 @@ import static java.util.Objects.*;
*/
public class NetworkAddressInventoryRegister implements
INetworkAddressInventoryRegister {
+ private static final Logger logger =
LoggerFactory.getLogger(NetworkAddressInventoryRegister.class);
+
private final ModuleManager moduleManager;
private NetworkAddressInventoryCache networkAddressInventoryCache;
private IServiceInventoryRegister serviceInventoryRegister;
@@ -111,4 +115,15 @@ public class NetworkAddressInventoryRegister implements
INetworkAddressInventory
}
return true;
}
+
+ @Override public void heartbeat(int addressId, long heartBeatTime) {
+ NetworkAddressInventory networkAddress =
getNetworkAddressInventoryCache().get(addressId);
+ if (Objects.nonNull(networkAddress)) {
+ networkAddress.setHeartbeatTime(heartBeatTime);
+
+ InventoryProcess.INSTANCE.in(networkAddress);
+ } else {
+ logger.warn("Network address {} heartbeat, but not found in
storage.");
+ }
+ }
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java
index bf67627..af02992 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java
@@ -18,11 +18,11 @@
package org.apache.skywalking.oap.server.core.register.service;
-import org.apache.skywalking.oap.server.core.Const;
+import java.util.Objects;
+import org.apache.skywalking.oap.server.core.*;
+import
org.apache.skywalking.oap.server.core.cache.ServiceInstanceInventoryCache;
import org.apache.skywalking.oap.server.core.register.ServiceInstanceInventory;
import org.apache.skywalking.oap.server.core.register.worker.InventoryProcess;
-import org.apache.skywalking.oap.server.core.storage.StorageModule;
-import
org.apache.skywalking.oap.server.core.storage.cache.IServiceInstanceInventoryCacheDAO;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.BooleanUtils;
import org.slf4j.*;
@@ -37,17 +37,17 @@ public class ServiceInstanceInventoryRegister implements
IServiceInstanceInvento
private static final Logger logger =
LoggerFactory.getLogger(ServiceInstanceInventoryRegister.class);
private final ModuleManager moduleManager;
- private IServiceInstanceInventoryCacheDAO cacheDAO;
+ private ServiceInstanceInventoryCache serviceInstanceInventoryCache;
public ServiceInstanceInventoryRegister(ModuleManager moduleManager) {
this.moduleManager = moduleManager;
}
- private IServiceInstanceInventoryCacheDAO getCacheDAO() {
- if (isNull(cacheDAO)) {
- cacheDAO =
moduleManager.find(StorageModule.NAME).getService(IServiceInstanceInventoryCacheDAO.class);
+ private ServiceInstanceInventoryCache getServiceInstanceInventoryCache() {
+ if (isNull(serviceInstanceInventoryCache)) {
+ serviceInstanceInventoryCache =
moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class);
}
- return cacheDAO;
+ return serviceInstanceInventoryCache;
}
@Override public int getOrCreate(int serviceId, String
serviceInstanceName, long registerTime,
@@ -56,7 +56,7 @@ public class ServiceInstanceInventoryRegister implements
IServiceInstanceInvento
logger.debug("Get or create service instance by service instance
name, service id: {}, service instance name: {}, registerTime: {}", serviceId,
serviceInstanceName, registerTime);
}
- int serviceInstanceId = getCacheDAO().getServiceInstanceId(serviceId,
serviceInstanceName);
+ int serviceInstanceId =
getServiceInstanceInventoryCache().getServiceInstanceId(serviceId,
serviceInstanceName);
if (serviceInstanceId == Const.NONE) {
ServiceInstanceInventory serviceInstanceInventory = new
ServiceInstanceInventory();
@@ -83,7 +83,7 @@ public class ServiceInstanceInventoryRegister implements
IServiceInstanceInvento
logger.debug("get or create service instance by address id,
service id: {}, address id: {}, registerTime: {}", serviceId, addressId,
registerTime);
}
- int serviceInstanceId = getCacheDAO().getServiceInstanceId(serviceId,
addressId);
+ int serviceInstanceId =
getServiceInstanceInventoryCache().getServiceInstanceId(serviceId, addressId);
if (serviceInstanceId == Const.NONE) {
ServiceInstanceInventory serviceInstanceInventory = new
ServiceInstanceInventory();
@@ -99,4 +99,14 @@ public class ServiceInstanceInventoryRegister implements
IServiceInstanceInvento
}
return serviceInstanceId;
}
+
+ @Override public void heartbeat(int serviceInstanceId, long heartBeatTime)
{
+ ServiceInstanceInventory serviceInstanceInventory =
getServiceInstanceInventoryCache().get(serviceInstanceId);
+ if (Objects.nonNull(serviceInstanceInventory)) {
+ serviceInstanceInventory.setHeartbeatTime(heartBeatTime);
+ InventoryProcess.INSTANCE.in(serviceInstanceInventory);
+ } else {
+ logger.warn("Service instance {} heartbeat, but not found in
storage.");
+ }
+ }
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java
index 6b22eb4..62e8ab6 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java
@@ -18,12 +18,14 @@
package org.apache.skywalking.oap.server.core.register.service;
+import java.util.Objects;
import org.apache.skywalking.oap.server.core.*;
import org.apache.skywalking.oap.server.core.cache.ServiceInventoryCache;
import org.apache.skywalking.oap.server.core.register.ServiceInventory;
import org.apache.skywalking.oap.server.core.register.worker.InventoryProcess;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.util.BooleanUtils;
+import org.slf4j.*;
import static java.util.Objects.isNull;
@@ -32,6 +34,8 @@ import static java.util.Objects.isNull;
*/
public class ServiceInventoryRegister implements IServiceInventoryRegister {
+ private static final Logger logger =
LoggerFactory.getLogger(ServiceInventoryRegister.class);
+
private final ModuleManager moduleManager;
private ServiceInventoryCache serviceInventoryCache;
@@ -81,4 +85,15 @@ public class ServiceInventoryRegister implements
IServiceInventoryRegister {
}
return serviceId;
}
+
+ @Override public void heartbeat(int serviceId, long heartBeatTime) {
+ ServiceInventory serviceInventory =
getServiceInventoryCache().get(serviceId);
+ if (Objects.nonNull(serviceInventory)) {
+ serviceInventory.setHeartbeatTime(heartBeatTime);
+
+ InventoryProcess.INSTANCE.in(serviceInventory);
+ } else {
+ logger.warn("Service {} heartbeat, but not found in storage.");
+ }
+ }
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java
index c4283f0..cfed8c3 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java
+++
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java
@@ -62,7 +62,7 @@ public class RegisterPersistentWorker extends
AbstractWorker<RegisterSource> {
try {
RegisterSource newSource =
registerDAO.get(modelName, source.id());
if (Objects.nonNull(newSource)) {
- newSource.combine(newSource);
+ newSource.combine(source);
registerDAO.forceUpdate(modelName, newSource);
} else {
int sequence = registerDAO.max(modelName);
diff --git
a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandler.java
b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandler.java
index 4295b09..11681f1 100644
---
a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandler.java
+++
b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceDiscoveryServiceHandler.java
@@ -35,11 +35,9 @@ public class InstanceDiscoveryServiceHandler extends
InstanceDiscoveryServiceGrp
private static final Logger logger =
LoggerFactory.getLogger(InstanceDiscoveryServiceHandler.class);
private final IServiceInstanceInventoryRegister
serviceInstanceInventoryRegister;
-// private final IInstanceHeartBeatService instanceHeartBeatService;
public InstanceDiscoveryServiceHandler(ModuleManager moduleManager) {
this.serviceInstanceInventoryRegister =
moduleManager.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class);
-// this.instanceHeartBeatService =
moduleManager.find(CoreModule.NAME).getService(IInstanceHeartBeatService.class);
}
@Override
@@ -61,10 +59,10 @@ public class InstanceDiscoveryServiceHandler extends
InstanceDiscoveryServiceGrp
}
@Override public void heartbeat(ApplicationInstanceHeartbeat request,
StreamObserver<Downstream> responseObserver) {
-// int instanceId = request.getApplicationInstanceId();
-// long heartBeatTime = request.getHeartbeatTime();
-// this.instanceHeartBeatService.heartBeat(instanceId, heartBeatTime);
-// responseObserver.onNext(Downstream.getDefaultInstance());
-// responseObserver.onCompleted();
+ int serviceInstanceId = request.getApplicationInstanceId();
+ long heartBeatTime = request.getHeartbeatTime();
+ serviceInstanceInventoryRegister.heartbeat(serviceInstanceId,
heartBeatTime);
+ responseObserver.onNext(Downstream.getDefaultInstance());
+ responseObserver.onCompleted();
}
}
diff --git
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceHeartBeatTestCase.java
similarity index 51%
copy from
oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
copy to
oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceHeartBeatTestCase.java
index 2258aac..4f31c0a 100644
---
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/IEndpointInventoryRegister.java
+++
b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/InstanceHeartBeatTestCase.java
@@ -16,17 +16,24 @@
*
*/
-package org.apache.skywalking.oap.server.core.register.service;
+package org.apache.skywalking.oap.server.receiver.register.provider.handler.v5;
-import org.apache.skywalking.oap.server.core.source.DetectPoint;
-import org.apache.skywalking.oap.server.library.module.Service;
+import io.grpc.*;
+import org.apache.skywalking.apm.network.language.agent.*;
/**
* @author peng-yongsheng
*/
-public interface IEndpointInventoryRegister extends Service {
+public class InstanceHeartBeatTestCase {
- int getOrCreate(int serviceId, String endpointName, DetectPoint
detectPoint);
+ public static void main(String[] args) {
+ ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost",
11800).usePlaintext(true).build();
- int get(int serviceId, String endpointName);
+ InstanceDiscoveryServiceGrpc.InstanceDiscoveryServiceBlockingStub stub
= InstanceDiscoveryServiceGrpc.newBlockingStub(channel);
+
+ ApplicationInstanceHeartbeat.Builder builder =
ApplicationInstanceHeartbeat.newBuilder();
+ builder.setApplicationInstanceId(2);
+ builder.setHeartbeatTime(System.currentTimeMillis() + 5 * 1000 * 60);
+ Downstream heartbeat = stub.heartbeat(builder.build());
+ }
}