未验证 提交 718d88c7 编写于 作者: wu-sheng's avatar wu-sheng 提交者: GitHub

Merge branch 'master' into feature/Alarm

......@@ -73,6 +73,7 @@ public class InstanceRegisterSerialWorker extends AbstractLocalAsyncWorker<Insta
userInstance.setId(String.valueOf(Const.NONE_INSTANCE_ID));
userInstance.setInstanceId(Const.NONE_INSTANCE_ID);
userInstance.setApplicationId(Const.NONE_APPLICATION_ID);
userInstance.setApplicationCode(Const.USER_CODE);
userInstance.setAgentUUID(Const.USER_CODE);
userInstance.setHeartBeatTime(System.currentTimeMillis());
userInstance.setOsInfo(Const.EMPTY_STRING);
......@@ -85,6 +86,7 @@ public class InstanceRegisterSerialWorker extends AbstractLocalAsyncWorker<Insta
newInstance.setId("2");
newInstance.setInstanceId(2);
newInstance.setApplicationId(instance.getApplicationId());
newInstance.setApplicationCode(instance.getApplicationCode());
newInstance.setAgentUUID(instance.getAgentUUID());
newInstance.setHeartBeatTime(instance.getHeartBeatTime());
newInstance.setOsInfo(instance.getOsInfo());
......@@ -96,6 +98,7 @@ public class InstanceRegisterSerialWorker extends AbstractLocalAsyncWorker<Insta
newInstance.setId(String.valueOf(max + 1));
newInstance.setInstanceId(max + 1);
newInstance.setApplicationId(instance.getApplicationId());
newInstance.setApplicationCode(instance.getApplicationCode());
newInstance.setAgentUUID(instance.getAgentUUID());
newInstance.setHeartBeatTime(instance.getHeartBeatTime());
newInstance.setOsInfo(instance.getOsInfo());
......
......@@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.analysis.register.provider.service;
import org.apache.skywalking.apm.collector.analysis.register.define.graph.GraphIdDefine;
import org.apache.skywalking.apm.collector.analysis.register.define.service.IInstanceIDService;
import org.apache.skywalking.apm.collector.cache.CacheModule;
import org.apache.skywalking.apm.collector.cache.service.ApplicationCacheService;
import org.apache.skywalking.apm.collector.cache.service.InstanceCacheService;
import org.apache.skywalking.apm.collector.core.graph.Graph;
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
......@@ -45,6 +46,7 @@ public class InstanceIDService implements IInstanceIDService {
private InstanceCacheService instanceCacheService;
private Graph<Instance> instanceRegisterGraph;
private IInstanceRegisterDAO instanceRegisterDAO;
private ApplicationCacheService applicationCacheService;
public InstanceIDService(ModuleManager moduleManager) {
this.moduleManager = moduleManager;
......@@ -71,6 +73,13 @@ public class InstanceIDService implements IInstanceIDService {
return instanceRegisterDAO;
}
private ApplicationCacheService getApplicationCacheService() {
if (ObjectUtils.isEmpty(applicationCacheService)) {
this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class);
}
return applicationCacheService;
}
@Override public int getOrCreateByAgentUUID(int applicationId, String agentUUID, long registerTime, String osInfo) {
logger.debug("get or getOrCreate instance id by agent UUID, application id: {}, agentUUID: {}, registerTime: {}, osInfo: {}", applicationId, agentUUID, registerTime, osInfo);
int instanceId = getInstanceCacheService().getInstanceIdByAgentUUID(applicationId, agentUUID);
......@@ -79,6 +88,7 @@ public class InstanceIDService implements IInstanceIDService {
Instance instance = new Instance();
instance.setId("0");
instance.setApplicationId(applicationId);
instance.setApplicationCode(getApplicationCacheService().getApplicationById(applicationId).getApplicationCode());
instance.setAgentUUID(agentUUID);
instance.setRegisterTime(registerTime);
instance.setHeartBeatTime(registerTime);
......@@ -100,6 +110,7 @@ public class InstanceIDService implements IInstanceIDService {
Instance instance = new Instance();
instance.setId("0");
instance.setApplicationId(applicationId);
instance.setApplicationCode(getApplicationCacheService().getApplicationById(applicationId).getApplicationCode());
instance.setAgentUUID(Const.EMPTY_STRING);
instance.setRegisterTime(registerTime);
instance.setHeartBeatTime(registerTime);
......@@ -118,6 +129,7 @@ public class InstanceIDService implements IInstanceIDService {
Instance instance = new Instance();
instance.setId(String.valueOf(instanceId));
instance.setApplicationId(applicationId);
instance.setApplicationCode(getApplicationCacheService().getApplicationById(applicationId).getApplicationCode());
instance.setAgentUUID("");
instance.setRegisterTime(registerTime);
instance.setHeartBeatTime(registerTime);
......
......@@ -32,6 +32,7 @@ public class Instance extends StreamData {
new Column(InstanceTable.COLUMN_ID, new NonOperation()),
new Column(InstanceTable.COLUMN_AGENT_UUID, new CoverOperation()),
new Column(InstanceTable.COLUMN_OS_INFO, new CoverOperation()),
new Column(InstanceTable.COLUMN_APPLICATION_CODE, new CoverOperation()),
};
private static final Column[] LONG_COLUMNS = {
......@@ -118,6 +119,14 @@ public class Instance extends StreamData {
setDataString(2, osInfo);
}
public String getApplicationCode() {
return getDataString(3);
}
public void setApplicationCode(String applicationCode) {
setDataString(3, applicationCode);
}
public int getAddressId() {
return getDataInteger(2);
}
......
......@@ -26,6 +26,7 @@ import org.apache.skywalking.apm.collector.core.data.CommonTable;
public class InstanceTable extends CommonTable {
public static final String TABLE = "instance";
public static final String COLUMN_APPLICATION_ID = "application_id";
public static final String COLUMN_APPLICATION_CODE = "application_code";
public static final String COLUMN_AGENT_UUID = "agent_uuid";
public static final String COLUMN_REGISTER_TIME = "register_time";
public static final String COLUMN_INSTANCE_ID = "instance_id";
......
......@@ -57,6 +57,7 @@ public class InstanceRegisterEsDAO extends EsDAO implements IInstanceRegisterDAO
Map<String, Object> source = new HashMap<>();
source.put(InstanceTable.COLUMN_INSTANCE_ID, instance.getInstanceId());
source.put(InstanceTable.COLUMN_APPLICATION_ID, instance.getApplicationId());
source.put(InstanceTable.COLUMN_APPLICATION_CODE, instance.getApplicationCode());
source.put(InstanceTable.COLUMN_AGENT_UUID, instance.getAgentUUID());
source.put(InstanceTable.COLUMN_REGISTER_TIME, TimeBucketUtils.INSTANCE.getSecondTimeBucket(instance.getRegisterTime()));
source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, TimeBucketUtils.INSTANCE.getSecondTimeBucket(instance.getHeartBeatTime()));
......
......@@ -249,6 +249,7 @@ public class InstanceEsUIDAO extends EsDAO implements IInstanceUIDAO {
for (SearchHit searchHit : searchHits) {
AppServerInfo appServerInfo = new AppServerInfo();
appServerInfo.setId(((Number)searchHit.getSource().get(InstanceTable.COLUMN_INSTANCE_ID)).intValue());
appServerInfo.setApplicationId(((Number)searchHit.getSource().get(InstanceTable.COLUMN_APPLICATION_ID)).intValue());
appServerInfo.setOsInfo((String)searchHit.getSource().get(InstanceTable.COLUMN_OS_INFO));
appServerInfos.add(appServerInfo);
}
......
......@@ -37,11 +37,12 @@ public class InstanceEsTableDefine extends ElasticSearchTableDefine {
@Override public void initialize() {
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_APPLICATION_CODE, ElasticSearchColumnDefine.Type.Text.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_AGENT_UUID, ElasticSearchColumnDefine.Type.Keyword.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_REGISTER_TIME, ElasticSearchColumnDefine.Type.Long.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_INSTANCE_ID, ElasticSearchColumnDefine.Type.Integer.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_HEARTBEAT_TIME, ElasticSearchColumnDefine.Type.Long.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_OS_INFO, ElasticSearchColumnDefine.Type.Keyword.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_OS_INFO, ElasticSearchColumnDefine.Type.Text.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_ADDRESS_ID, ElasticSearchColumnDefine.Type.Integer.name()));
addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_IS_ADDRESS, ElasticSearchColumnDefine.Type.Integer.name()));
}
......
......@@ -58,6 +58,7 @@ public class InstanceRegisterH2DAO extends H2DAO implements IInstanceRegisterDAO
source.put(InstanceTable.COLUMN_ID, instance.getId());
source.put(InstanceTable.COLUMN_INSTANCE_ID, instance.getInstanceId());
source.put(InstanceTable.COLUMN_APPLICATION_ID, instance.getApplicationId());
source.put(InstanceTable.COLUMN_APPLICATION_CODE, instance.getApplicationCode());
source.put(InstanceTable.COLUMN_AGENT_UUID, instance.getAgentUUID());
source.put(InstanceTable.COLUMN_REGISTER_TIME, TimeBucketUtils.INSTANCE.getSecondTimeBucket(instance.getRegisterTime()));
source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, TimeBucketUtils.INSTANCE.getSecondTimeBucket(instance.getHeartBeatTime()));
......
......@@ -34,6 +34,7 @@ public class InstanceH2TableDefine extends H2TableDefine {
@Override public void initialize() {
addColumn(new H2ColumnDefine(InstanceTable.COLUMN_ID, H2ColumnDefine.Type.Varchar.name()));
addColumn(new H2ColumnDefine(InstanceTable.COLUMN_APPLICATION_ID, H2ColumnDefine.Type.Int.name()));
addColumn(new H2ColumnDefine(InstanceTable.COLUMN_APPLICATION_CODE, H2ColumnDefine.Type.Varchar.name()));
addColumn(new H2ColumnDefine(InstanceTable.COLUMN_AGENT_UUID, H2ColumnDefine.Type.Varchar.name()));
addColumn(new H2ColumnDefine(InstanceTable.COLUMN_REGISTER_TIME, H2ColumnDefine.Type.Bigint.name()));
addColumn(new H2ColumnDefine(InstanceTable.COLUMN_INSTANCE_ID, H2ColumnDefine.Type.Int.name()));
......
......@@ -163,9 +163,7 @@ public class ServerService {
private void buildAppServerInfo(List<AppServerInfo> serverInfos) {
serverInfos.forEach(serverInfo -> {
int applicationId = instanceCacheService.getApplicationId(serverInfo.getId());
serverInfo.setApplicationId(applicationId);
serverInfo.setApplicationCode(applicationCacheService.getApplicationById(applicationId).getApplicationCode());
serverInfo.setApplicationCode(applicationCacheService.getApplicationById(serverInfo.getApplicationId()).getApplicationCode());
if (StringUtils.isNotEmpty(serverInfo.getOsInfo())) {
JsonObject osInfoJson = gson.fromJson(serverInfo.getOsInfo(), JsonObject.class);
if (osInfoJson.has("osName")) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册