From 204177b868a2550dd740705ef7aa43daa152339a Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Fri, 15 Sep 2017 23:21:28 +0800 Subject: [PATCH 1/5] Fixed #417, sort service as tree --- .../ui/dao/ServiceReferenceEsDAO.java | 44 ++++++++++++++++--- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java index b6947051c..7ac32ce63 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/dao/ServiceReferenceEsDAO.java @@ -2,6 +2,7 @@ package org.skywalking.apm.collector.ui.dao; import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import org.elasticsearch.action.search.SearchRequestBuilder; @@ -14,6 +15,7 @@ import org.elasticsearch.search.aggregations.bucket.terms.Terms; import org.elasticsearch.search.aggregations.metrics.sum.Sum; import org.skywalking.apm.collector.core.util.ColumnNameUtils; import org.skywalking.apm.collector.core.util.Const; +import org.skywalking.apm.collector.core.util.ObjectUtils; import org.skywalking.apm.collector.core.util.StringUtils; import org.skywalking.apm.collector.storage.define.serviceref.ServiceReferenceTable; import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; @@ -112,13 +114,12 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO Map serviceReferenceMap = new LinkedHashMap<>(); - JsonArray serviceReferenceArray = new JsonArray(); SearchResponse searchResponse = searchRequestBuilder.get(); Terms frontServiceIdTerms = searchResponse.getAggregations().get(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID); for (Terms.Bucket frontServiceBucket : frontServiceIdTerms.getBuckets()) { int frontServiceId = frontServiceBucket.getKeyAsNumber().intValue(); if (frontServiceId != 0) { - parseSubAggregate(serviceReferenceMap, serviceReferenceArray, frontServiceBucket, frontServiceId); + parseSubAggregate(serviceReferenceMap, frontServiceBucket, frontServiceId); } } @@ -128,15 +129,23 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO if (StringUtils.isNotEmpty(frontServiceName)) { String[] serviceNames = frontServiceName.split(Const.ID_SPLIT); int frontServiceId = ServiceIdCache.getForUI(Integer.parseInt(serviceNames[0]), serviceNames[1]); - parseSubAggregate(serviceReferenceMap, serviceReferenceArray, frontServiceBucket, frontServiceId); + parseSubAggregate(serviceReferenceMap, frontServiceBucket, frontServiceId); } } - serviceReferenceMap.values().forEach(serviceReferenceArray::add); + JsonArray serviceReferenceArray = new JsonArray(); + JsonObject rootServiceReference = findRoot(serviceReferenceMap); + if (ObjectUtils.isNotEmpty(rootServiceReference)) { + String id = rootServiceReference.get(ColumnNameUtils.INSTANCE.rename(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID)) + Const.ID_SPLIT + rootServiceReference.get(ColumnNameUtils.INSTANCE.rename(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID)); + serviceReferenceMap.remove(id); + + int rootServiceId = rootServiceReference.get(ColumnNameUtils.INSTANCE.rename(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID)).getAsInt(); + sortAsTree(rootServiceId, serviceReferenceArray, serviceReferenceMap); + } return serviceReferenceArray; } - private void parseSubAggregate(Map serviceReferenceMap, JsonArray serviceReferenceArray, + private void parseSubAggregate(Map serviceReferenceMap, Terms.Bucket frontServiceBucket, int frontServiceId) { Terms behindServiceIdTerms = frontServiceBucket.getAggregations().get(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID); @@ -232,4 +241,29 @@ public class ServiceReferenceEsDAO extends EsDAO implements IServiceReferenceDAO long newValue = newReference.get(key).getAsLong(); oldReference.addProperty(key, oldValue + newValue); } + + private JsonObject findRoot(Map serviceReferenceMap) { + for (JsonObject serviceReference : serviceReferenceMap.values()) { + int behindServiceId = serviceReference.get(ColumnNameUtils.INSTANCE.rename(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID)).getAsInt(); + if (behindServiceId == 1) { + return serviceReference; + } + } + return null; + } + + private void sortAsTree(int serviceId, JsonArray serviceReferenceArray, + Map serviceReferenceMap) { + Iterator iterator = serviceReferenceMap.values().iterator(); + while (iterator.hasNext()) { + JsonObject serviceReference = iterator.next(); + int frontServiceId = serviceReference.get(ColumnNameUtils.INSTANCE.rename(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID)).getAsInt(); + if (serviceId == frontServiceId) { + serviceReferenceArray.add(serviceReference); + + int behindServiceId = serviceReference.get(ColumnNameUtils.INSTANCE.rename(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID)).getAsInt(); + sortAsTree(behindServiceId, serviceReferenceArray, serviceReferenceMap); + } + } + } } From 9987f5f7aa6a08b30b66948f1b1d5f393b27946f Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Fri, 15 Sep 2017 23:27:46 +0800 Subject: [PATCH 2/5] Fixed #418, move the operation which create instances json array outside of for each function. --- .../apm/collector/ui/service/InstanceHealthService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java index a0434ed2a..a29e509cc 100644 --- a/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java +++ b/apm-collector/apm-collector-ui/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java @@ -28,11 +28,12 @@ public class InstanceHealthService { IInstanceDAO instanceDAO = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); List instanceList = instanceDAO.getInstances(applicationId, halfHourBeforeTimeBucket); + JsonArray instances = new JsonArray(); + response.add("instances", instances); + instanceList.forEach(instance -> { - JsonArray instances = new JsonArray(); response.addProperty("applicationCode", ApplicationCache.getForUI(applicationId)); response.addProperty("applicationId", applicationId); - response.add("instances", instances); IInstPerformanceDAO instPerformanceDAO = (IInstPerformanceDAO)DAOContainer.INSTANCE.get(IInstPerformanceDAO.class.getName()); IInstPerformanceDAO.InstPerformance performance = instPerformanceDAO.get(timeBuckets, instance.getInstanceId()); From e91e69f1f898070e1c85fbff4524a4172fcf0e98 Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Sat, 16 Sep 2017 00:27:37 +0800 Subject: [PATCH 3/5] Fixed #419, make agent jam, agent register as agent stream sub maven module. --- .../AgentJVMCommonModuleInstaller.java | 23 ----- .../agentjvm/AgentJVMModuleContext.java | 12 --- .../agentjvm/AgentJVMModuleDefine.java | 23 ----- .../agentjvm/AgentJVMModuleException.java | 16 --- .../agentjvm/AgentJVMModuleGroupDefine.java | 31 ------ .../agentjvm/grpc/AgentJVMGRPCConfig.java | 9 -- .../grpc/AgentJVMGRPCConfigParser.java | 30 ------ .../grpc/AgentJVMGRPCDataListener.java | 25 ----- .../grpc/AgentJVMGRPCModuleDefine.java | 51 ---------- .../grpc/AgentJVMGRPCModuleRegistration.java | 13 --- .../resources/META-INF/defines/group.define | 1 - .../resources/META-INF/defines/module.define | 1 - .../apm-collector-agentregister/pom.xml | 10 +- .../AgentRegisterCommonModuleInstaller.java | 23 ----- .../AgentRegisterModuleContext.java | 12 --- .../AgentRegisterModuleDefine.java | 23 ----- .../AgentRegisterModuleException.java | 16 --- .../AgentRegisterModuleGroupDefine.java | 31 ------ .../application/ApplicationIDService.java | 6 +- .../grpc/AgentRegisterGRPCConfig.java | 9 -- .../grpc/AgentRegisterGRPCConfigParser.java | 30 ------ .../grpc/AgentRegisterGRPCDataListener.java | 25 ----- .../grpc/AgentRegisterGRPCModuleDefine.java | 55 ----------- .../AgentRegisterGRPCModuleRegistration.java | 13 --- .../instance/InstanceIDService.java | 4 +- .../jetty/AgentRegisterJettyConfig.java | 10 -- .../jetty/AgentRegisterJettyConfigParser.java | 36 ------- .../jetty/AgentRegisterJettyDataListener.java | 25 ----- .../jetty/AgentRegisterJettyModuleDefine.java | 53 ---------- .../AgentRegisterJettyModuleRegistration.java | 13 --- .../ServiceNameDiscoveryServiceHandler.java | 59 +++++++++++ .../servicename/ServiceNameService.java | 4 +- .../agentregister/worker/IdAutoIncrement.java | 24 +++++ .../application/ApplicationEsTableDefine.java | 32 ++++++ .../application/ApplicationH2TableDefine.java | 20 ++++ .../ApplicationRegisterRemoteWorker.java | 65 ++++++++++++ .../ApplicationRegisterSerialWorker.java | 94 ++++++++++++++++++ .../application/dao/ApplicationEsDAO.java | 62 ++++++++++++ .../application/dao/ApplicationH2DAO.java | 28 ++++++ .../application/dao/IApplicationDAO.java | 16 +++ .../worker/cache/ApplicationCache.java | 35 +++++++ .../instance/InstanceEsTableDefine.java | 36 +++++++ .../instance/InstanceH2TableDefine.java | 24 +++++ .../InstanceRegisterRemoteWorker.java | 65 ++++++++++++ .../InstanceRegisterSerialWorker.java | 99 +++++++++++++++++++ .../worker/instance/dao/IInstanceDAO.java | 20 ++++ .../worker/instance/dao/InstanceEsDAO.java | 95 ++++++++++++++++++ .../worker/instance/dao/InstanceH2DAO.java | 33 +++++++ .../servicename/ServiceNameEsTableDefine.java | 33 +++++++ .../servicename/ServiceNameH2TableDefine.java | 21 ++++ .../ServiceNameRegisterRemoteWorker.java | 65 ++++++++++++ .../ServiceNameRegisterSerialWorker.java | 95 ++++++++++++++++++ .../servicename/dao/IServiceNameDAO.java | 18 ++++ .../servicename/dao/ServiceNameEsDAO.java | 78 +++++++++++++++ .../servicename/dao/ServiceNameH2DAO.java | 30 ++++++ .../resources/META-INF/defines/es_dao.define | 3 + .../resources/META-INF/defines/group.define | 1 - .../resources/META-INF/defines/h2_dao.define | 3 + .../defines/local_worker_provider.define | 3 + .../resources/META-INF/defines/module.define | 2 - .../resources/META-INF/defines/storage.define | 8 ++ .../apm-collector-agentstream/pom.xml | 10 ++ .../AgentStreamModuleGroupDefine.java | 4 +- .../AgentStreamModuleInstaller.java | 33 +++++++ .../grpc/AgentStreamGRPCModuleDefine.java | 8 ++ .../jetty/AgentStreamJettyModuleDefine.java | 6 ++ .../worker/cache/InstanceCache.java | 2 +- .../worker/cache/ServiceCache.java | 2 +- .../resources/META-INF/defines/es_dao.define | 3 - .../resources/META-INF/defines/h2_dao.define | 3 - .../defines/local_worker_provider.define | 4 - .../defines/remote_worker_provider.define | 6 +- .../resources/META-INF/defines/storage.define | 9 -- .../agentstream/mock/SegmentPost.java | 6 +- apm-collector/pom.xml | 1 + 75 files changed, 1244 insertions(+), 653 deletions(-) delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMCommonModuleInstaller.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleContext.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleDefine.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleException.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleGroupDefine.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfig.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfigParser.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCDataListener.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleDefine.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleRegistration.java delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/group.define delete mode 100644 apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/module.define delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterCommonModuleInstaller.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleContext.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleDefine.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleException.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleGroupDefine.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfig.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfigParser.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCDataListener.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleDefine.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleRegistration.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfig.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfigParser.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyDataListener.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleDefine.java delete mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleRegistration.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/handler/ServiceNameDiscoveryServiceHandler.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/IdAutoIncrement.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationH2TableDefine.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterRemoteWorker.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterSerialWorker.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationEsDAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationH2DAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/IApplicationDAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/cache/ApplicationCache.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceH2TableDefine.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterRemoteWorker.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterSerialWorker.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/IInstanceDAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceEsDAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceH2DAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameH2TableDefine.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterRemoteWorker.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterSerialWorker.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/IServiceNameDAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameEsDAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameH2DAO.java create mode 100644 apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/es_dao.define delete mode 100644 apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/group.define create mode 100644 apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/h2_dao.define create mode 100644 apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/local_worker_provider.define delete mode 100644 apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/module.define create mode 100644 apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/storage.define create mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleInstaller.java diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMCommonModuleInstaller.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMCommonModuleInstaller.java deleted file mode 100644 index 634e94d16..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMCommonModuleInstaller.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.agentjvm; - -import java.util.List; -import org.skywalking.apm.collector.core.framework.Context; -import org.skywalking.apm.collector.core.module.MultipleCommonModuleInstaller; - -/** - * @author pengys5 - */ -public class AgentJVMCommonModuleInstaller extends MultipleCommonModuleInstaller { - - @Override public String groupName() { - return AgentJVMModuleGroupDefine.GROUP_NAME; - } - - @Override public Context moduleContext() { - return new AgentJVMModuleContext(groupName()); - } - - @Override public List dependenceModules() { - return null; - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleContext.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleContext.java deleted file mode 100644 index 5152b68d6..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleContext.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.skywalking.apm.collector.agentjvm; - -import org.skywalking.apm.collector.core.framework.Context; - -/** - * @author pengys5 - */ -public class AgentJVMModuleContext extends Context { - public AgentJVMModuleContext(String groupName) { - super(groupName); - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleDefine.java deleted file mode 100644 index 4b5c26f96..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleDefine.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.agentjvm; - -import org.skywalking.apm.collector.core.client.Client; -import org.skywalking.apm.collector.core.cluster.ClusterDataListenerDefine; -import org.skywalking.apm.collector.core.module.ModuleDefine; - -/** - * @author pengys5 - */ -public abstract class AgentJVMModuleDefine extends ModuleDefine implements ClusterDataListenerDefine { - - @Override protected final Client createClient() { - throw new UnsupportedOperationException(""); - } - - @Override protected void initializeOtherContext() { - - } - - @Override public final boolean defaultModule() { - return true; - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleException.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleException.java deleted file mode 100644 index 6732f2636..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleException.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.skywalking.apm.collector.agentjvm; - -import org.skywalking.apm.collector.core.module.ModuleException; - -/** - * @author pengys5 - */ -public class AgentJVMModuleException extends ModuleException { - public AgentJVMModuleException(String message) { - super(message); - } - - public AgentJVMModuleException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleGroupDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleGroupDefine.java deleted file mode 100644 index 9faab6c30..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleGroupDefine.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.skywalking.apm.collector.agentjvm; - -import org.skywalking.apm.collector.core.framework.Context; -import org.skywalking.apm.collector.core.module.ModuleGroupDefine; -import org.skywalking.apm.collector.core.module.ModuleInstaller; - -/** - * @author pengys5 - */ -public class AgentJVMModuleGroupDefine implements ModuleGroupDefine { - - public static final String GROUP_NAME = "agent_jvm"; - - private final AgentJVMCommonModuleInstaller installer; - - public AgentJVMModuleGroupDefine() { - installer = new AgentJVMCommonModuleInstaller(); - } - - @Override public String name() { - return GROUP_NAME; - } - - @Override public Context groupContext() { - return new AgentJVMModuleContext(GROUP_NAME); - } - - @Override public ModuleInstaller moduleInstaller() { - return installer; - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfig.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfig.java deleted file mode 100644 index 1376814cd..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfig.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.skywalking.apm.collector.agentjvm.grpc; - -/** - * @author pengys5 - */ -public class AgentJVMGRPCConfig { - public static String HOST; - public static int PORT; -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfigParser.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfigParser.java deleted file mode 100644 index f66ea0a8a..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfigParser.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.skywalking.apm.collector.agentjvm.grpc; - -import java.util.Map; -import org.skywalking.apm.collector.core.config.ConfigParseException; -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.util.ObjectUtils; -import org.skywalking.apm.collector.core.util.StringUtils; - -/** - * @author pengys5 - */ -public class AgentJVMGRPCConfigParser implements ModuleConfigParser { - - private static final String HOST = "host"; - private static final String PORT = "port"; - - @Override public void parse(Map config) throws ConfigParseException { - if (ObjectUtils.isEmpty(config) || StringUtils.isEmpty(config.get(HOST))) { - AgentJVMGRPCConfig.HOST = "localhost"; - } else { - AgentJVMGRPCConfig.HOST = (String)config.get(HOST); - } - - if (ObjectUtils.isEmpty(config) || StringUtils.isEmpty(config.get(PORT))) { - AgentJVMGRPCConfig.PORT = 11800; - } else { - AgentJVMGRPCConfig.PORT = (Integer)config.get(PORT); - } - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCDataListener.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCDataListener.java deleted file mode 100644 index 45b21b59a..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCDataListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.agentjvm.grpc; - -import org.skywalking.apm.collector.agentjvm.AgentJVMModuleGroupDefine; -import org.skywalking.apm.collector.cluster.ClusterModuleDefine; -import org.skywalking.apm.collector.core.cluster.ClusterDataListener; - -/** - * @author pengys5 - */ -public class AgentJVMGRPCDataListener extends ClusterDataListener { - - public static final String PATH = ClusterModuleDefine.BASE_CATALOG + "." + AgentJVMModuleGroupDefine.GROUP_NAME + "." + AgentJVMGRPCModuleDefine.MODULE_NAME; - - @Override public String path() { - return PATH; - } - - @Override public void serverJoinNotify(String serverAddress) { - - } - - @Override public void serverQuitNotify(String serverAddress) { - - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleDefine.java deleted file mode 100644 index 358adedfb..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleDefine.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.skywalking.apm.collector.agentjvm.grpc; - -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.collector.agentjvm.AgentJVMModuleDefine; -import org.skywalking.apm.collector.agentjvm.AgentJVMModuleGroupDefine; -import org.skywalking.apm.collector.agentjvm.grpc.handler.JVMMetricsServiceHandler; -import org.skywalking.apm.collector.core.cluster.ClusterDataListener; -import org.skywalking.apm.collector.core.framework.Handler; -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.module.ModuleRegistration; -import org.skywalking.apm.collector.core.server.Server; -import org.skywalking.apm.collector.server.grpc.GRPCServer; - -/** - * @author pengys5 - */ -public class AgentJVMGRPCModuleDefine extends AgentJVMModuleDefine { - - public static final String MODULE_NAME = "grpc"; - - @Override protected String group() { - return AgentJVMModuleGroupDefine.GROUP_NAME; - } - - @Override public String name() { - return MODULE_NAME; - } - - @Override protected ModuleConfigParser configParser() { - return new AgentJVMGRPCConfigParser(); - } - - @Override protected Server server() { - return new GRPCServer(AgentJVMGRPCConfig.HOST, AgentJVMGRPCConfig.PORT); - } - - @Override protected ModuleRegistration registration() { - return new AgentJVMGRPCModuleRegistration(); - } - - @Override public ClusterDataListener listener() { - return new AgentJVMGRPCDataListener(); - } - - @Override public List handlerList() { - List handlers = new LinkedList<>(); - handlers.add(new JVMMetricsServiceHandler()); - return handlers; - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleRegistration.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleRegistration.java deleted file mode 100644 index ca249dea7..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleRegistration.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.agentjvm.grpc; - -import org.skywalking.apm.collector.core.module.ModuleRegistration; - -/** - * @author pengys5 - */ -public class AgentJVMGRPCModuleRegistration extends ModuleRegistration { - - @Override public Value buildValue() { - return new Value(AgentJVMGRPCConfig.HOST, AgentJVMGRPCConfig.PORT, null); - } -} diff --git a/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/group.define b/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/group.define deleted file mode 100644 index 0b2741b98..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/group.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.agentjvm.AgentJVMModuleGroupDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index 78d6e4a41..000000000 --- a/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.agentjvm.grpc.AgentJVMGRPCModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-agentregister/pom.xml b/apm-collector/apm-collector-agentregister/pom.xml index 258ffa456..da7f97c64 100644 --- a/apm-collector/apm-collector-agentregister/pom.xml +++ b/apm-collector/apm-collector-agentregister/pom.xml @@ -13,6 +13,11 @@ jar + + org.skywalking + apm-collector-stream + ${project.version} + org.skywalking apm-collector-cluster @@ -28,10 +33,5 @@ apm-network ${project.version} - - org.skywalking - apm-collector-agentstream - ${project.version} - \ No newline at end of file diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterCommonModuleInstaller.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterCommonModuleInstaller.java deleted file mode 100644 index 2d8850c61..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterCommonModuleInstaller.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.agentregister; - -import java.util.List; -import org.skywalking.apm.collector.core.framework.Context; -import org.skywalking.apm.collector.core.module.MultipleCommonModuleInstaller; - -/** - * @author pengys5 - */ -public class AgentRegisterCommonModuleInstaller extends MultipleCommonModuleInstaller { - - @Override public String groupName() { - return AgentRegisterModuleGroupDefine.GROUP_NAME; - } - - @Override public Context moduleContext() { - return new AgentRegisterModuleContext(groupName()); - } - - @Override public List dependenceModules() { - return null; - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleContext.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleContext.java deleted file mode 100644 index 0bea80ed0..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleContext.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.skywalking.apm.collector.agentregister; - -import org.skywalking.apm.collector.core.framework.Context; - -/** - * @author pengys5 - */ -public class AgentRegisterModuleContext extends Context { - public AgentRegisterModuleContext(String groupName) { - super(groupName); - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleDefine.java deleted file mode 100644 index fd627cd88..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleDefine.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.agentregister; - -import org.skywalking.apm.collector.core.client.Client; -import org.skywalking.apm.collector.core.cluster.ClusterDataListenerDefine; -import org.skywalking.apm.collector.core.module.ModuleDefine; - -/** - * @author pengys5 - */ -public abstract class AgentRegisterModuleDefine extends ModuleDefine implements ClusterDataListenerDefine { - - @Override protected void initializeOtherContext() { - - } - - @Override protected final Client createClient() { - throw new UnsupportedOperationException(""); - } - - @Override public final boolean defaultModule() { - return true; - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleException.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleException.java deleted file mode 100644 index 061937a7e..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleException.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.skywalking.apm.collector.agentregister; - -import org.skywalking.apm.collector.core.module.ModuleException; - -/** - * @author pengys5 - */ -public class AgentRegisterModuleException extends ModuleException { - public AgentRegisterModuleException(String message) { - super(message); - } - - public AgentRegisterModuleException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleGroupDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleGroupDefine.java deleted file mode 100644 index 0aa99ade7..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/AgentRegisterModuleGroupDefine.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.skywalking.apm.collector.agentregister; - -import org.skywalking.apm.collector.core.framework.Context; -import org.skywalking.apm.collector.core.module.ModuleGroupDefine; -import org.skywalking.apm.collector.core.module.ModuleInstaller; - -/** - * @author pengys5 - */ -public class AgentRegisterModuleGroupDefine implements ModuleGroupDefine { - - public static final String GROUP_NAME = "agent_register"; - - private final AgentRegisterCommonModuleInstaller installer; - - public AgentRegisterModuleGroupDefine() { - installer = new AgentRegisterCommonModuleInstaller(); - } - - @Override public String name() { - return GROUP_NAME; - } - - @Override public Context groupContext() { - return new AgentRegisterModuleContext(GROUP_NAME); - } - - @Override public ModuleInstaller moduleInstaller() { - return installer; - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/application/ApplicationIDService.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/application/ApplicationIDService.java index 438b43d8b..95aa422f8 100644 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/application/ApplicationIDService.java +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/application/ApplicationIDService.java @@ -1,9 +1,9 @@ package org.skywalking.apm.collector.agentregister.application; -import org.skywalking.apm.collector.agentstream.worker.cache.ApplicationCache; -import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; -import org.skywalking.apm.collector.agentstream.worker.register.application.ApplicationRegisterRemoteWorker; +import org.skywalking.apm.collector.agentregister.worker.application.ApplicationRegisterRemoteWorker; +import org.skywalking.apm.collector.agentregister.worker.cache.ApplicationCache; import org.skywalking.apm.collector.core.framework.CollectorContextHelper; +import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; import org.skywalking.apm.collector.stream.StreamModuleContext; import org.skywalking.apm.collector.stream.StreamModuleGroupDefine; import org.skywalking.apm.collector.stream.worker.WorkerInvokeException; diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfig.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfig.java deleted file mode 100644 index 2d2ad6bc7..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfig.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.skywalking.apm.collector.agentregister.grpc; - -/** - * @author pengys5 - */ -public class AgentRegisterGRPCConfig { - public static String HOST; - public static int PORT; -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfigParser.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfigParser.java deleted file mode 100644 index 90f0d39da..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCConfigParser.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.skywalking.apm.collector.agentregister.grpc; - -import java.util.Map; -import org.skywalking.apm.collector.core.config.ConfigParseException; -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.util.ObjectUtils; -import org.skywalking.apm.collector.core.util.StringUtils; - -/** - * @author pengys5 - */ -public class AgentRegisterGRPCConfigParser implements ModuleConfigParser { - - private static final String HOST = "host"; - private static final String PORT = "port"; - - @Override public void parse(Map config) throws ConfigParseException { - if (ObjectUtils.isEmpty(config) || StringUtils.isEmpty(config.get(HOST))) { - AgentRegisterGRPCConfig.HOST = "localhost"; - } else { - AgentRegisterGRPCConfig.HOST = (String)config.get(HOST); - } - - if (ObjectUtils.isEmpty(config) || StringUtils.isEmpty(config.get(PORT))) { - AgentRegisterGRPCConfig.PORT = 11800; - } else { - AgentRegisterGRPCConfig.PORT = (Integer)config.get(PORT); - } - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCDataListener.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCDataListener.java deleted file mode 100644 index 23667b5a7..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCDataListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.agentregister.grpc; - -import org.skywalking.apm.collector.agentregister.AgentRegisterModuleGroupDefine; -import org.skywalking.apm.collector.cluster.ClusterModuleDefine; -import org.skywalking.apm.collector.core.cluster.ClusterDataListener; - -/** - * @author pengys5 - */ -public class AgentRegisterGRPCDataListener extends ClusterDataListener { - - public static final String PATH = ClusterModuleDefine.BASE_CATALOG + "." + AgentRegisterModuleGroupDefine.GROUP_NAME + "." + AgentRegisterGRPCModuleDefine.MODULE_NAME; - - @Override public String path() { - return PATH; - } - - @Override public void serverJoinNotify(String serverAddress) { - - } - - @Override public void serverQuitNotify(String serverAddress) { - - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleDefine.java deleted file mode 100644 index 509009c37..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleDefine.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.skywalking.apm.collector.agentregister.grpc; - -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.collector.agentregister.AgentRegisterModuleDefine; -import org.skywalking.apm.collector.agentregister.AgentRegisterModuleGroupDefine; -import org.skywalking.apm.collector.agentregister.grpc.handler.ApplicationRegisterServiceHandler; -import org.skywalking.apm.collector.agentregister.grpc.handler.InstanceDiscoveryServiceHandler; -import org.skywalking.apm.collector.agentregister.grpc.handler.ServiceNameDiscoveryServiceHandler; -import org.skywalking.apm.collector.core.cluster.ClusterDataListener; -import org.skywalking.apm.collector.core.framework.Handler; -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.module.ModuleRegistration; -import org.skywalking.apm.collector.core.server.Server; -import org.skywalking.apm.collector.server.grpc.GRPCServer; - -/** - * @author pengys5 - */ -public class AgentRegisterGRPCModuleDefine extends AgentRegisterModuleDefine { - - public static final String MODULE_NAME = "grpc"; - - @Override protected String group() { - return AgentRegisterModuleGroupDefine.GROUP_NAME; - } - - @Override public String name() { - return MODULE_NAME; - } - - @Override protected ModuleConfigParser configParser() { - return new AgentRegisterGRPCConfigParser(); - } - - @Override protected Server server() { - return new GRPCServer(AgentRegisterGRPCConfig.HOST, AgentRegisterGRPCConfig.PORT); - } - - @Override protected ModuleRegistration registration() { - return new AgentRegisterGRPCModuleRegistration(); - } - - @Override public ClusterDataListener listener() { - return new AgentRegisterGRPCDataListener(); - } - - @Override public List handlerList() { - List handlers = new LinkedList<>(); - handlers.add(new ApplicationRegisterServiceHandler()); - handlers.add(new InstanceDiscoveryServiceHandler()); - handlers.add(new ServiceNameDiscoveryServiceHandler()); - return handlers; - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleRegistration.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleRegistration.java deleted file mode 100644 index bc97dba60..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/AgentRegisterGRPCModuleRegistration.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.agentregister.grpc; - -import org.skywalking.apm.collector.core.module.ModuleRegistration; - -/** - * @author pengys5 - */ -public class AgentRegisterGRPCModuleRegistration extends ModuleRegistration { - - @Override public Value buildValue() { - return new Value(AgentRegisterGRPCConfig.HOST, AgentRegisterGRPCConfig.PORT, null); - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/instance/InstanceIDService.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/instance/InstanceIDService.java index 85ba57eac..0fdf1ba16 100644 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/instance/InstanceIDService.java +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/instance/InstanceIDService.java @@ -1,7 +1,7 @@ package org.skywalking.apm.collector.agentregister.instance; -import org.skywalking.apm.collector.agentstream.worker.register.instance.InstanceRegisterRemoteWorker; -import org.skywalking.apm.collector.agentstream.worker.register.instance.dao.IInstanceDAO; +import org.skywalking.apm.collector.agentregister.worker.instance.InstanceRegisterRemoteWorker; +import org.skywalking.apm.collector.agentregister.worker.instance.dao.IInstanceDAO; import org.skywalking.apm.collector.core.framework.CollectorContextHelper; import org.skywalking.apm.collector.storage.dao.DAOContainer; import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfig.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfig.java deleted file mode 100644 index cf1e45207..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfig.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.skywalking.apm.collector.agentregister.jetty; - -/** - * @author pengys5 - */ -public class AgentRegisterJettyConfig { - public static String HOST; - public static int PORT; - public static String CONTEXT_PATH; -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfigParser.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfigParser.java deleted file mode 100644 index 65a10bebe..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyConfigParser.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.skywalking.apm.collector.agentregister.jetty; - -import java.util.Map; -import org.skywalking.apm.collector.core.config.ConfigParseException; -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.util.ObjectUtils; -import org.skywalking.apm.collector.core.util.StringUtils; - -/** - * @author pengys5 - */ -public class AgentRegisterJettyConfigParser implements ModuleConfigParser { - - private static final String HOST = "host"; - private static final String PORT = "port"; - public static final String CONTEXT_PATH = "contextPath"; - - @Override public void parse(Map config) throws ConfigParseException { - AgentRegisterJettyConfig.CONTEXT_PATH = "/"; - - if (ObjectUtils.isEmpty(config) || StringUtils.isEmpty(config.get(HOST))) { - AgentRegisterJettyConfig.HOST = "localhost"; - } else { - AgentRegisterJettyConfig.HOST = (String)config.get(HOST); - } - - if (ObjectUtils.isEmpty(config) || StringUtils.isEmpty(config.get(PORT))) { - AgentRegisterJettyConfig.PORT = 12800; - } else { - AgentRegisterJettyConfig.PORT = (Integer)config.get(PORT); - } - if (ObjectUtils.isNotEmpty(config) && StringUtils.isNotEmpty(config.get(CONTEXT_PATH))) { - AgentRegisterJettyConfig.CONTEXT_PATH = (String)config.get(CONTEXT_PATH); - } - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyDataListener.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyDataListener.java deleted file mode 100644 index aabcfa8a9..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyDataListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.agentregister.jetty; - -import org.skywalking.apm.collector.agentregister.AgentRegisterModuleGroupDefine; -import org.skywalking.apm.collector.cluster.ClusterModuleDefine; -import org.skywalking.apm.collector.core.cluster.ClusterDataListener; - -/** - * @author pengys5 - */ -public class AgentRegisterJettyDataListener extends ClusterDataListener { - - public static final String PATH = ClusterModuleDefine.BASE_CATALOG + "." + AgentRegisterModuleGroupDefine.GROUP_NAME + "." + AgentRegisterJettyModuleDefine.MODULE_NAME; - - @Override public String path() { - return PATH; - } - - @Override public void serverJoinNotify(String serverAddress) { - - } - - @Override public void serverQuitNotify(String serverAddress) { - - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleDefine.java deleted file mode 100644 index 413149d71..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleDefine.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.skywalking.apm.collector.agentregister.jetty; - -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.collector.agentregister.AgentRegisterModuleDefine; -import org.skywalking.apm.collector.agentregister.AgentRegisterModuleGroupDefine; -import org.skywalking.apm.collector.agentregister.jetty.handler.ApplicationRegisterServletHandler; -import org.skywalking.apm.collector.agentregister.jetty.handler.InstanceDiscoveryServletHandler; -import org.skywalking.apm.collector.core.cluster.ClusterDataListener; -import org.skywalking.apm.collector.core.framework.Handler; -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.module.ModuleRegistration; -import org.skywalking.apm.collector.core.server.Server; -import org.skywalking.apm.collector.server.jetty.JettyServer; - -/** - * @author pengys5 - */ -public class AgentRegisterJettyModuleDefine extends AgentRegisterModuleDefine { - - public static final String MODULE_NAME = "jetty"; - - @Override protected String group() { - return AgentRegisterModuleGroupDefine.GROUP_NAME; - } - - @Override public String name() { - return MODULE_NAME; - } - - @Override protected ModuleConfigParser configParser() { - return new AgentRegisterJettyConfigParser(); - } - - @Override protected Server server() { - return new JettyServer(AgentRegisterJettyConfig.HOST, AgentRegisterJettyConfig.PORT, AgentRegisterJettyConfig.CONTEXT_PATH); - } - - @Override protected ModuleRegistration registration() { - return new AgentRegisterJettyModuleRegistration(); - } - - @Override public ClusterDataListener listener() { - return new AgentRegisterJettyDataListener(); - } - - @Override public List handlerList() { - List handlers = new LinkedList<>(); - handlers.add(new ApplicationRegisterServletHandler()); - handlers.add(new InstanceDiscoveryServletHandler()); - return handlers; - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleRegistration.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleRegistration.java deleted file mode 100644 index d6e2d260a..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/AgentRegisterJettyModuleRegistration.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.agentregister.jetty; - -import org.skywalking.apm.collector.core.module.ModuleRegistration; - -/** - * @author pengys5 - */ -public class AgentRegisterJettyModuleRegistration extends ModuleRegistration { - - @Override public Value buildValue() { - return new Value(AgentRegisterJettyConfig.HOST, AgentRegisterJettyConfig.PORT, AgentRegisterJettyConfig.CONTEXT_PATH); - } -} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/handler/ServiceNameDiscoveryServiceHandler.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/handler/ServiceNameDiscoveryServiceHandler.java new file mode 100644 index 000000000..91aa68a2f --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/jetty/handler/ServiceNameDiscoveryServiceHandler.java @@ -0,0 +1,59 @@ +package org.skywalking.apm.collector.agentregister.jetty.handler; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import java.io.IOException; +import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.agentregister.servicename.ServiceNameService; +import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; +import org.skywalking.apm.collector.server.jetty.JettyHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ServiceNameDiscoveryServiceHandler extends JettyHandler { + + private final Logger logger = LoggerFactory.getLogger(ServiceNameDiscoveryServiceHandler.class); + + private ServiceNameService serviceNameService = new ServiceNameService(); + private Gson gson = new Gson(); + + @Override public String pathSpec() { + return "/servicename/discovery"; + } + + private static final String APPLICATION_ID = "ai"; + private static final String SERVICE_NAME = "sn"; + private static final String SERVICE_ID = "si"; + private static final String ELEMENT = "el"; + + @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { + throw new UnsupportedOperationException(); + } + + @Override protected JsonElement doPost(HttpServletRequest req) throws ArgumentsParseException { + JsonArray responseArray = new JsonArray(); + try { + JsonArray services = gson.fromJson(req.getReader(), JsonArray.class); + for (JsonElement service : services) { + int applicationId = service.getAsJsonObject().get(APPLICATION_ID).getAsInt(); + String serviceName = service.getAsJsonObject().get(SERVICE_NAME).getAsString(); + + int serviceId = serviceNameService.getOrCreate(applicationId, serviceName); + if (serviceId != 0) { + JsonObject responseJson = new JsonObject(); + responseJson.addProperty(SERVICE_ID, serviceId); + responseJson.add(ELEMENT, service); + responseArray.add(responseJson); + } + } + } catch (IOException e) { + logger.error(e.getMessage(), e); + } + return responseArray; + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/servicename/ServiceNameService.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/servicename/ServiceNameService.java index 25f092d85..ae5a51ef9 100644 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/servicename/ServiceNameService.java +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/servicename/ServiceNameService.java @@ -1,8 +1,8 @@ package org.skywalking.apm.collector.agentregister.servicename; import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; -import org.skywalking.apm.collector.agentstream.worker.register.servicename.ServiceNameRegisterRemoteWorker; -import org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.IServiceNameDAO; +import org.skywalking.apm.collector.agentregister.worker.servicename.ServiceNameRegisterRemoteWorker; +import org.skywalking.apm.collector.agentregister.worker.servicename.dao.IServiceNameDAO; import org.skywalking.apm.collector.core.framework.CollectorContextHelper; import org.skywalking.apm.collector.storage.dao.DAOContainer; import org.skywalking.apm.collector.stream.StreamModuleContext; diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/IdAutoIncrement.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/IdAutoIncrement.java new file mode 100644 index 000000000..808d53f65 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/IdAutoIncrement.java @@ -0,0 +1,24 @@ +package org.skywalking.apm.collector.agentregister.worker; + +/** + * @author pengys5 + */ +public enum IdAutoIncrement { + INSTANCE; + + public int increment(int min, int max) { + int instanceId; + if (min == max) { + instanceId = -1; + } else if (min + max == 0) { + instanceId = max + 1; + } else if (min + max > 0) { + instanceId = min - 1; + } else if (max < 0) { + instanceId = 1; + } else { + instanceId = max + 1; + } + return instanceId; + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java new file mode 100644 index 000000000..bde0c8496 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java @@ -0,0 +1,32 @@ +package org.skywalking.apm.collector.agentregister.worker.application; + +import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; +import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; +import org.skywalking.apm.collector.storage.define.register.ApplicationTable; + +/** + * @author pengys5 + */ +public class ApplicationEsTableDefine extends ElasticSearchTableDefine { + + public ApplicationEsTableDefine() { + super(ApplicationTable.TABLE); + } + + @Override public int refreshInterval() { + return 2; + } + + @Override public int numberOfShards() { + return 2; + } + + @Override public int numberOfReplicas() { + return 0; + } + + @Override public void initialize() { + addColumn(new ElasticSearchColumnDefine(ApplicationTable.COLUMN_APPLICATION_CODE, ElasticSearchColumnDefine.Type.Keyword.name())); + addColumn(new ElasticSearchColumnDefine(ApplicationTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationH2TableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationH2TableDefine.java new file mode 100644 index 000000000..cb3892cd2 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationH2TableDefine.java @@ -0,0 +1,20 @@ +package org.skywalking.apm.collector.agentregister.worker.application; + +import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; +import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; +import org.skywalking.apm.collector.storage.define.register.ApplicationTable; + +/** + * @author pengys5 + */ +public class ApplicationH2TableDefine extends H2TableDefine { + + public ApplicationH2TableDefine() { + super(ApplicationTable.TABLE); + } + + @Override public void initialize() { + addColumn(new H2ColumnDefine(ApplicationTable.COLUMN_APPLICATION_CODE, H2ColumnDefine.Type.Varchar.name())); + addColumn(new H2ColumnDefine(ApplicationTable.COLUMN_APPLICATION_ID, H2ColumnDefine.Type.Int.name())); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterRemoteWorker.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterRemoteWorker.java new file mode 100644 index 000000000..41f70e3c5 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterRemoteWorker.java @@ -0,0 +1,65 @@ +package org.skywalking.apm.collector.agentregister.worker.application; + +import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorkerProvider; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; +import org.skywalking.apm.collector.stream.worker.Role; +import org.skywalking.apm.collector.stream.worker.WorkerException; +import org.skywalking.apm.collector.storage.define.DataDefine; +import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ApplicationRegisterRemoteWorker extends AbstractRemoteWorker { + + private final Logger logger = LoggerFactory.getLogger(ApplicationRegisterRemoteWorker.class); + + protected ApplicationRegisterRemoteWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + } + + @Override protected void onWork(Object message) throws WorkerException { + ApplicationDataDefine.Application application = (ApplicationDataDefine.Application)message; + logger.debug("application code: {}", application.getApplicationCode()); + getClusterContext().lookup(ApplicationRegisterSerialWorker.WorkerRole.INSTANCE).tell(application); + } + + public static class Factory extends AbstractRemoteWorkerProvider { + @Override + public Role role() { + return WorkerRole.INSTANCE; + } + + @Override + public ApplicationRegisterRemoteWorker workerInstance(ClusterWorkerContext clusterContext) { + return new ApplicationRegisterRemoteWorker(role(), clusterContext); + } + } + + public enum WorkerRole implements Role { + INSTANCE; + + @Override + public String roleName() { + return ApplicationRegisterRemoteWorker.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new ForeverFirstSelector(); + } + + @Override public DataDefine dataDefine() { + return new ApplicationDataDefine(); + } + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterSerialWorker.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterSerialWorker.java new file mode 100644 index 000000000..caa3a3af1 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationRegisterSerialWorker.java @@ -0,0 +1,94 @@ +package org.skywalking.apm.collector.agentregister.worker.application; + +import org.skywalking.apm.collector.core.util.Const; +import org.skywalking.apm.collector.agentregister.worker.IdAutoIncrement; +import org.skywalking.apm.collector.agentregister.worker.application.dao.IApplicationDAO; +import org.skywalking.apm.collector.storage.dao.DAOContainer; +import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; +import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorker; +import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorkerProvider; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; +import org.skywalking.apm.collector.stream.worker.Role; +import org.skywalking.apm.collector.stream.worker.WorkerException; +import org.skywalking.apm.collector.storage.define.DataDefine; +import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ApplicationRegisterSerialWorker extends AbstractLocalAsyncWorker { + + private final Logger logger = LoggerFactory.getLogger(ApplicationRegisterSerialWorker.class); + + public ApplicationRegisterSerialWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + super.preStart(); + } + + @Override protected void onWork(Object message) throws WorkerException { + if (message instanceof ApplicationDataDefine.Application) { + ApplicationDataDefine.Application application = (ApplicationDataDefine.Application)message; + logger.debug("register application, application code: {}", application.getApplicationCode()); + + IApplicationDAO dao = (IApplicationDAO)DAOContainer.INSTANCE.get(IApplicationDAO.class.getName()); + int applicationId = dao.getApplicationId(application.getApplicationCode()); + if (applicationId == 0) { + int min = dao.getMinApplicationId(); + if (min == 0) { + ApplicationDataDefine.Application userApplication = new ApplicationDataDefine.Application(String.valueOf(Const.USER_ID), Const.USER_CODE, Const.USER_ID); + dao.save(userApplication); + + application.setApplicationId(-1); + application.setId("-1"); + } else { + int max = dao.getMaxApplicationId(); + applicationId = IdAutoIncrement.INSTANCE.increment(min, max); + application.setApplicationId(applicationId); + application.setId(String.valueOf(applicationId)); + } + dao.save(application); + } + } + } + + public static class Factory extends AbstractLocalAsyncWorkerProvider { + @Override + public Role role() { + return WorkerRole.INSTANCE; + } + + @Override + public ApplicationRegisterSerialWorker workerInstance(ClusterWorkerContext clusterContext) { + return new ApplicationRegisterSerialWorker(role(), clusterContext); + } + + @Override public int queueSize() { + return 256; + } + } + + public enum WorkerRole implements Role { + INSTANCE; + + @Override + public String roleName() { + return ApplicationRegisterSerialWorker.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new ForeverFirstSelector(); + } + + @Override public DataDefine dataDefine() { + return new ApplicationDataDefine(); + } + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationEsDAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationEsDAO.java new file mode 100644 index 000000000..76ad11394 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationEsDAO.java @@ -0,0 +1,62 @@ +package org.skywalking.apm.collector.agentregister.worker.application.dao; + +import java.util.HashMap; +import java.util.Map; +import org.elasticsearch.action.index.IndexResponse; +import org.elasticsearch.action.search.SearchRequestBuilder; +import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.action.search.SearchType; +import org.elasticsearch.action.support.WriteRequest; +import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.search.SearchHit; +import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; +import org.skywalking.apm.collector.storage.define.register.ApplicationTable; +import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ApplicationEsDAO extends EsDAO implements IApplicationDAO { + + private final Logger logger = LoggerFactory.getLogger(ApplicationEsDAO.class); + + @Override public int getApplicationId(String applicationCode) { + ElasticSearchClient client = getClient(); + + SearchRequestBuilder searchRequestBuilder = client.prepareSearch(ApplicationTable.TABLE); + searchRequestBuilder.setTypes("type"); + searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH); + searchRequestBuilder.setQuery(QueryBuilders.termQuery(ApplicationTable.COLUMN_APPLICATION_CODE, applicationCode)); + searchRequestBuilder.setSize(1); + + SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); + if (searchResponse.getHits().totalHits > 0) { + SearchHit searchHit = searchResponse.getHits().iterator().next(); + int applicationId = (int)searchHit.getSource().get(ApplicationTable.COLUMN_APPLICATION_ID); + return applicationId; + } + return 0; + } + + @Override public int getMaxApplicationId() { + return getMaxId(ApplicationTable.TABLE, ApplicationTable.COLUMN_APPLICATION_ID); + } + + @Override public int getMinApplicationId() { + return getMinId(ApplicationTable.TABLE, ApplicationTable.COLUMN_APPLICATION_ID); + } + + @Override public void save(ApplicationDataDefine.Application application) { + logger.debug("save application register info, application id: {}, application code: {}", application.getApplicationId(), application.getApplicationCode()); + ElasticSearchClient client = getClient(); + Map source = new HashMap(); + source.put(ApplicationTable.COLUMN_APPLICATION_CODE, application.getApplicationCode()); + source.put(ApplicationTable.COLUMN_APPLICATION_ID, application.getApplicationId()); + + IndexResponse response = client.prepareIndex(ApplicationTable.TABLE, application.getId()).setSource(source).setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE).get(); + logger.debug("save application register info, application id: {}, application code: {}, status: {}", application.getApplicationId(), application.getApplicationCode(), response.status().name()); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationH2DAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationH2DAO.java new file mode 100644 index 000000000..0081c0294 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/ApplicationH2DAO.java @@ -0,0 +1,28 @@ +package org.skywalking.apm.collector.agentregister.worker.application.dao; + +import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; +import org.skywalking.apm.collector.client.h2.H2Client; +import org.skywalking.apm.collector.storage.h2.dao.H2DAO; + +/** + * @author pengys5 + */ +public class ApplicationH2DAO extends H2DAO implements IApplicationDAO { + + @Override public int getApplicationId(String applicationCode) { + H2Client client = getClient(); + return 100; + } + + @Override public int getMaxApplicationId() { + return 0; + } + + @Override public int getMinApplicationId() { + return 0; + } + + @Override public void save(ApplicationDataDefine.Application application) { + + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/IApplicationDAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/IApplicationDAO.java new file mode 100644 index 000000000..d85e8407d --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/dao/IApplicationDAO.java @@ -0,0 +1,16 @@ +package org.skywalking.apm.collector.agentregister.worker.application.dao; + +import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; + +/** + * @author pengys5 + */ +public interface IApplicationDAO { + int getApplicationId(String applicationCode); + + int getMaxApplicationId(); + + int getMinApplicationId(); + + void save(ApplicationDataDefine.Application application); +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/cache/ApplicationCache.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/cache/ApplicationCache.java new file mode 100644 index 000000000..148991ce9 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/cache/ApplicationCache.java @@ -0,0 +1,35 @@ +package org.skywalking.apm.collector.agentregister.worker.cache; + +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; +import org.skywalking.apm.collector.agentregister.worker.application.dao.IApplicationDAO; +import org.skywalking.apm.collector.storage.dao.DAOContainer; + +/** + * @author pengys5 + */ +public class ApplicationCache { + + private static Cache CACHE = CacheBuilder.newBuilder().initialCapacity(100).maximumSize(1000).build(); + + public static int get(String applicationCode) { + int applicationId = 0; + try { + applicationId = CACHE.get(applicationCode, () -> { + IApplicationDAO dao = (IApplicationDAO)DAOContainer.INSTANCE.get(IApplicationDAO.class.getName()); + return dao.getApplicationId(applicationCode); + }); + } catch (Throwable e) { + return applicationId; + } + + if (applicationId == 0) { + IApplicationDAO dao = (IApplicationDAO)DAOContainer.INSTANCE.get(IApplicationDAO.class.getName()); + applicationId = dao.getApplicationId(applicationCode); + if (applicationId != 0) { + CACHE.put(applicationCode, applicationId); + } + } + return applicationId; + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java new file mode 100644 index 000000000..e60e56345 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java @@ -0,0 +1,36 @@ +package org.skywalking.apm.collector.agentregister.worker.instance; + +import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; +import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; +import org.skywalking.apm.collector.storage.define.register.InstanceTable; + +/** + * @author pengys5 + */ +public class InstanceEsTableDefine extends ElasticSearchTableDefine { + + public InstanceEsTableDefine() { + super(InstanceTable.TABLE); + } + + @Override public int refreshInterval() { + return 2; + } + + @Override public int numberOfShards() { + return 2; + } + + @Override public int numberOfReplicas() { + return 0; + } + + @Override public void initialize() { + addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.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())); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceH2TableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceH2TableDefine.java new file mode 100644 index 000000000..1788de6b4 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceH2TableDefine.java @@ -0,0 +1,24 @@ +package org.skywalking.apm.collector.agentregister.worker.instance; + +import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; +import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; +import org.skywalking.apm.collector.storage.define.register.InstanceTable; + +/** + * @author pengys5 + */ +public class InstanceH2TableDefine extends H2TableDefine { + + public InstanceH2TableDefine() { + super(InstanceTable.TABLE); + } + + @Override public void initialize() { + addColumn(new H2ColumnDefine(InstanceTable.COLUMN_APPLICATION_ID, H2ColumnDefine.Type.Int.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())); + addColumn(new H2ColumnDefine(InstanceTable.COLUMN_HEARTBEAT_TIME, H2ColumnDefine.Type.Bigint.name())); + addColumn(new H2ColumnDefine(InstanceTable.COLUMN_OS_INFO, H2ColumnDefine.Type.Varchar.name())); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterRemoteWorker.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterRemoteWorker.java new file mode 100644 index 000000000..022114af8 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterRemoteWorker.java @@ -0,0 +1,65 @@ +package org.skywalking.apm.collector.agentregister.worker.instance; + +import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorkerProvider; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; +import org.skywalking.apm.collector.stream.worker.Role; +import org.skywalking.apm.collector.stream.worker.WorkerException; +import org.skywalking.apm.collector.storage.define.DataDefine; +import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class InstanceRegisterRemoteWorker extends AbstractRemoteWorker { + + private final Logger logger = LoggerFactory.getLogger(InstanceRegisterRemoteWorker.class); + + protected InstanceRegisterRemoteWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + } + + @Override protected void onWork(Object message) throws WorkerException { + InstanceDataDefine.Instance instance = (InstanceDataDefine.Instance)message; + logger.debug("application id: {}, agentUUID: {}, register time: {}", instance.getApplicationId(), instance.getAgentUUID(), instance.getRegisterTime()); + getClusterContext().lookup(InstanceRegisterSerialWorker.WorkerRole.INSTANCE).tell(instance); + } + + public static class Factory extends AbstractRemoteWorkerProvider { + @Override + public Role role() { + return WorkerRole.INSTANCE; + } + + @Override + public InstanceRegisterRemoteWorker workerInstance(ClusterWorkerContext clusterContext) { + return new InstanceRegisterRemoteWorker(role(), clusterContext); + } + } + + public enum WorkerRole implements Role { + INSTANCE; + + @Override + public String roleName() { + return InstanceRegisterRemoteWorker.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new ForeverFirstSelector(); + } + + @Override public DataDefine dataDefine() { + return new InstanceDataDefine(); + } + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterSerialWorker.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterSerialWorker.java new file mode 100644 index 000000000..bea9b677e --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceRegisterSerialWorker.java @@ -0,0 +1,99 @@ +package org.skywalking.apm.collector.agentregister.worker.instance; + +import org.skywalking.apm.collector.agentregister.worker.instance.dao.IInstanceDAO; +import org.skywalking.apm.collector.storage.dao.DAOContainer; +import org.skywalking.apm.collector.storage.define.DataDefine; +import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; +import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; +import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorker; +import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorkerProvider; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; +import org.skywalking.apm.collector.stream.worker.Role; +import org.skywalking.apm.collector.stream.worker.WorkerException; +import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class InstanceRegisterSerialWorker extends AbstractLocalAsyncWorker { + + private final Logger logger = LoggerFactory.getLogger(InstanceRegisterSerialWorker.class); + + public InstanceRegisterSerialWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + super.preStart(); + } + + @Override protected void onWork(Object message) throws WorkerException { + if (message instanceof InstanceDataDefine.Instance) { + InstanceDataDefine.Instance instance = (InstanceDataDefine.Instance)message; + logger.debug("register instance, application id: {}, agentUUID: {}", instance.getApplicationId(), instance.getAgentUUID()); + + IInstanceDAO dao = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); + int instanceId = dao.getInstanceId(instance.getApplicationId(), instance.getAgentUUID()); + if (instanceId == 0) { +// int min = dao.getMinInstanceId(); +// if (min == 0) { +// instance.setId("1"); +// instance.setInstanceId(1); +// } else { +// int max = dao.getMaxInstanceId(); +// instanceId = IdAutoIncrement.INSTANCE.increment(min, max); +// instance.setId(String.valueOf(instanceId)); +// instance.setInstanceId(instanceId); +// } + int max = dao.getMaxInstanceId(); + if (max == 0) { + instance.setId("1"); + instance.setInstanceId(1); + } else { + instance.setId(String.valueOf(max + 1)); + instance.setInstanceId(max + 1); + } + + dao.save(instance); + } + } + } + + public static class Factory extends AbstractLocalAsyncWorkerProvider { + @Override + public Role role() { + return WorkerRole.INSTANCE; + } + + @Override + public InstanceRegisterSerialWorker workerInstance(ClusterWorkerContext clusterContext) { + return new InstanceRegisterSerialWorker(role(), clusterContext); + } + + @Override public int queueSize() { + return 256; + } + } + + public enum WorkerRole implements Role { + INSTANCE; + + @Override + public String roleName() { + return InstanceRegisterSerialWorker.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new ForeverFirstSelector(); + } + + @Override public DataDefine dataDefine() { + return new ApplicationDataDefine(); + } + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/IInstanceDAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/IInstanceDAO.java new file mode 100644 index 000000000..2f3b08c85 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/IInstanceDAO.java @@ -0,0 +1,20 @@ +package org.skywalking.apm.collector.agentregister.worker.instance.dao; + +import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; + +/** + * @author pengys5 + */ +public interface IInstanceDAO { + int getInstanceId(int applicationId, String agentUUID); + + int getMaxInstanceId(); + + int getMinInstanceId(); + + void save(InstanceDataDefine.Instance instance); + + void updateHeartbeatTime(int instanceId, long heartbeatTime); + + int getApplicationId(int applicationInstanceId); +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceEsDAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceEsDAO.java new file mode 100644 index 000000000..3de62b1ce --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceEsDAO.java @@ -0,0 +1,95 @@ +package org.skywalking.apm.collector.agentregister.worker.instance.dao; + +import java.util.HashMap; +import java.util.Map; +import org.elasticsearch.action.get.GetResponse; +import org.elasticsearch.action.index.IndexResponse; +import org.elasticsearch.action.search.SearchRequestBuilder; +import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.action.search.SearchType; +import org.elasticsearch.action.support.WriteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.index.query.BoolQueryBuilder; +import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.search.SearchHit; +import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; +import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; +import org.skywalking.apm.collector.storage.define.register.InstanceTable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class InstanceEsDAO extends EsDAO implements IInstanceDAO { + + private final Logger logger = LoggerFactory.getLogger(InstanceEsDAO.class); + + @Override public int getInstanceId(int applicationId, String agentUUID) { + ElasticSearchClient client = getClient(); + + SearchRequestBuilder searchRequestBuilder = client.prepareSearch(InstanceTable.TABLE); + searchRequestBuilder.setTypes("type"); + searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH); + BoolQueryBuilder builder = QueryBuilders.boolQuery(); + builder.must().add(QueryBuilders.termQuery(InstanceTable.COLUMN_APPLICATION_ID, applicationId)); + builder.must().add(QueryBuilders.termQuery(InstanceTable.COLUMN_AGENT_UUID, agentUUID)); + searchRequestBuilder.setQuery(builder); + searchRequestBuilder.setSize(1); + + SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); + if (searchResponse.getHits().totalHits > 0) { + SearchHit searchHit = searchResponse.getHits().iterator().next(); + return (int)searchHit.getSource().get(InstanceTable.COLUMN_INSTANCE_ID); + } + return 0; + } + + @Override public int getMaxInstanceId() { + return getMaxId(InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID); + } + + @Override public int getMinInstanceId() { + return getMinId(InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID); + } + + @Override public void save(InstanceDataDefine.Instance instance) { + logger.debug("save instance register info, application id: {}, agentUUID: {}", instance.getApplicationId(), instance.getAgentUUID()); + ElasticSearchClient client = getClient(); + Map source = new HashMap<>(); + source.put(InstanceTable.COLUMN_INSTANCE_ID, instance.getInstanceId()); + source.put(InstanceTable.COLUMN_APPLICATION_ID, instance.getApplicationId()); + source.put(InstanceTable.COLUMN_AGENT_UUID, instance.getAgentUUID()); + source.put(InstanceTable.COLUMN_REGISTER_TIME, instance.getRegisterTime()); + source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, instance.getHeartBeatTime()); + source.put(InstanceTable.COLUMN_OS_INFO, instance.getOsInfo()); + + IndexResponse response = client.prepareIndex(InstanceTable.TABLE, instance.getId()).setSource(source).setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE).get(); + logger.debug("save instance register info, application id: {}, agentUUID: {}, status: {}", instance.getApplicationId(), instance.getAgentUUID(), response.status().name()); + } + + @Override public void updateHeartbeatTime(int instanceId, long heartbeatTime) { + ElasticSearchClient client = getClient(); + UpdateRequest updateRequest = new UpdateRequest(); + updateRequest.index(InstanceTable.TABLE); + updateRequest.type("type"); + updateRequest.id(String.valueOf(instanceId)); + updateRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE); + + Map source = new HashMap<>(); + source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, heartbeatTime); + + updateRequest.doc(source); + client.update(updateRequest); + } + + @Override public int getApplicationId(int applicationInstanceId) { + GetResponse response = getClient().prepareGet(InstanceTable.TABLE, String.valueOf(applicationInstanceId)).get(); + if (response.isExists()) { + return (int)response.getSource().get(InstanceTable.COLUMN_APPLICATION_ID); + } else { + return 0; + } + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceH2DAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceH2DAO.java new file mode 100644 index 000000000..c11920a7a --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/dao/InstanceH2DAO.java @@ -0,0 +1,33 @@ +package org.skywalking.apm.collector.agentregister.worker.instance.dao; + +import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; +import org.skywalking.apm.collector.storage.h2.dao.H2DAO; + +/** + * @author pengys5 + */ +public class InstanceH2DAO extends H2DAO implements IInstanceDAO { + @Override public int getInstanceId(int applicationId, String agentUUID) { + return 0; + } + + @Override public int getMaxInstanceId() { + return 0; + } + + @Override public int getMinInstanceId() { + return 0; + } + + @Override public void save(InstanceDataDefine.Instance instance) { + + } + + @Override public void updateHeartbeatTime(int instanceId, long heartbeatTime) { + + } + + @Override public int getApplicationId(int applicationInstanceId) { + return 0; + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java new file mode 100644 index 000000000..bc61315b5 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java @@ -0,0 +1,33 @@ +package org.skywalking.apm.collector.agentregister.worker.servicename; + +import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; +import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; +import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; + +/** + * @author pengys5 + */ +public class ServiceNameEsTableDefine extends ElasticSearchTableDefine { + + public ServiceNameEsTableDefine() { + super(ServiceNameTable.TABLE); + } + + @Override public int refreshInterval() { + return 2; + } + + @Override public int numberOfShards() { + return 2; + } + + @Override public int numberOfReplicas() { + return 0; + } + + @Override public void initialize() { + addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); + addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_SERVICE_NAME, ElasticSearchColumnDefine.Type.Keyword.name())); + addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_SERVICE_ID, ElasticSearchColumnDefine.Type.Integer.name())); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameH2TableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameH2TableDefine.java new file mode 100644 index 000000000..23cec8fc3 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameH2TableDefine.java @@ -0,0 +1,21 @@ +package org.skywalking.apm.collector.agentregister.worker.servicename; + +import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; +import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; +import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; + +/** + * @author pengys5 + */ +public class ServiceNameH2TableDefine extends H2TableDefine { + + public ServiceNameH2TableDefine() { + super(ServiceNameTable.TABLE); + } + + @Override public void initialize() { + addColumn(new H2ColumnDefine(ServiceNameTable.COLUMN_APPLICATION_ID, H2ColumnDefine.Type.Int.name())); + addColumn(new H2ColumnDefine(ServiceNameTable.COLUMN_SERVICE_NAME, H2ColumnDefine.Type.Varchar.name())); + addColumn(new H2ColumnDefine(ServiceNameTable.COLUMN_SERVICE_ID, H2ColumnDefine.Type.Int.name())); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterRemoteWorker.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterRemoteWorker.java new file mode 100644 index 000000000..03e9b90b5 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterRemoteWorker.java @@ -0,0 +1,65 @@ +package org.skywalking.apm.collector.agentregister.worker.servicename; + +import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorkerProvider; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; +import org.skywalking.apm.collector.stream.worker.Role; +import org.skywalking.apm.collector.stream.worker.WorkerException; +import org.skywalking.apm.collector.storage.define.DataDefine; +import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ServiceNameRegisterRemoteWorker extends AbstractRemoteWorker { + + private final Logger logger = LoggerFactory.getLogger(ServiceNameRegisterRemoteWorker.class); + + protected ServiceNameRegisterRemoteWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + } + + @Override protected void onWork(Object message) throws WorkerException { + ServiceNameDataDefine.ServiceName serviceName = (ServiceNameDataDefine.ServiceName)message; + logger.debug("service name: {}", serviceName.getServiceName()); + getClusterContext().lookup(ServiceNameRegisterSerialWorker.WorkerRole.INSTANCE).tell(serviceName); + } + + public static class Factory extends AbstractRemoteWorkerProvider { + @Override + public Role role() { + return WorkerRole.INSTANCE; + } + + @Override + public ServiceNameRegisterRemoteWorker workerInstance(ClusterWorkerContext clusterContext) { + return new ServiceNameRegisterRemoteWorker(role(), clusterContext); + } + } + + public enum WorkerRole implements Role { + INSTANCE; + + @Override + public String roleName() { + return ServiceNameRegisterRemoteWorker.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new ForeverFirstSelector(); + } + + @Override public DataDefine dataDefine() { + return new ServiceNameDataDefine(); + } + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterSerialWorker.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterSerialWorker.java new file mode 100644 index 000000000..1c8e0c6c4 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameRegisterSerialWorker.java @@ -0,0 +1,95 @@ +package org.skywalking.apm.collector.agentregister.worker.servicename; + +import org.skywalking.apm.collector.agentregister.worker.IdAutoIncrement; +import org.skywalking.apm.collector.agentregister.worker.servicename.dao.IServiceNameDAO; +import org.skywalking.apm.collector.core.util.Const; +import org.skywalking.apm.collector.storage.dao.DAOContainer; +import org.skywalking.apm.collector.storage.define.DataDefine; +import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; +import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorker; +import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorkerProvider; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; +import org.skywalking.apm.collector.stream.worker.Role; +import org.skywalking.apm.collector.stream.worker.WorkerException; +import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ServiceNameRegisterSerialWorker extends AbstractLocalAsyncWorker { + + private final Logger logger = LoggerFactory.getLogger(ServiceNameRegisterSerialWorker.class); + + public ServiceNameRegisterSerialWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + super.preStart(); + } + + @Override protected void onWork(Object message) throws WorkerException { + if (message instanceof ServiceNameDataDefine.ServiceName) { + ServiceNameDataDefine.ServiceName serviceName = (ServiceNameDataDefine.ServiceName)message; + logger.debug("register service name: {}, application id: {}", serviceName.getServiceName(), serviceName.getApplicationId()); + + IServiceNameDAO dao = (IServiceNameDAO)DAOContainer.INSTANCE.get(IServiceNameDAO.class.getName()); + int serviceId = dao.getServiceId(serviceName.getApplicationId(), serviceName.getServiceName()); + + if (serviceId == 0) { + int min = dao.getMinServiceId(); + if (min == 0) { + ServiceNameDataDefine.ServiceName noneServiceName = new ServiceNameDataDefine.ServiceName("1", Const.NONE_SERVICE_NAME, 0, Const.NONE_SERVICE_ID); + dao.save(noneServiceName); + + serviceName.setServiceId(-1); + serviceName.setId("-1"); + } else { + int max = dao.getMaxServiceId(); + serviceId = IdAutoIncrement.INSTANCE.increment(min, max); + serviceName.setId(String.valueOf(serviceId)); + serviceName.setServiceId(serviceId); + } + dao.save(serviceName); + } + } + } + + public static class Factory extends AbstractLocalAsyncWorkerProvider { + @Override + public Role role() { + return WorkerRole.INSTANCE; + } + + @Override + public ServiceNameRegisterSerialWorker workerInstance(ClusterWorkerContext clusterContext) { + return new ServiceNameRegisterSerialWorker(role(), clusterContext); + } + + @Override public int queueSize() { + return 256; + } + } + + public enum WorkerRole implements Role { + INSTANCE; + + @Override + public String roleName() { + return ServiceNameRegisterSerialWorker.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new ForeverFirstSelector(); + } + + @Override public DataDefine dataDefine() { + return new ServiceNameDataDefine(); + } + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/IServiceNameDAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/IServiceNameDAO.java new file mode 100644 index 000000000..c4b8635fa --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/IServiceNameDAO.java @@ -0,0 +1,18 @@ +package org.skywalking.apm.collector.agentregister.worker.servicename.dao; + +import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; + +/** + * @author pengys5 + */ +public interface IServiceNameDAO { + int getServiceId(int applicationId, String serviceName); + + String getServiceName(int serviceId); + + int getMaxServiceId(); + + int getMinServiceId(); + + void save(ServiceNameDataDefine.ServiceName serviceName); +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameEsDAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameEsDAO.java new file mode 100644 index 000000000..dbc3f6be9 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameEsDAO.java @@ -0,0 +1,78 @@ +package org.skywalking.apm.collector.agentregister.worker.servicename.dao; + +import java.util.HashMap; +import java.util.Map; +import org.elasticsearch.action.get.GetResponse; +import org.elasticsearch.action.index.IndexResponse; +import org.elasticsearch.action.search.SearchRequestBuilder; +import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.action.search.SearchType; +import org.elasticsearch.action.support.WriteRequest; +import org.elasticsearch.index.query.BoolQueryBuilder; +import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.search.SearchHit; +import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; +import org.skywalking.apm.collector.core.util.Const; +import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; +import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; +import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ServiceNameEsDAO extends EsDAO implements IServiceNameDAO { + + private final Logger logger = LoggerFactory.getLogger(ServiceNameEsDAO.class); + + @Override public int getServiceId(int applicationId, String serviceName) { + ElasticSearchClient client = getClient(); + + SearchRequestBuilder searchRequestBuilder = client.prepareSearch(ServiceNameTable.TABLE); + searchRequestBuilder.setTypes(ServiceNameTable.TABLE_TYPE); + searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH); + BoolQueryBuilder builder = QueryBuilders.boolQuery(); + builder.must().add(QueryBuilders.termQuery(ServiceNameTable.COLUMN_APPLICATION_ID, applicationId)); + builder.must().add(QueryBuilders.termQuery(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName)); + searchRequestBuilder.setQuery(builder); + searchRequestBuilder.setSize(1); + + SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); + if (searchResponse.getHits().totalHits > 0) { + SearchHit searchHit = searchResponse.getHits().iterator().next(); + int serviceId = (int)searchHit.getSource().get(ServiceNameTable.COLUMN_SERVICE_ID); + return serviceId; + } + return 0; + } + + @Override public int getMaxServiceId() { + return getMaxId(ServiceNameTable.TABLE, ServiceNameTable.COLUMN_SERVICE_ID); + } + + @Override public int getMinServiceId() { + return getMinId(ServiceNameTable.TABLE, ServiceNameTable.COLUMN_SERVICE_ID); + } + + @Override public String getServiceName(int serviceId) { + GetResponse response = getClient().prepareGet(ServiceNameTable.TABLE, String.valueOf(serviceId)).get(); + if (response.isExists()) { + return (String)response.getSource().get(ServiceNameTable.COLUMN_SERVICE_NAME); + } else { + return Const.EMPTY_STRING; + } + } + + @Override public void save(ServiceNameDataDefine.ServiceName serviceName) { + logger.debug("save service name register info, application id: {}, service name: {}", serviceName.getApplicationId(), serviceName.getServiceName()); + ElasticSearchClient client = getClient(); + Map source = new HashMap(); + source.put(ServiceNameTable.COLUMN_SERVICE_ID, serviceName.getServiceId()); + source.put(ServiceNameTable.COLUMN_APPLICATION_ID, serviceName.getApplicationId()); + source.put(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName.getServiceName()); + + IndexResponse response = client.prepareIndex(ServiceNameTable.TABLE, serviceName.getId()).setSource(source).setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE).get(); + logger.debug("save service name register info, application id: {}, service name: {}, status: {}", serviceName.getApplicationId(), serviceName.getServiceName(), response.status().name()); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameH2DAO.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameH2DAO.java new file mode 100644 index 000000000..1c463e798 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/dao/ServiceNameH2DAO.java @@ -0,0 +1,30 @@ +package org.skywalking.apm.collector.agentregister.worker.servicename.dao; + +import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; +import org.skywalking.apm.collector.storage.h2.dao.H2DAO; + +/** + * @author pengys5 + */ +public class ServiceNameH2DAO extends H2DAO implements IServiceNameDAO { + + @Override public int getServiceId(int applicationId, String serviceName) { + return 0; + } + + @Override public int getMaxServiceId() { + return 0; + } + + @Override public int getMinServiceId() { + return 0; + } + + @Override public String getServiceName(int serviceId) { + return null; + } + + @Override public void save(ServiceNameDataDefine.ServiceName serviceName) { + + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/es_dao.define b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/es_dao.define new file mode 100644 index 000000000..90d0e020d --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/es_dao.define @@ -0,0 +1,3 @@ +org.skywalking.apm.collector.agentregister.worker.application.dao.ApplicationEsDAO +org.skywalking.apm.collector.agentregister.worker.instance.dao.InstanceEsDAO +org.skywalking.apm.collector.agentregister.worker.servicename.dao.ServiceNameEsDAO \ No newline at end of file diff --git a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/group.define b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/group.define deleted file mode 100644 index 0afe036bd..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/group.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.agentregister.AgentRegisterModuleGroupDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/h2_dao.define b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/h2_dao.define new file mode 100644 index 000000000..f381c6958 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/h2_dao.define @@ -0,0 +1,3 @@ +org.skywalking.apm.collector.agentregister.worker.application.dao.ApplicationH2DAO +org.skywalking.apm.collector.agentregister.worker.instance.dao.InstanceH2DAO +org.skywalking.apm.collector.agentregister.worker.servicename.dao.ServiceNameH2DAO \ No newline at end of file diff --git a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/local_worker_provider.define b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/local_worker_provider.define new file mode 100644 index 000000000..758eed4ba --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/local_worker_provider.define @@ -0,0 +1,3 @@ +org.skywalking.apm.collector.agentregister.worker.application.ApplicationRegisterSerialWorker$Factory +org.skywalking.apm.collector.agentregister.worker.instance.InstanceRegisterSerialWorker$Factory +org.skywalking.apm.collector.agentregister.worker.servicename.ServiceNameRegisterSerialWorker$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index e826d4160..000000000 --- a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1,2 +0,0 @@ -org.skywalking.apm.collector.agentregister.grpc.AgentRegisterGRPCModuleDefine -org.skywalking.apm.collector.agentregister.jetty.AgentRegisterJettyModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/storage.define b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/storage.define new file mode 100644 index 000000000..52807b047 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/resources/META-INF/defines/storage.define @@ -0,0 +1,8 @@ +org.skywalking.apm.collector.agentregister.worker.application.ApplicationEsTableDefine +org.skywalking.apm.collector.agentregister.worker.application.ApplicationH2TableDefine + +org.skywalking.apm.collector.agentregister.worker.instance.InstanceEsTableDefine +org.skywalking.apm.collector.agentregister.worker.instance.InstanceH2TableDefine + +org.skywalking.apm.collector.agentregister.worker.servicename.ServiceNameEsTableDefine +org.skywalking.apm.collector.agentregister.worker.servicename.ServiceNameH2TableDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-agentstream/pom.xml b/apm-collector/apm-collector-agentstream/pom.xml index 7cf497179..b9f463f33 100644 --- a/apm-collector/apm-collector-agentstream/pom.xml +++ b/apm-collector/apm-collector-agentstream/pom.xml @@ -33,5 +33,15 @@ apm-collector-storage ${project.version} + + org.skywalking + apm-collector-agentjvm + ${project.version} + + + org.skywalking + apm-collector-agentregister + ${project.version} + \ No newline at end of file diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleGroupDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleGroupDefine.java index 9ba5517a6..9a72418cf 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleGroupDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleGroupDefine.java @@ -10,10 +10,10 @@ import org.skywalking.apm.collector.core.module.ModuleInstaller; public class AgentStreamModuleGroupDefine implements ModuleGroupDefine { public static final String GROUP_NAME = "agent_stream"; - private final AgentStreamCommonModuleInstaller installer; + private final AgentStreamModuleInstaller installer; public AgentStreamModuleGroupDefine() { - installer = new AgentStreamCommonModuleInstaller(); + installer = new AgentStreamModuleInstaller(); } @Override public String name() { diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleInstaller.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleInstaller.java new file mode 100644 index 000000000..a493b5fab --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleInstaller.java @@ -0,0 +1,33 @@ +package org.skywalking.apm.collector.agentstream; + +import java.util.List; +import org.skywalking.apm.collector.agentstream.worker.storage.PersistenceTimer; +import org.skywalking.apm.collector.core.client.ClientException; +import org.skywalking.apm.collector.core.config.ConfigException; +import org.skywalking.apm.collector.core.framework.Context; +import org.skywalking.apm.collector.core.framework.DefineException; +import org.skywalking.apm.collector.core.module.MultipleCommonModuleInstaller; +import org.skywalking.apm.collector.core.server.ServerException; + +/** + * @author pengys5 + */ +public class AgentStreamModuleInstaller extends MultipleCommonModuleInstaller { + + @Override public String groupName() { + return AgentStreamModuleGroupDefine.GROUP_NAME; + } + + @Override public Context moduleContext() { + return new AgentStreamModuleContext(groupName()); + } + + @Override public List dependenceModules() { + return null; + } + + @Override public void install() throws DefineException, ConfigException, ServerException, ClientException { + super.install(); + new PersistenceTimer().start(); + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/grpc/AgentStreamGRPCModuleDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/grpc/AgentStreamGRPCModuleDefine.java index 1cc1bdfad..186281ae1 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/grpc/AgentStreamGRPCModuleDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/grpc/AgentStreamGRPCModuleDefine.java @@ -2,6 +2,10 @@ package org.skywalking.apm.collector.agentstream.grpc; import java.util.LinkedList; import java.util.List; +import org.skywalking.apm.collector.agentjvm.grpc.handler.JVMMetricsServiceHandler; +import org.skywalking.apm.collector.agentregister.grpc.handler.ApplicationRegisterServiceHandler; +import org.skywalking.apm.collector.agentregister.grpc.handler.InstanceDiscoveryServiceHandler; +import org.skywalking.apm.collector.agentregister.grpc.handler.ServiceNameDiscoveryServiceHandler; import org.skywalking.apm.collector.agentstream.AgentStreamModuleDefine; import org.skywalking.apm.collector.agentstream.AgentStreamModuleGroupDefine; import org.skywalking.apm.collector.agentstream.grpc.handler.TraceSegmentServiceHandler; @@ -46,6 +50,10 @@ public class AgentStreamGRPCModuleDefine extends AgentStreamModuleDefine { @Override public List handlerList() { List handlers = new LinkedList<>(); handlers.add(new TraceSegmentServiceHandler()); + handlers.add(new ApplicationRegisterServiceHandler()); + handlers.add(new InstanceDiscoveryServiceHandler()); + handlers.add(new ServiceNameDiscoveryServiceHandler()); + handlers.add(new JVMMetricsServiceHandler()); return handlers; } } diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/jetty/AgentStreamJettyModuleDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/jetty/AgentStreamJettyModuleDefine.java index 87428c339..1f4dec378 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/jetty/AgentStreamJettyModuleDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/jetty/AgentStreamJettyModuleDefine.java @@ -2,6 +2,9 @@ package org.skywalking.apm.collector.agentstream.jetty; import java.util.LinkedList; import java.util.List; +import org.skywalking.apm.collector.agentregister.jetty.handler.ApplicationRegisterServletHandler; +import org.skywalking.apm.collector.agentregister.jetty.handler.InstanceDiscoveryServletHandler; +import org.skywalking.apm.collector.agentregister.jetty.handler.ServiceNameDiscoveryServiceHandler; import org.skywalking.apm.collector.agentstream.AgentStreamModuleDefine; import org.skywalking.apm.collector.agentstream.AgentStreamModuleGroupDefine; import org.skywalking.apm.collector.agentstream.jetty.handler.TraceSegmentServletHandler; @@ -46,6 +49,9 @@ public class AgentStreamJettyModuleDefine extends AgentStreamModuleDefine { @Override public List handlerList() { List handlers = new LinkedList<>(); handlers.add(new TraceSegmentServletHandler()); + handlers.add(new ApplicationRegisterServletHandler()); + handlers.add(new InstanceDiscoveryServletHandler()); + handlers.add(new ServiceNameDiscoveryServiceHandler()); return handlers; } } diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/InstanceCache.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/InstanceCache.java index e2808ef6f..a1982042a 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/InstanceCache.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/InstanceCache.java @@ -2,7 +2,7 @@ package org.skywalking.apm.collector.agentstream.worker.cache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; -import org.skywalking.apm.collector.agentstream.worker.register.instance.dao.IInstanceDAO; +import org.skywalking.apm.collector.agentregister.worker.instance.dao.IInstanceDAO; import org.skywalking.apm.collector.storage.dao.DAOContainer; /** diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceCache.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceCache.java index 1dcc065b0..bb29dee65 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceCache.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceCache.java @@ -2,7 +2,7 @@ package org.skywalking.apm.collector.agentstream.worker.cache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; -import org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.IServiceNameDAO; +import org.skywalking.apm.collector.agentregister.worker.servicename.dao.IServiceNameDAO; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.storage.dao.DAOContainer; diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/es_dao.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/es_dao.define index 57e7f95dd..5f55512c3 100644 --- a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/es_dao.define +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/es_dao.define @@ -1,6 +1,3 @@ -org.skywalking.apm.collector.agentstream.worker.register.application.dao.ApplicationEsDAO -org.skywalking.apm.collector.agentstream.worker.register.instance.dao.InstanceEsDAO -org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.ServiceNameEsDAO org.skywalking.apm.collector.agentstream.worker.node.component.dao.NodeComponentEsDAO org.skywalking.apm.collector.agentstream.worker.node.mapping.dao.NodeMappingEsDAO org.skywalking.apm.collector.agentstream.worker.noderef.dao.NodeReferenceEsDAO diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/h2_dao.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/h2_dao.define index 5d8eea1f2..b1064d603 100644 --- a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/h2_dao.define +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/h2_dao.define @@ -1,6 +1,3 @@ -org.skywalking.apm.collector.agentstream.worker.register.application.dao.ApplicationH2DAO -org.skywalking.apm.collector.agentstream.worker.register.instance.dao.InstanceH2DAO -org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.ServiceNameH2DAO org.skywalking.apm.collector.agentstream.worker.node.component.dao.NodeComponentH2DAO org.skywalking.apm.collector.agentstream.worker.node.mapping.dao.NodeMappingH2DAO org.skywalking.apm.collector.agentstream.worker.noderef.dao.NodeReferenceH2DAO diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/local_worker_provider.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/local_worker_provider.define index 472b02738..638630fa1 100644 --- a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/local_worker_provider.define +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/local_worker_provider.define @@ -17,8 +17,4 @@ org.skywalking.apm.collector.agentstream.worker.segment.origin.SegmentPersistenc org.skywalking.apm.collector.agentstream.worker.segment.cost.SegmentCostPersistenceWorker$Factory org.skywalking.apm.collector.agentstream.worker.global.GlobalTracePersistenceWorker$Factory -org.skywalking.apm.collector.agentstream.worker.register.application.ApplicationRegisterSerialWorker$Factory -org.skywalking.apm.collector.agentstream.worker.register.instance.InstanceRegisterSerialWorker$Factory -org.skywalking.apm.collector.agentstream.worker.register.servicename.ServiceNameRegisterSerialWorker$Factory - org.skywalking.apm.collector.agentstream.worker.instance.performance.InstPerformancePersistenceWorker$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/remote_worker_provider.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/remote_worker_provider.define index da980634f..5608386d3 100644 --- a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/remote_worker_provider.define +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/remote_worker_provider.define @@ -1,6 +1,6 @@ -org.skywalking.apm.collector.agentstream.worker.register.application.ApplicationRegisterRemoteWorker$Factory -org.skywalking.apm.collector.agentstream.worker.register.instance.InstanceRegisterRemoteWorker$Factory -org.skywalking.apm.collector.agentstream.worker.register.servicename.ServiceNameRegisterRemoteWorker$Factory +org.skywalking.apm.collector.agentregister.worker.application.ApplicationRegisterRemoteWorker$Factory +org.skywalking.apm.collector.agentregister.worker.instance.InstanceRegisterRemoteWorker$Factory +org.skywalking.apm.collector.agentregister.worker.servicename.ServiceNameRegisterRemoteWorker$Factory org.skywalking.apm.collector.agentstream.worker.node.component.NodeComponentRemoteWorker$Factory org.skywalking.apm.collector.agentstream.worker.node.mapping.NodeMappingRemoteWorker$Factory diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/storage.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/storage.define index 3b03aea61..098e51e7a 100644 --- a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/storage.define +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/storage.define @@ -7,15 +7,6 @@ org.skywalking.apm.collector.agentstream.worker.node.mapping.define.NodeMappingH org.skywalking.apm.collector.agentstream.worker.noderef.define.NodeReferenceEsTableDefine org.skywalking.apm.collector.agentstream.worker.noderef.define.NodeReferenceH2TableDefine -org.skywalking.apm.collector.agentstream.worker.register.application.ApplicationEsTableDefine -org.skywalking.apm.collector.agentstream.worker.register.application.ApplicationH2TableDefine - -org.skywalking.apm.collector.agentstream.worker.register.instance.InstanceEsTableDefine -org.skywalking.apm.collector.agentstream.worker.register.instance.InstanceH2TableDefine - -org.skywalking.apm.collector.agentstream.worker.register.servicename.ServiceNameEsTableDefine -org.skywalking.apm.collector.agentstream.worker.register.servicename.ServiceNameH2TableDefine - org.skywalking.apm.collector.agentstream.worker.segment.origin.define.SegmentEsTableDefine org.skywalking.apm.collector.agentstream.worker.segment.origin.define.SegmentH2TableDefine diff --git a/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java b/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java index 23293258b..e184dcd8f 100644 --- a/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java +++ b/apm-collector/apm-collector-agentstream/src/test/java/org/skywalking/apm/collector/agentstream/mock/SegmentPost.java @@ -5,9 +5,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import java.io.IOException; import org.skywalking.apm.collector.agentstream.HttpClientTools; -import org.skywalking.apm.collector.agentstream.worker.register.application.dao.ApplicationEsDAO; -import org.skywalking.apm.collector.agentstream.worker.register.instance.dao.InstanceEsDAO; -import org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.ServiceNameEsDAO; +import org.skywalking.apm.collector.agentregister.worker.application.dao.ApplicationEsDAO; +import org.skywalking.apm.collector.agentregister.worker.instance.dao.InstanceEsDAO; +import org.skywalking.apm.collector.agentregister.worker.servicename.dao.ServiceNameEsDAO; import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; import org.skywalking.apm.collector.core.CollectorException; import org.skywalking.apm.collector.core.util.TimeBucketUtils; diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml index f9e5eaa39..41dc47eb2 100644 --- a/apm-collector/pom.xml +++ b/apm-collector/pom.xml @@ -17,6 +17,7 @@ apm-collector-agentregister apm-collector-agentjvm apm-collector-remote + apm-collector-agent apm From ca684bf84f0e86a10daeeb59490fb0dc1933f85e Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Sat, 16 Sep 2017 12:44:48 +0800 Subject: [PATCH 4/5] no message --- apm-collector/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml index 41dc47eb2..f9e5eaa39 100644 --- a/apm-collector/pom.xml +++ b/apm-collector/pom.xml @@ -17,7 +17,6 @@ apm-collector-agentregister apm-collector-agentjvm apm-collector-remote - apm-collector-agent apm From f4d193990e1fee6de995c89b63cded3dfa6a727d Mon Sep 17 00:00:00 2001 From: pengys5 <8082209@qq.com> Date: Sat, 16 Sep 2017 13:32:26 +0800 Subject: [PATCH 5/5] #419 add configuration in application.yml file, e.g. elastic search index shard number, index replicas number. --- .../cpu/define/CpuMetricEsTableDefine.java | 8 -- .../gc/define/GCMetricEsTableDefine.java | 8 -- .../define/MemoryMetricEsTableDefine.java | 8 -- .../define/MemoryPoolMetricEsTableDefine.java | 8 -- .../application/ApplicationEsTableDefine.java | 10 +- .../instance/InstanceEsTableDefine.java | 8 -- .../servicename/ServiceNameEsTableDefine.java | 10 +- .../worker/cache/ApplicationCache.java | 35 ----- .../worker/config/CacheSizeConfig.java | 17 --- .../worker/config/WorkerConfig.java | 125 ------------------ .../define/GlobalTraceEsTableDefine.java | 8 -- .../define/InstPerformanceEsTableDefine.java | 8 -- .../define/NodeComponentEsTableDefine.java | 8 -- .../define/NodeMappingEsTableDefine.java | 8 -- .../define/NodeReferenceEsTableDefine.java | 8 -- .../worker/register/IdAutoIncrement.java | 24 ---- .../application/ApplicationEsTableDefine.java | 32 ----- .../application/ApplicationH2TableDefine.java | 20 --- .../ApplicationRegisterRemoteWorker.java | 65 --------- .../ApplicationRegisterSerialWorker.java | 94 ------------- .../application/dao/ApplicationEsDAO.java | 62 --------- .../application/dao/ApplicationH2DAO.java | 28 ---- .../application/dao/IApplicationDAO.java | 16 --- .../instance/InstanceEsTableDefine.java | 36 ----- .../instance/InstanceH2TableDefine.java | 24 ---- .../InstanceRegisterRemoteWorker.java | 65 --------- .../InstanceRegisterSerialWorker.java | 99 -------------- .../register/instance/dao/IInstanceDAO.java | 20 --- .../register/instance/dao/InstanceEsDAO.java | 95 ------------- .../register/instance/dao/InstanceH2DAO.java | 33 ----- .../servicename/ServiceNameEsTableDefine.java | 33 ----- .../servicename/ServiceNameH2TableDefine.java | 21 --- .../ServiceNameRegisterRemoteWorker.java | 65 --------- .../ServiceNameRegisterSerialWorker.java | 95 ------------- .../servicename/dao/IServiceNameDAO.java | 18 --- .../servicename/dao/ServiceNameEsDAO.java | 78 ----------- .../servicename/dao/ServiceNameH2DAO.java | 30 ----- .../cost/define/SegmentCostEsTableDefine.java | 8 -- .../origin/define/SegmentEsTableDefine.java | 8 -- .../define/ServiceEntryEsTableDefine.java | 8 -- .../define/ServiceReferenceEsTableDefine.java | 8 -- .../src/main/resources/application.yml | 14 +- .../StorageElasticSearchConfig.java | 2 + .../StorageElasticSearchConfigParser.java | 12 ++ .../define/ElasticSearchStorageInstaller.java | 5 +- .../define/ElasticSearchTableDefine.java | 4 - 46 files changed, 21 insertions(+), 1378 deletions(-) delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ApplicationCache.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/CacheSizeConfig.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/WorkerConfig.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/IdAutoIncrement.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationEsTableDefine.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationH2TableDefine.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterRemoteWorker.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterSerialWorker.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationEsDAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationH2DAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/IApplicationDAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceEsTableDefine.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceH2TableDefine.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterRemoteWorker.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterSerialWorker.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/IInstanceDAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceEsDAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceH2DAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameEsTableDefine.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameH2TableDefine.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterRemoteWorker.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterSerialWorker.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/IServiceNameDAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameEsDAO.java delete mode 100644 apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameH2DAO.java diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/cpu/define/CpuMetricEsTableDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/cpu/define/CpuMetricEsTableDefine.java index cffcf2184..b08d94685 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/cpu/define/CpuMetricEsTableDefine.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/cpu/define/CpuMetricEsTableDefine.java @@ -17,14 +17,6 @@ public class CpuMetricEsTableDefine extends ElasticSearchTableDefine { return 1; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(CpuMetricTable.COLUMN_INSTANCE_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(CpuMetricTable.COLUMN_USAGE_PERCENT, ElasticSearchColumnDefine.Type.Double.name())); diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/gc/define/GCMetricEsTableDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/gc/define/GCMetricEsTableDefine.java index 677bd4889..381ecde82 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/gc/define/GCMetricEsTableDefine.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/gc/define/GCMetricEsTableDefine.java @@ -17,14 +17,6 @@ public class GCMetricEsTableDefine extends ElasticSearchTableDefine { return 1; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(GCMetricTable.COLUMN_INSTANCE_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(GCMetricTable.COLUMN_PHRASE, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memory/define/MemoryMetricEsTableDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memory/define/MemoryMetricEsTableDefine.java index 6d65b4499..8b347e5a4 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memory/define/MemoryMetricEsTableDefine.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memory/define/MemoryMetricEsTableDefine.java @@ -17,14 +17,6 @@ public class MemoryMetricEsTableDefine extends ElasticSearchTableDefine { return 1; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(MemoryMetricTable.COLUMN_APPLICATION_INSTANCE_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(MemoryMetricTable.COLUMN_IS_HEAP, ElasticSearchColumnDefine.Type.Boolean.name())); diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java index 52c33ac4d..af14122dc 100644 --- a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/worker/memorypool/define/MemoryPoolMetricEsTableDefine.java @@ -17,14 +17,6 @@ public class MemoryPoolMetricEsTableDefine extends ElasticSearchTableDefine { return 1; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(MemoryPoolMetricTable.COLUMN_POOL_TYPE, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java index bde0c8496..968c3f84a 100644 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/application/ApplicationEsTableDefine.java @@ -1,8 +1,8 @@ package org.skywalking.apm.collector.agentregister.worker.application; +import org.skywalking.apm.collector.storage.define.register.ApplicationTable; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; -import org.skywalking.apm.collector.storage.define.register.ApplicationTable; /** * @author pengys5 @@ -17,14 +17,6 @@ public class ApplicationEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(ApplicationTable.COLUMN_APPLICATION_CODE, ElasticSearchColumnDefine.Type.Keyword.name())); addColumn(new ElasticSearchColumnDefine(ApplicationTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java index e60e56345..3a6c95209 100644 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/instance/InstanceEsTableDefine.java @@ -17,14 +17,6 @@ public class InstanceEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_AGENT_UUID, ElasticSearchColumnDefine.Type.Keyword.name())); diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java index bc61315b5..794e794a3 100644 --- a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/worker/servicename/ServiceNameEsTableDefine.java @@ -1,8 +1,8 @@ package org.skywalking.apm.collector.agentregister.worker.servicename; +import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; -import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; /** * @author pengys5 @@ -17,14 +17,6 @@ public class ServiceNameEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_SERVICE_NAME, ElasticSearchColumnDefine.Type.Keyword.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ApplicationCache.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ApplicationCache.java deleted file mode 100644 index a38cb3976..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ApplicationCache.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.cache; - -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import org.skywalking.apm.collector.agentstream.worker.register.application.dao.IApplicationDAO; -import org.skywalking.apm.collector.storage.dao.DAOContainer; - -/** - * @author pengys5 - */ -public class ApplicationCache { - - private static Cache CACHE = CacheBuilder.newBuilder().initialCapacity(100).maximumSize(1000).build(); - - public static int get(String applicationCode) { - int applicationId = 0; - try { - applicationId = CACHE.get(applicationCode, () -> { - IApplicationDAO dao = (IApplicationDAO)DAOContainer.INSTANCE.get(IApplicationDAO.class.getName()); - return dao.getApplicationId(applicationCode); - }); - } catch (Throwable e) { - return applicationId; - } - - if (applicationId == 0) { - IApplicationDAO dao = (IApplicationDAO)DAOContainer.INSTANCE.get(IApplicationDAO.class.getName()); - applicationId = dao.getApplicationId(applicationCode); - if (applicationId != 0) { - CACHE.put(applicationCode, applicationId); - } - } - return applicationId; - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/CacheSizeConfig.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/CacheSizeConfig.java deleted file mode 100644 index fe792ff4f..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/CacheSizeConfig.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.config; - -/** - * @author pengys5 - */ -public class CacheSizeConfig { - - public static class Cache { - public static class Analysis { - public static int SIZE = 1024; - } - - public static class Persistence { - public static int SIZE = 5000; - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/WorkerConfig.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/WorkerConfig.java deleted file mode 100644 index 9c94a6ae8..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/config/WorkerConfig.java +++ /dev/null @@ -1,125 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.config; - -/** - * @author pengys5 - */ -public class WorkerConfig { - - public static class WorkerNum { - public static class Node { - public static class NodeCompAgg { - public static int VALUE = 2; - } - - public static class NodeMappingDayAgg { - public static int VALUE = 2; - } - - public static class NodeMappingHourAgg { - public static int VALUE = 2; - } - - public static class NodeMappingMinuteAgg { - public static int VALUE = 2; - } - } - - public static class NodeRef { - public static class NodeRefDayAgg { - public static int VALUE = 2; - } - - public static class NodeRefHourAgg { - public static int VALUE = 2; - } - - public static class NodeRefMinuteAgg { - public static int VALUE = 2; - } - - public static class NodeRefResSumDayAgg { - public static int VALUE = 2; - } - - public static class NodeRefResSumHourAgg { - public static int VALUE = 2; - } - - public static class NodeRefResSumMinuteAgg { - public static int VALUE = 2; - } - } - - public static class GlobalTrace { - public static class GlobalTraceAgg { - public static int VALUE = 2; - } - } - } - - public static class Queue { - public static class GlobalTrace { - public static class GlobalTraceAnalysis { - public static int SIZE = 1024; - } - } - - public static class Segment { - public static class SegmentAnalysis { - public static int SIZE = 1024; - } - - public static class SegmentCostAnalysis { - public static int SIZE = 4096; - } - - public static class SegmentExceptionAnalysis { - public static int SIZE = 4096; - } - } - - public static class Node { - public static class NodeCompAnalysis { - public static int SIZE = 1024; - } - - public static class NodeMappingDayAnalysis { - public static int SIZE = 1024; - } - - public static class NodeMappingHourAnalysis { - public static int SIZE = 1024; - } - - public static class NodeMappingMinuteAnalysis { - public static int SIZE = 1024; - } - } - - public static class NodeRef { - public static class NodeRefDayAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefHourAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefMinuteAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefResSumDayAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefResSumHourAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefResSumMinuteAnalysis { - public static int SIZE = 1024; - } - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/global/define/GlobalTraceEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/global/define/GlobalTraceEsTableDefine.java index 8a2b244a2..759635417 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/global/define/GlobalTraceEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/global/define/GlobalTraceEsTableDefine.java @@ -17,14 +17,6 @@ public class GlobalTraceEsTableDefine extends ElasticSearchTableDefine { return 5; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(GlobalTraceTable.COLUMN_SEGMENT_ID, ElasticSearchColumnDefine.Type.Keyword.name())); addColumn(new ElasticSearchColumnDefine(GlobalTraceTable.COLUMN_GLOBAL_TRACE_ID, ElasticSearchColumnDefine.Type.Keyword.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/instance/performance/define/InstPerformanceEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/instance/performance/define/InstPerformanceEsTableDefine.java index f0afdd86c..073280cdd 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/instance/performance/define/InstPerformanceEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/instance/performance/define/InstPerformanceEsTableDefine.java @@ -17,14 +17,6 @@ public class InstPerformanceEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(InstPerformanceTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(InstPerformanceTable.COLUMN_INSTANCE_ID, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/define/NodeComponentEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/define/NodeComponentEsTableDefine.java index 1ded3d4fe..610bc9866 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/define/NodeComponentEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/define/NodeComponentEsTableDefine.java @@ -17,14 +17,6 @@ public class NodeComponentEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(NodeComponentTable.COLUMN_COMPONENT_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(NodeComponentTable.COLUMN_COMPONENT_NAME, ElasticSearchColumnDefine.Type.Keyword.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/mapping/define/NodeMappingEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/mapping/define/NodeMappingEsTableDefine.java index e1027b392..460abfc23 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/mapping/define/NodeMappingEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/mapping/define/NodeMappingEsTableDefine.java @@ -17,14 +17,6 @@ public class NodeMappingEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(NodeMappingTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(NodeMappingTable.COLUMN_ADDRESS_ID, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/noderef/define/NodeReferenceEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/noderef/define/NodeReferenceEsTableDefine.java index da96dc169..6d1bf8673 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/noderef/define/NodeReferenceEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/noderef/define/NodeReferenceEsTableDefine.java @@ -17,14 +17,6 @@ public class NodeReferenceEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/IdAutoIncrement.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/IdAutoIncrement.java deleted file mode 100644 index d9864e4e7..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/IdAutoIncrement.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register; - -/** - * @author pengys5 - */ -public enum IdAutoIncrement { - INSTANCE; - - public int increment(int min, int max) { - int instanceId; - if (min == max) { - instanceId = -1; - } else if (min + max == 0) { - instanceId = max + 1; - } else if (min + max > 0) { - instanceId = min - 1; - } else if (max < 0) { - instanceId = 1; - } else { - instanceId = max + 1; - } - return instanceId; - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationEsTableDefine.java deleted file mode 100644 index fe070606f..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationEsTableDefine.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.application; - -import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; -import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; -import org.skywalking.apm.collector.storage.define.register.ApplicationTable; - -/** - * @author pengys5 - */ -public class ApplicationEsTableDefine extends ElasticSearchTableDefine { - - public ApplicationEsTableDefine() { - super(ApplicationTable.TABLE); - } - - @Override public int refreshInterval() { - return 2; - } - - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - - @Override public void initialize() { - addColumn(new ElasticSearchColumnDefine(ApplicationTable.COLUMN_APPLICATION_CODE, ElasticSearchColumnDefine.Type.Keyword.name())); - addColumn(new ElasticSearchColumnDefine(ApplicationTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationH2TableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationH2TableDefine.java deleted file mode 100644 index 4eac88e63..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationH2TableDefine.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.application; - -import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; -import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; -import org.skywalking.apm.collector.storage.define.register.ApplicationTable; - -/** - * @author pengys5 - */ -public class ApplicationH2TableDefine extends H2TableDefine { - - public ApplicationH2TableDefine() { - super(ApplicationTable.TABLE); - } - - @Override public void initialize() { - addColumn(new H2ColumnDefine(ApplicationTable.COLUMN_APPLICATION_CODE, H2ColumnDefine.Type.Varchar.name())); - addColumn(new H2ColumnDefine(ApplicationTable.COLUMN_APPLICATION_ID, H2ColumnDefine.Type.Int.name())); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterRemoteWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterRemoteWorker.java deleted file mode 100644 index 33564f8af..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterRemoteWorker.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.application; - -import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; -import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; -import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorkerProvider; -import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.worker.Role; -import org.skywalking.apm.collector.stream.worker.WorkerException; -import org.skywalking.apm.collector.storage.define.DataDefine; -import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; -import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class ApplicationRegisterRemoteWorker extends AbstractRemoteWorker { - - private final Logger logger = LoggerFactory.getLogger(ApplicationRegisterRemoteWorker.class); - - protected ApplicationRegisterRemoteWorker(Role role, ClusterWorkerContext clusterContext) { - super(role, clusterContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - } - - @Override protected void onWork(Object message) throws WorkerException { - ApplicationDataDefine.Application application = (ApplicationDataDefine.Application)message; - logger.debug("application code: {}", application.getApplicationCode()); - getClusterContext().lookup(ApplicationRegisterSerialWorker.WorkerRole.INSTANCE).tell(application); - } - - public static class Factory extends AbstractRemoteWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public ApplicationRegisterRemoteWorker workerInstance(ClusterWorkerContext clusterContext) { - return new ApplicationRegisterRemoteWorker(role(), clusterContext); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return ApplicationRegisterRemoteWorker.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new ForeverFirstSelector(); - } - - @Override public DataDefine dataDefine() { - return new ApplicationDataDefine(); - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterSerialWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterSerialWorker.java deleted file mode 100644 index 79ef0c6ba..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/ApplicationRegisterSerialWorker.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.application; - -import org.skywalking.apm.collector.core.util.Const; -import org.skywalking.apm.collector.agentstream.worker.register.IdAutoIncrement; -import org.skywalking.apm.collector.agentstream.worker.register.application.dao.IApplicationDAO; -import org.skywalking.apm.collector.storage.dao.DAOContainer; -import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; -import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorker; -import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.worker.Role; -import org.skywalking.apm.collector.stream.worker.WorkerException; -import org.skywalking.apm.collector.storage.define.DataDefine; -import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; -import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class ApplicationRegisterSerialWorker extends AbstractLocalAsyncWorker { - - private final Logger logger = LoggerFactory.getLogger(ApplicationRegisterSerialWorker.class); - - public ApplicationRegisterSerialWorker(Role role, ClusterWorkerContext clusterContext) { - super(role, clusterContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override protected void onWork(Object message) throws WorkerException { - if (message instanceof ApplicationDataDefine.Application) { - ApplicationDataDefine.Application application = (ApplicationDataDefine.Application)message; - logger.debug("register application, application code: {}", application.getApplicationCode()); - - IApplicationDAO dao = (IApplicationDAO)DAOContainer.INSTANCE.get(IApplicationDAO.class.getName()); - int applicationId = dao.getApplicationId(application.getApplicationCode()); - if (applicationId == 0) { - int min = dao.getMinApplicationId(); - if (min == 0) { - ApplicationDataDefine.Application userApplication = new ApplicationDataDefine.Application(String.valueOf(Const.USER_ID), Const.USER_CODE, Const.USER_ID); - dao.save(userApplication); - - application.setApplicationId(-1); - application.setId("-1"); - } else { - int max = dao.getMaxApplicationId(); - applicationId = IdAutoIncrement.INSTANCE.increment(min, max); - application.setApplicationId(applicationId); - application.setId(String.valueOf(applicationId)); - } - dao.save(application); - } - } - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public ApplicationRegisterSerialWorker workerInstance(ClusterWorkerContext clusterContext) { - return new ApplicationRegisterSerialWorker(role(), clusterContext); - } - - @Override public int queueSize() { - return 256; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return ApplicationRegisterSerialWorker.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new ForeverFirstSelector(); - } - - @Override public DataDefine dataDefine() { - return new ApplicationDataDefine(); - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationEsDAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationEsDAO.java deleted file mode 100644 index bbb03b629..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationEsDAO.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.application.dao; - -import java.util.HashMap; -import java.util.Map; -import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.action.support.WriteRequest; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; -import org.skywalking.apm.collector.storage.define.register.ApplicationTable; -import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; -import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class ApplicationEsDAO extends EsDAO implements IApplicationDAO { - - private final Logger logger = LoggerFactory.getLogger(ApplicationEsDAO.class); - - @Override public int getApplicationId(String applicationCode) { - ElasticSearchClient client = getClient(); - - SearchRequestBuilder searchRequestBuilder = client.prepareSearch(ApplicationTable.TABLE); - searchRequestBuilder.setTypes("type"); - searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH); - searchRequestBuilder.setQuery(QueryBuilders.termQuery(ApplicationTable.COLUMN_APPLICATION_CODE, applicationCode)); - searchRequestBuilder.setSize(1); - - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - if (searchResponse.getHits().totalHits > 0) { - SearchHit searchHit = searchResponse.getHits().iterator().next(); - int applicationId = (int)searchHit.getSource().get(ApplicationTable.COLUMN_APPLICATION_ID); - return applicationId; - } - return 0; - } - - @Override public int getMaxApplicationId() { - return getMaxId(ApplicationTable.TABLE, ApplicationTable.COLUMN_APPLICATION_ID); - } - - @Override public int getMinApplicationId() { - return getMinId(ApplicationTable.TABLE, ApplicationTable.COLUMN_APPLICATION_ID); - } - - @Override public void save(ApplicationDataDefine.Application application) { - logger.debug("save application register info, application id: {}, application code: {}", application.getApplicationId(), application.getApplicationCode()); - ElasticSearchClient client = getClient(); - Map source = new HashMap(); - source.put(ApplicationTable.COLUMN_APPLICATION_CODE, application.getApplicationCode()); - source.put(ApplicationTable.COLUMN_APPLICATION_ID, application.getApplicationId()); - - IndexResponse response = client.prepareIndex(ApplicationTable.TABLE, application.getId()).setSource(source).setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE).get(); - logger.debug("save application register info, application id: {}, application code: {}, status: {}", application.getApplicationId(), application.getApplicationCode(), response.status().name()); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationH2DAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationH2DAO.java deleted file mode 100644 index 164949088..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/ApplicationH2DAO.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.application.dao; - -import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; -import org.skywalking.apm.collector.client.h2.H2Client; -import org.skywalking.apm.collector.storage.h2.dao.H2DAO; - -/** - * @author pengys5 - */ -public class ApplicationH2DAO extends H2DAO implements IApplicationDAO { - - @Override public int getApplicationId(String applicationCode) { - H2Client client = getClient(); - return 100; - } - - @Override public int getMaxApplicationId() { - return 0; - } - - @Override public int getMinApplicationId() { - return 0; - } - - @Override public void save(ApplicationDataDefine.Application application) { - - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/IApplicationDAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/IApplicationDAO.java deleted file mode 100644 index cc409b606..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/application/dao/IApplicationDAO.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.application.dao; - -import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; - -/** - * @author pengys5 - */ -public interface IApplicationDAO { - int getApplicationId(String applicationCode); - - int getMaxApplicationId(); - - int getMinApplicationId(); - - void save(ApplicationDataDefine.Application application); -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceEsTableDefine.java deleted file mode 100644 index 7bc301426..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceEsTableDefine.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.instance; - -import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; -import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; -import org.skywalking.apm.collector.storage.define.register.InstanceTable; - -/** - * @author pengys5 - */ -public class InstanceEsTableDefine extends ElasticSearchTableDefine { - - public InstanceEsTableDefine() { - super(InstanceTable.TABLE); - } - - @Override public int refreshInterval() { - return 2; - } - - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - - @Override public void initialize() { - addColumn(new ElasticSearchColumnDefine(InstanceTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.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())); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceH2TableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceH2TableDefine.java deleted file mode 100644 index ad55a7e21..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceH2TableDefine.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.instance; - -import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; -import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; -import org.skywalking.apm.collector.storage.define.register.InstanceTable; - -/** - * @author pengys5 - */ -public class InstanceH2TableDefine extends H2TableDefine { - - public InstanceH2TableDefine() { - super(InstanceTable.TABLE); - } - - @Override public void initialize() { - addColumn(new H2ColumnDefine(InstanceTable.COLUMN_APPLICATION_ID, H2ColumnDefine.Type.Int.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())); - addColumn(new H2ColumnDefine(InstanceTable.COLUMN_HEARTBEAT_TIME, H2ColumnDefine.Type.Bigint.name())); - addColumn(new H2ColumnDefine(InstanceTable.COLUMN_OS_INFO, H2ColumnDefine.Type.Varchar.name())); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterRemoteWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterRemoteWorker.java deleted file mode 100644 index b35409300..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterRemoteWorker.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.instance; - -import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; -import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; -import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorkerProvider; -import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.worker.Role; -import org.skywalking.apm.collector.stream.worker.WorkerException; -import org.skywalking.apm.collector.storage.define.DataDefine; -import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; -import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class InstanceRegisterRemoteWorker extends AbstractRemoteWorker { - - private final Logger logger = LoggerFactory.getLogger(InstanceRegisterRemoteWorker.class); - - protected InstanceRegisterRemoteWorker(Role role, ClusterWorkerContext clusterContext) { - super(role, clusterContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - } - - @Override protected void onWork(Object message) throws WorkerException { - InstanceDataDefine.Instance instance = (InstanceDataDefine.Instance)message; - logger.debug("application id: {}, agentUUID: {}, register time: {}", instance.getApplicationId(), instance.getAgentUUID(), instance.getRegisterTime()); - getClusterContext().lookup(InstanceRegisterSerialWorker.WorkerRole.INSTANCE).tell(instance); - } - - public static class Factory extends AbstractRemoteWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public InstanceRegisterRemoteWorker workerInstance(ClusterWorkerContext clusterContext) { - return new InstanceRegisterRemoteWorker(role(), clusterContext); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return InstanceRegisterRemoteWorker.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new ForeverFirstSelector(); - } - - @Override public DataDefine dataDefine() { - return new InstanceDataDefine(); - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterSerialWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterSerialWorker.java deleted file mode 100644 index a0ad4209c..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/InstanceRegisterSerialWorker.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.instance; - -import org.skywalking.apm.collector.agentstream.worker.register.instance.dao.IInstanceDAO; -import org.skywalking.apm.collector.storage.dao.DAOContainer; -import org.skywalking.apm.collector.storage.define.DataDefine; -import org.skywalking.apm.collector.storage.define.register.ApplicationDataDefine; -import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; -import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorker; -import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.worker.Role; -import org.skywalking.apm.collector.stream.worker.WorkerException; -import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; -import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class InstanceRegisterSerialWorker extends AbstractLocalAsyncWorker { - - private final Logger logger = LoggerFactory.getLogger(InstanceRegisterSerialWorker.class); - - public InstanceRegisterSerialWorker(Role role, ClusterWorkerContext clusterContext) { - super(role, clusterContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override protected void onWork(Object message) throws WorkerException { - if (message instanceof InstanceDataDefine.Instance) { - InstanceDataDefine.Instance instance = (InstanceDataDefine.Instance)message; - logger.debug("register instance, application id: {}, agentUUID: {}", instance.getApplicationId(), instance.getAgentUUID()); - - IInstanceDAO dao = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); - int instanceId = dao.getInstanceId(instance.getApplicationId(), instance.getAgentUUID()); - if (instanceId == 0) { -// int min = dao.getMinInstanceId(); -// if (min == 0) { -// instance.setId("1"); -// instance.setInstanceId(1); -// } else { -// int max = dao.getMaxInstanceId(); -// instanceId = IdAutoIncrement.INSTANCE.increment(min, max); -// instance.setId(String.valueOf(instanceId)); -// instance.setInstanceId(instanceId); -// } - int max = dao.getMaxInstanceId(); - if (max == 0) { - instance.setId("1"); - instance.setInstanceId(1); - } else { - instance.setId(String.valueOf(max + 1)); - instance.setInstanceId(max + 1); - } - - dao.save(instance); - } - } - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public InstanceRegisterSerialWorker workerInstance(ClusterWorkerContext clusterContext) { - return new InstanceRegisterSerialWorker(role(), clusterContext); - } - - @Override public int queueSize() { - return 256; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return InstanceRegisterSerialWorker.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new ForeverFirstSelector(); - } - - @Override public DataDefine dataDefine() { - return new ApplicationDataDefine(); - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/IInstanceDAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/IInstanceDAO.java deleted file mode 100644 index fc318ae60..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/IInstanceDAO.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.instance.dao; - -import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; - -/** - * @author pengys5 - */ -public interface IInstanceDAO { - int getInstanceId(int applicationId, String agentUUID); - - int getMaxInstanceId(); - - int getMinInstanceId(); - - void save(InstanceDataDefine.Instance instance); - - void updateHeartbeatTime(int instanceId, long heartbeatTime); - - int getApplicationId(int applicationInstanceId); -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceEsDAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceEsDAO.java deleted file mode 100644 index c2ffbdc0d..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceEsDAO.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.instance.dao; - -import java.util.HashMap; -import java.util.Map; -import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.action.support.WriteRequest; -import org.elasticsearch.action.update.UpdateRequest; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; -import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; -import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; -import org.skywalking.apm.collector.storage.define.register.InstanceTable; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class InstanceEsDAO extends EsDAO implements IInstanceDAO { - - private final Logger logger = LoggerFactory.getLogger(InstanceEsDAO.class); - - @Override public int getInstanceId(int applicationId, String agentUUID) { - ElasticSearchClient client = getClient(); - - SearchRequestBuilder searchRequestBuilder = client.prepareSearch(InstanceTable.TABLE); - searchRequestBuilder.setTypes("type"); - searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH); - BoolQueryBuilder builder = QueryBuilders.boolQuery(); - builder.must().add(QueryBuilders.termQuery(InstanceTable.COLUMN_APPLICATION_ID, applicationId)); - builder.must().add(QueryBuilders.termQuery(InstanceTable.COLUMN_AGENT_UUID, agentUUID)); - searchRequestBuilder.setQuery(builder); - searchRequestBuilder.setSize(1); - - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - if (searchResponse.getHits().totalHits > 0) { - SearchHit searchHit = searchResponse.getHits().iterator().next(); - return (int)searchHit.getSource().get(InstanceTable.COLUMN_INSTANCE_ID); - } - return 0; - } - - @Override public int getMaxInstanceId() { - return getMaxId(InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID); - } - - @Override public int getMinInstanceId() { - return getMinId(InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID); - } - - @Override public void save(InstanceDataDefine.Instance instance) { - logger.debug("save instance register info, application id: {}, agentUUID: {}", instance.getApplicationId(), instance.getAgentUUID()); - ElasticSearchClient client = getClient(); - Map source = new HashMap<>(); - source.put(InstanceTable.COLUMN_INSTANCE_ID, instance.getInstanceId()); - source.put(InstanceTable.COLUMN_APPLICATION_ID, instance.getApplicationId()); - source.put(InstanceTable.COLUMN_AGENT_UUID, instance.getAgentUUID()); - source.put(InstanceTable.COLUMN_REGISTER_TIME, instance.getRegisterTime()); - source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, instance.getHeartBeatTime()); - source.put(InstanceTable.COLUMN_OS_INFO, instance.getOsInfo()); - - IndexResponse response = client.prepareIndex(InstanceTable.TABLE, instance.getId()).setSource(source).setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE).get(); - logger.debug("save instance register info, application id: {}, agentUUID: {}, status: {}", instance.getApplicationId(), instance.getAgentUUID(), response.status().name()); - } - - @Override public void updateHeartbeatTime(int instanceId, long heartbeatTime) { - ElasticSearchClient client = getClient(); - UpdateRequest updateRequest = new UpdateRequest(); - updateRequest.index(InstanceTable.TABLE); - updateRequest.type("type"); - updateRequest.id(String.valueOf(instanceId)); - updateRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE); - - Map source = new HashMap<>(); - source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, heartbeatTime); - - updateRequest.doc(source); - client.update(updateRequest); - } - - @Override public int getApplicationId(int applicationInstanceId) { - GetResponse response = getClient().prepareGet(InstanceTable.TABLE, String.valueOf(applicationInstanceId)).get(); - if (response.isExists()) { - return (int)response.getSource().get(InstanceTable.COLUMN_APPLICATION_ID); - } else { - return 0; - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceH2DAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceH2DAO.java deleted file mode 100644 index 544513e74..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/instance/dao/InstanceH2DAO.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.instance.dao; - -import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; -import org.skywalking.apm.collector.storage.h2.dao.H2DAO; - -/** - * @author pengys5 - */ -public class InstanceH2DAO extends H2DAO implements IInstanceDAO { - @Override public int getInstanceId(int applicationId, String agentUUID) { - return 0; - } - - @Override public int getMaxInstanceId() { - return 0; - } - - @Override public int getMinInstanceId() { - return 0; - } - - @Override public void save(InstanceDataDefine.Instance instance) { - - } - - @Override public void updateHeartbeatTime(int instanceId, long heartbeatTime) { - - } - - @Override public int getApplicationId(int applicationInstanceId) { - return 0; - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameEsTableDefine.java deleted file mode 100644 index 16e4f5596..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameEsTableDefine.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.servicename; - -import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; -import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; -import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; - -/** - * @author pengys5 - */ -public class ServiceNameEsTableDefine extends ElasticSearchTableDefine { - - public ServiceNameEsTableDefine() { - super(ServiceNameTable.TABLE); - } - - @Override public int refreshInterval() { - return 2; - } - - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - - @Override public void initialize() { - addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); - addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_SERVICE_NAME, ElasticSearchColumnDefine.Type.Keyword.name())); - addColumn(new ElasticSearchColumnDefine(ServiceNameTable.COLUMN_SERVICE_ID, ElasticSearchColumnDefine.Type.Integer.name())); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameH2TableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameH2TableDefine.java deleted file mode 100644 index 797db44f7..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameH2TableDefine.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.servicename; - -import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; -import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; -import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; - -/** - * @author pengys5 - */ -public class ServiceNameH2TableDefine extends H2TableDefine { - - public ServiceNameH2TableDefine() { - super(ServiceNameTable.TABLE); - } - - @Override public void initialize() { - addColumn(new H2ColumnDefine(ServiceNameTable.COLUMN_APPLICATION_ID, H2ColumnDefine.Type.Int.name())); - addColumn(new H2ColumnDefine(ServiceNameTable.COLUMN_SERVICE_NAME, H2ColumnDefine.Type.Varchar.name())); - addColumn(new H2ColumnDefine(ServiceNameTable.COLUMN_SERVICE_ID, H2ColumnDefine.Type.Int.name())); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterRemoteWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterRemoteWorker.java deleted file mode 100644 index 9b4822be1..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterRemoteWorker.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.servicename; - -import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; -import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; -import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorkerProvider; -import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.worker.Role; -import org.skywalking.apm.collector.stream.worker.WorkerException; -import org.skywalking.apm.collector.storage.define.DataDefine; -import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; -import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class ServiceNameRegisterRemoteWorker extends AbstractRemoteWorker { - - private final Logger logger = LoggerFactory.getLogger(ServiceNameRegisterRemoteWorker.class); - - protected ServiceNameRegisterRemoteWorker(Role role, ClusterWorkerContext clusterContext) { - super(role, clusterContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - } - - @Override protected void onWork(Object message) throws WorkerException { - ServiceNameDataDefine.ServiceName serviceName = (ServiceNameDataDefine.ServiceName)message; - logger.debug("service name: {}", serviceName.getServiceName()); - getClusterContext().lookup(ServiceNameRegisterSerialWorker.WorkerRole.INSTANCE).tell(serviceName); - } - - public static class Factory extends AbstractRemoteWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public ServiceNameRegisterRemoteWorker workerInstance(ClusterWorkerContext clusterContext) { - return new ServiceNameRegisterRemoteWorker(role(), clusterContext); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return ServiceNameRegisterRemoteWorker.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new ForeverFirstSelector(); - } - - @Override public DataDefine dataDefine() { - return new ServiceNameDataDefine(); - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterSerialWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterSerialWorker.java deleted file mode 100644 index 3f9ba4b31..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/ServiceNameRegisterSerialWorker.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.servicename; - -import org.skywalking.apm.collector.agentstream.worker.register.IdAutoIncrement; -import org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.IServiceNameDAO; -import org.skywalking.apm.collector.core.util.Const; -import org.skywalking.apm.collector.storage.dao.DAOContainer; -import org.skywalking.apm.collector.storage.define.DataDefine; -import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; -import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorker; -import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.worker.Role; -import org.skywalking.apm.collector.stream.worker.WorkerException; -import org.skywalking.apm.collector.stream.worker.selector.ForeverFirstSelector; -import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class ServiceNameRegisterSerialWorker extends AbstractLocalAsyncWorker { - - private final Logger logger = LoggerFactory.getLogger(ServiceNameRegisterSerialWorker.class); - - public ServiceNameRegisterSerialWorker(Role role, ClusterWorkerContext clusterContext) { - super(role, clusterContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override protected void onWork(Object message) throws WorkerException { - if (message instanceof ServiceNameDataDefine.ServiceName) { - ServiceNameDataDefine.ServiceName serviceName = (ServiceNameDataDefine.ServiceName)message; - logger.debug("register service name: {}, application id: {}", serviceName.getServiceName(), serviceName.getApplicationId()); - - IServiceNameDAO dao = (IServiceNameDAO)DAOContainer.INSTANCE.get(IServiceNameDAO.class.getName()); - int serviceId = dao.getServiceId(serviceName.getApplicationId(), serviceName.getServiceName()); - - if (serviceId == 0) { - int min = dao.getMinServiceId(); - if (min == 0) { - ServiceNameDataDefine.ServiceName noneServiceName = new ServiceNameDataDefine.ServiceName("1", Const.NONE_SERVICE_NAME, 0, Const.NONE_SERVICE_ID); - dao.save(noneServiceName); - - serviceName.setServiceId(-1); - serviceName.setId("-1"); - } else { - int max = dao.getMaxServiceId(); - serviceId = IdAutoIncrement.INSTANCE.increment(min, max); - serviceName.setId(String.valueOf(serviceId)); - serviceName.setServiceId(serviceId); - } - dao.save(serviceName); - } - } - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public ServiceNameRegisterSerialWorker workerInstance(ClusterWorkerContext clusterContext) { - return new ServiceNameRegisterSerialWorker(role(), clusterContext); - } - - @Override public int queueSize() { - return 256; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return ServiceNameRegisterSerialWorker.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new ForeverFirstSelector(); - } - - @Override public DataDefine dataDefine() { - return new ServiceNameDataDefine(); - } - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/IServiceNameDAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/IServiceNameDAO.java deleted file mode 100644 index b02ddf180..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/IServiceNameDAO.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.servicename.dao; - -import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; - -/** - * @author pengys5 - */ -public interface IServiceNameDAO { - int getServiceId(int applicationId, String serviceName); - - String getServiceName(int serviceId); - - int getMaxServiceId(); - - int getMinServiceId(); - - void save(ServiceNameDataDefine.ServiceName serviceName); -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameEsDAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameEsDAO.java deleted file mode 100644 index a2e3c63d8..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameEsDAO.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.servicename.dao; - -import java.util.HashMap; -import java.util.Map; -import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.action.index.IndexResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.action.support.WriteRequest; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.SearchHit; -import org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient; -import org.skywalking.apm.collector.core.util.Const; -import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; -import org.skywalking.apm.collector.storage.define.register.ServiceNameTable; -import org.skywalking.apm.collector.storage.elasticsearch.dao.EsDAO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class ServiceNameEsDAO extends EsDAO implements IServiceNameDAO { - - private final Logger logger = LoggerFactory.getLogger(ServiceNameEsDAO.class); - - @Override public int getServiceId(int applicationId, String serviceName) { - ElasticSearchClient client = getClient(); - - SearchRequestBuilder searchRequestBuilder = client.prepareSearch(ServiceNameTable.TABLE); - searchRequestBuilder.setTypes(ServiceNameTable.TABLE_TYPE); - searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH); - BoolQueryBuilder builder = QueryBuilders.boolQuery(); - builder.must().add(QueryBuilders.termQuery(ServiceNameTable.COLUMN_APPLICATION_ID, applicationId)); - builder.must().add(QueryBuilders.termQuery(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName)); - searchRequestBuilder.setQuery(builder); - searchRequestBuilder.setSize(1); - - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - if (searchResponse.getHits().totalHits > 0) { - SearchHit searchHit = searchResponse.getHits().iterator().next(); - int serviceId = (int)searchHit.getSource().get(ServiceNameTable.COLUMN_SERVICE_ID); - return serviceId; - } - return 0; - } - - @Override public int getMaxServiceId() { - return getMaxId(ServiceNameTable.TABLE, ServiceNameTable.COLUMN_SERVICE_ID); - } - - @Override public int getMinServiceId() { - return getMinId(ServiceNameTable.TABLE, ServiceNameTable.COLUMN_SERVICE_ID); - } - - @Override public String getServiceName(int serviceId) { - GetResponse response = getClient().prepareGet(ServiceNameTable.TABLE, String.valueOf(serviceId)).get(); - if (response.isExists()) { - return (String)response.getSource().get(ServiceNameTable.COLUMN_SERVICE_NAME); - } else { - return Const.EMPTY_STRING; - } - } - - @Override public void save(ServiceNameDataDefine.ServiceName serviceName) { - logger.debug("save service name register info, application id: {}, service name: {}", serviceName.getApplicationId(), serviceName.getServiceName()); - ElasticSearchClient client = getClient(); - Map source = new HashMap(); - source.put(ServiceNameTable.COLUMN_SERVICE_ID, serviceName.getServiceId()); - source.put(ServiceNameTable.COLUMN_APPLICATION_ID, serviceName.getApplicationId()); - source.put(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName.getServiceName()); - - IndexResponse response = client.prepareIndex(ServiceNameTable.TABLE, serviceName.getId()).setSource(source).setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE).get(); - logger.debug("save service name register info, application id: {}, service name: {}, status: {}", serviceName.getApplicationId(), serviceName.getServiceName(), response.status().name()); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameH2DAO.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameH2DAO.java deleted file mode 100644 index c73b9687f..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/register/servicename/dao/ServiceNameH2DAO.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.register.servicename.dao; - -import org.skywalking.apm.collector.storage.define.register.ServiceNameDataDefine; -import org.skywalking.apm.collector.storage.h2.dao.H2DAO; - -/** - * @author pengys5 - */ -public class ServiceNameH2DAO extends H2DAO implements IServiceNameDAO { - - @Override public int getServiceId(int applicationId, String serviceName) { - return 0; - } - - @Override public int getMaxServiceId() { - return 0; - } - - @Override public int getMinServiceId() { - return 0; - } - - @Override public String getServiceName(int serviceId) { - return null; - } - - @Override public void save(ServiceNameDataDefine.ServiceName serviceName) { - - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/cost/define/SegmentCostEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/cost/define/SegmentCostEsTableDefine.java index 82f05c550..1e350ba07 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/cost/define/SegmentCostEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/cost/define/SegmentCostEsTableDefine.java @@ -17,14 +17,6 @@ public class SegmentCostEsTableDefine extends ElasticSearchTableDefine { return 5; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(SegmentCostTable.COLUMN_SEGMENT_ID, ElasticSearchColumnDefine.Type.Keyword.name())); addColumn(new ElasticSearchColumnDefine(SegmentCostTable.COLUMN_SERVICE_NAME, ElasticSearchColumnDefine.Type.Text.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/origin/define/SegmentEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/origin/define/SegmentEsTableDefine.java index e32c7129f..ea9288ecd 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/origin/define/SegmentEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/segment/origin/define/SegmentEsTableDefine.java @@ -17,14 +17,6 @@ public class SegmentEsTableDefine extends ElasticSearchTableDefine { return 10; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(SegmentTable.COLUMN_DATA_BINARY, ElasticSearchColumnDefine.Type.Binary.name())); } diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/service/entry/define/ServiceEntryEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/service/entry/define/ServiceEntryEsTableDefine.java index cf2e43608..39de04b31 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/service/entry/define/ServiceEntryEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/service/entry/define/ServiceEntryEsTableDefine.java @@ -17,14 +17,6 @@ public class ServiceEntryEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(ServiceEntryTable.COLUMN_APPLICATION_ID, ElasticSearchColumnDefine.Type.Integer.name())); addColumn(new ElasticSearchColumnDefine(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/serviceref/define/ServiceReferenceEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/serviceref/define/ServiceReferenceEsTableDefine.java index efbe857c2..676810afb 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/serviceref/define/ServiceReferenceEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/serviceref/define/ServiceReferenceEsTableDefine.java @@ -17,14 +17,6 @@ public class ServiceReferenceEsTableDefine extends ElasticSearchTableDefine { return 2; } - @Override public int numberOfShards() { - return 2; - } - - @Override public int numberOfReplicas() { - return 0; - } - @Override public void initialize() { addColumn(new ElasticSearchColumnDefine(ServiceReferenceTable.COLUMN_AGG, ElasticSearchColumnDefine.Type.Keyword.name())); addColumn(new ElasticSearchColumnDefine(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, ElasticSearchColumnDefine.Type.Integer.name())); diff --git a/apm-collector/apm-collector-boot/src/main/resources/application.yml b/apm-collector/apm-collector-boot/src/main/resources/application.yml index 0ff32ca04..c9e94f239 100644 --- a/apm-collector/apm-collector-boot/src/main/resources/application.yml +++ b/apm-collector/apm-collector-boot/src/main/resources/application.yml @@ -7,14 +7,6 @@ agent_server: host: localhost port: 10800 context_path: / -agent_register: - grpc: - host: localhost - port: 11800 - jetty: - host: localhost - port: 12800 - context_path: / agent_stream: grpc: host: localhost @@ -23,10 +15,6 @@ agent_stream: host: localhost port: 12800 context_path: / -agent_jvm: - grpc: - host: localhost - port: 11800 ui: jetty: host: localhost @@ -41,3 +29,5 @@ storage: cluster_name: CollectorDBCluster cluster_transport_sniffer: true cluster_nodes: localhost:9300 + index_shards_number: 2 + index_replicas_number: 0 diff --git a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfig.java b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfig.java index 3526fc98b..c05fea702 100644 --- a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfig.java +++ b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfig.java @@ -7,4 +7,6 @@ public class StorageElasticSearchConfig { public static String CLUSTER_NAME; public static Boolean CLUSTER_TRANSPORT_SNIFFER; public static String CLUSTER_NODES; + public static Integer INDEX_SHARDS_NUMBER; + public static Integer INDEX_REPLICAS_NUMBER; } diff --git a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfigParser.java b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfigParser.java index 6653fdc22..223f4ad00 100644 --- a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfigParser.java +++ b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/StorageElasticSearchConfigParser.java @@ -14,6 +14,8 @@ public class StorageElasticSearchConfigParser implements ModuleConfigParser { private static final String CLUSTER_NAME = "cluster_name"; private static final String CLUSTER_TRANSPORT_SNIFFER = "cluster_transport_sniffer"; private static final String CLUSTER_NODES = "cluster_nodes"; + private static final String INDEX_SHARDS_NUMBER = "index_shards_number"; + private static final String INDEX_REPLICAS_NUMBER = "index_replicas_number"; @Override public void parse(Map config) throws ConfigParseException { if (ObjectUtils.isNotEmpty(config) && StringUtils.isNotEmpty(config.get(CLUSTER_NAME))) { @@ -25,5 +27,15 @@ public class StorageElasticSearchConfigParser implements ModuleConfigParser { if (ObjectUtils.isNotEmpty(config) && StringUtils.isNotEmpty(config.get(CLUSTER_NODES))) { StorageElasticSearchConfig.CLUSTER_NODES = (String)config.get(CLUSTER_NODES); } + if (ObjectUtils.isNotEmpty(config) && StringUtils.isNotEmpty(config.get(INDEX_SHARDS_NUMBER))) { + StorageElasticSearchConfig.INDEX_SHARDS_NUMBER = (Integer)config.get(INDEX_SHARDS_NUMBER); + } else { + StorageElasticSearchConfig.INDEX_SHARDS_NUMBER = 2; + } + if (ObjectUtils.isNotEmpty(config) && StringUtils.isNotEmpty(config.get(INDEX_REPLICAS_NUMBER))) { + StorageElasticSearchConfig.INDEX_REPLICAS_NUMBER = (Integer)config.get(INDEX_REPLICAS_NUMBER); + } else { + StorageElasticSearchConfig.INDEX_REPLICAS_NUMBER = 0; + } } } diff --git a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchStorageInstaller.java b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchStorageInstaller.java index 05e3f2738..03c1805b9 100644 --- a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchStorageInstaller.java +++ b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchStorageInstaller.java @@ -11,6 +11,7 @@ import org.skywalking.apm.collector.core.client.Client; import org.skywalking.apm.collector.core.storage.ColumnDefine; import org.skywalking.apm.collector.core.storage.StorageInstaller; import org.skywalking.apm.collector.core.storage.TableDefine; +import org.skywalking.apm.collector.storage.elasticsearch.StorageElasticSearchConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,8 +52,8 @@ public class ElasticSearchStorageInstaller extends StorageInstaller { private Settings createSettingBuilder(ElasticSearchTableDefine tableDefine) { return Settings.builder() - .put("index.number_of_shards", tableDefine.numberOfShards()) - .put("index.number_of_replicas", tableDefine.numberOfReplicas()) + .put("index.number_of_shards", StorageElasticSearchConfig.INDEX_SHARDS_NUMBER) + .put("index.number_of_replicas", StorageElasticSearchConfig.INDEX_REPLICAS_NUMBER) .put("index.refresh_interval", String.valueOf(tableDefine.refreshInterval()) + "s") .put("analysis.analyzer.collector_analyzer.tokenizer", "collector_tokenizer") diff --git a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchTableDefine.java b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchTableDefine.java index c9f7241f4..92c6807a8 100644 --- a/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchTableDefine.java +++ b/apm-collector/apm-collector-storage/src/main/java/org/skywalking/apm/collector/storage/elasticsearch/define/ElasticSearchTableDefine.java @@ -16,8 +16,4 @@ public abstract class ElasticSearchTableDefine extends TableDefine { } public abstract int refreshInterval(); - - public abstract int numberOfShards(); - - public abstract int numberOfReplicas(); }