diff --git a/apm-collector/apm-collector-agentjvm/pom.xml b/apm-collector/apm-collector-agentjvm/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..8f20f17ab766f479b32f762f579464eb10aa1e5b --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/pom.xml @@ -0,0 +1,32 @@ + + + + apm-collector + org.skywalking + 3.2-2017 + + 4.0.0 + + apm-collector-agentjvm + jar + + + + org.skywalking + apm-collector-cluster + ${project.version} + + + org.skywalking + apm-collector-server + ${project.version} + + + org.skywalking + apm-network + ${project.version} + + + \ No newline at end of file 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 new file mode 100644 index 0000000000000000000000000000000000000000..5152b68d635132e30d9e3e65f674a3feeb9e97a1 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleContext.java @@ -0,0 +1,12 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..29826dd6a3d278d7095b8d3ee700c20b3a835c7b --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleDefine.java @@ -0,0 +1,51 @@ +package org.skywalking.apm.collector.agentjvm; + +import java.util.List; +import java.util.Map; +import org.skywalking.apm.collector.cluster.ClusterModuleGroupDefine; +import org.skywalking.apm.collector.core.client.Client; +import org.skywalking.apm.collector.core.client.ClientException; +import org.skywalking.apm.collector.core.client.DataMonitor; +import org.skywalking.apm.collector.core.cluster.ClusterDataListenerDefine; +import org.skywalking.apm.collector.core.cluster.ClusterModuleContext; +import org.skywalking.apm.collector.core.config.ConfigParseException; +import org.skywalking.apm.collector.core.framework.CollectorContextHelper; +import org.skywalking.apm.collector.core.framework.DefineException; +import org.skywalking.apm.collector.core.framework.Handler; +import org.skywalking.apm.collector.core.module.ModuleDefine; +import org.skywalking.apm.collector.core.server.Server; +import org.skywalking.apm.collector.core.server.ServerException; +import org.skywalking.apm.collector.core.server.ServerHolder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public abstract class AgentJVMModuleDefine extends ModuleDefine implements ClusterDataListenerDefine { + + private final Logger logger = LoggerFactory.getLogger(AgentJVMModuleDefine.class); + + @Override + public final void initialize(Map config, ServerHolder serverHolder) throws DefineException, ClientException { + try { + configParser().parse(config); + Server server = server(); + serverHolder.holdServer(server, handlerList()); + + ((ClusterModuleContext)CollectorContextHelper.INSTANCE.getContext(ClusterModuleGroupDefine.GROUP_NAME)).getDataMonitor().addListener(listener(), registration()); + } catch (ConfigParseException | ServerException e) { + throw new AgentJVMModuleException(e.getMessage(), e); + } + } + + @Override protected final Client createClient(DataMonitor dataMonitor) { + throw new UnsupportedOperationException(""); + } + + @Override public final boolean defaultModule() { + return true; + } + + public abstract List handlerList(); +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..6732f2636b7ce52fce36b36d92aa2937339f55d0 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleException.java @@ -0,0 +1,16 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..89b9422904c7a601c1b0d6140e4a10ca37f09d34 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleGroupDefine.java @@ -0,0 +1,25 @@ +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"; + + @Override public String name() { + return GROUP_NAME; + } + + @Override public Context groupContext() { + return new AgentJVMModuleContext(GROUP_NAME); + } + + @Override public ModuleInstaller moduleInstaller() { + return new AgentJVMModuleInstaller(); + } +} diff --git a/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleInstaller.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleInstaller.java new file mode 100644 index 0000000000000000000000000000000000000000..defe8786e5d75939b18e600db0111399da96f032 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/AgentJVMModuleInstaller.java @@ -0,0 +1,36 @@ +package org.skywalking.apm.collector.agentjvm; + +import java.util.Iterator; +import java.util.Map; +import org.skywalking.apm.collector.core.client.ClientException; +import org.skywalking.apm.collector.core.framework.CollectorContextHelper; +import org.skywalking.apm.collector.core.framework.DefineException; +import org.skywalking.apm.collector.core.module.ModuleDefine; +import org.skywalking.apm.collector.core.module.ModuleInstaller; +import org.skywalking.apm.collector.core.server.ServerHolder; +import org.skywalking.apm.collector.core.util.ObjectUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class AgentJVMModuleInstaller implements ModuleInstaller { + + private final Logger logger = LoggerFactory.getLogger(AgentJVMModuleInstaller.class); + + @Override public void install(Map moduleConfig, + Map moduleDefineMap, ServerHolder serverHolder) throws DefineException, ClientException { + logger.info("beginning agent jvm module install"); + + AgentJVMModuleContext context = new AgentJVMModuleContext(AgentJVMModuleGroupDefine.GROUP_NAME); + CollectorContextHelper.INSTANCE.putContext(context); + + Iterator> moduleDefineEntry = moduleDefineMap.entrySet().iterator(); + while (moduleDefineEntry.hasNext()) { + ModuleDefine moduleDefine = moduleDefineEntry.next().getValue(); + logger.info("module {} initialize", moduleDefine.getClass().getName()); + moduleDefine.initialize((ObjectUtils.isNotEmpty(moduleConfig) && moduleConfig.containsKey(moduleDefine.name())) ? moduleConfig.get(moduleDefine.name()) : null, serverHolder); + } + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..1376814cdf78ed0039bbaf84976b18ed8f9b0435 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfig.java @@ -0,0 +1,9 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..d5d1996aae787f05a9a3676030a99e687f672073 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCConfigParser.java @@ -0,0 +1,27 @@ +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"; + } + 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 new file mode 100644 index 0000000000000000000000000000000000000000..d0ea0aa61bad6cac8fa68b5cbac58ad0f3735e81 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCDataListener.java @@ -0,0 +1,17 @@ +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; + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..358adedfbd69a34d7461f69fa53a044432650d63 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleDefine.java @@ -0,0 +1,51 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..ca249dea7806fa3ec12be45b6517bdedbc58a6ac --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/AgentJVMGRPCModuleRegistration.java @@ -0,0 +1,13 @@ +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/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..7166b980d52588ad2b54ef01e4c0f7df39e8382d --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java @@ -0,0 +1,17 @@ +package org.skywalking.apm.collector.agentjvm.grpc.handler; + +import io.grpc.stub.StreamObserver; +import org.skywalking.apm.collector.server.grpc.GRPCHandler; +import org.skywalking.apm.network.proto.Downstream; +import org.skywalking.apm.network.proto.JVMMetrics; +import org.skywalking.apm.network.proto.JVMMetricsServiceGrpc; + +/** + * @author pengys5 + */ +public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsServiceImplBase implements GRPCHandler { + + @Override public void collect(JVMMetrics request, StreamObserver responseObserver) { + super.collect(request, responseObserver); + } +} 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 new file mode 100644 index 0000000000000000000000000000000000000000..0b2741b980836f02ccc3e4adce0901c5f5efa4e5 --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/group.define @@ -0,0 +1 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..78d6e4a4179fc1c333b427aacc578c0fb95d9a6c --- /dev/null +++ b/apm-collector/apm-collector-agentjvm/src/main/resources/META-INF/defines/module.define @@ -0,0 +1 @@ +org.skywalking.apm.collector.agentjvm.grpc.AgentJVMGRPCModuleDefine \ No newline at end of file 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 index e9fca8ad355a560257640824b854be77e64378d7..509009c37137e46e4a68a62b6af504b541680a40 100644 --- 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 @@ -1,8 +1,12 @@ 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; @@ -42,6 +46,10 @@ public class AgentRegisterGRPCModuleDefine extends AgentRegisterModuleDefine { } @Override public List handlerList() { - return null; + 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/handler/ApplicationRegisterServiceHandler.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/ApplicationRegisterServiceHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..705c2b74e31dbb7ef3889aaf862c761588662b48 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/ApplicationRegisterServiceHandler.java @@ -0,0 +1,16 @@ +package org.skywalking.apm.collector.agentregister.grpc.handler; + +import io.grpc.stub.StreamObserver; +import org.skywalking.apm.collector.server.grpc.GRPCHandler; +import org.skywalking.apm.network.proto.Application; +import org.skywalking.apm.network.proto.ApplicationMapping; +import org.skywalking.apm.network.proto.ApplicationRegisterServiceGrpc; + +/** + * @author pengys5 + */ +public class ApplicationRegisterServiceHandler extends ApplicationRegisterServiceGrpc.ApplicationRegisterServiceImplBase implements GRPCHandler { + @Override public void register(Application request, StreamObserver responseObserver) { + + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/InstanceDiscoveryServiceHandler.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/InstanceDiscoveryServiceHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..70f64ed9b3fe1fa43c38e7d13b21f815395c3fa6 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/InstanceDiscoveryServiceHandler.java @@ -0,0 +1,30 @@ +package org.skywalking.apm.collector.agentregister.grpc.handler; + +import io.grpc.stub.StreamObserver; +import org.skywalking.apm.collector.server.grpc.GRPCHandler; +import org.skywalking.apm.network.proto.ApplicationInstance; +import org.skywalking.apm.network.proto.ApplicationInstanceHeartbeat; +import org.skywalking.apm.network.proto.ApplicationInstanceMapping; +import org.skywalking.apm.network.proto.ApplicationInstanceRecover; +import org.skywalking.apm.network.proto.Downstream; +import org.skywalking.apm.network.proto.InstanceDiscoveryServiceGrpc; + +/** + * @author pengys5 + */ +public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrpc.InstanceDiscoveryServiceImplBase implements GRPCHandler { + + @Override + public void register(ApplicationInstance request, StreamObserver responseObserver) { + super.register(request, responseObserver); + } + + @Override public void heartbeat(ApplicationInstanceHeartbeat request, StreamObserver responseObserver) { + super.heartbeat(request, responseObserver); + } + + @Override + public void registerRecover(ApplicationInstanceRecover request, StreamObserver responseObserver) { + super.registerRecover(request, responseObserver); + } +} diff --git a/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/ServiceNameDiscoveryServiceHandler.java b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/ServiceNameDiscoveryServiceHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..a0e040c9f4aecf5c24250b35648e6187a5e6a795 --- /dev/null +++ b/apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/ServiceNameDiscoveryServiceHandler.java @@ -0,0 +1,18 @@ +package org.skywalking.apm.collector.agentregister.grpc.handler; + +import io.grpc.stub.StreamObserver; +import org.skywalking.apm.collector.server.grpc.GRPCHandler; +import org.skywalking.apm.network.proto.ServiceNameCollection; +import org.skywalking.apm.network.proto.ServiceNameDiscoveryServiceGrpc; +import org.skywalking.apm.network.proto.ServiceNameMappingCollection; + +/** + * @author pengys5 + */ +public class ServiceNameDiscoveryServiceHandler extends ServiceNameDiscoveryServiceGrpc.ServiceNameDiscoveryServiceImplBase implements GRPCHandler { + + @Override public void discovery(ServiceNameCollection request, + StreamObserver responseObserver) { + super.discovery(request, responseObserver); + } +} diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml index 94efcc0fc8db48e24d8dcab8e2992f73e35e5291..dff459ea8a5f2aaffbef2653d7b05592f5752c04 100644 --- a/apm-collector/apm-collector-boot/pom.xml +++ b/apm-collector/apm-collector-boot/pom.xml @@ -43,5 +43,10 @@ apm-collector-agentregister ${project.version} + + org.skywalking + apm-collector-agentjvm + ${project.version} + \ No newline at end of file diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleInstaller.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleInstaller.java index 00a5bf070e634f53a94be4e9a24d87c8f42d121f..18f1b8f2b5c5ed8e07864a8fce025b669f61b2be 100644 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleInstaller.java +++ b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleInstaller.java @@ -13,6 +13,6 @@ import org.skywalking.apm.collector.core.server.ServerHolder; public class RemoteModuleInstaller implements ModuleInstaller { @Override public void install(Map moduleConfig, Map moduleDefineMap, ServerHolder serverHolder) throws DefineException, ClientException { - + } } diff --git a/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCHandler.java b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..7a6dd08bf632a000ea4f1b7884ab03eebda47d3d --- /dev/null +++ b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCHandler.java @@ -0,0 +1,9 @@ +package org.skywalking.apm.collector.server.grpc; + +import org.skywalking.apm.collector.core.framework.Handler; + +/** + * @author pengys5 + */ +public interface GRPCHandler extends Handler { +} diff --git a/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java index 98c2f12db6929fc61c6694683d20fdac5fd3587b..592b44278762613cfe3dce8fcc587565e3e7744e 100644 --- a/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java +++ b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java @@ -50,5 +50,6 @@ public class GRPCServer implements Server { } @Override public void addHandler(Handler handler) { + nettyServerBuilder.addService((io.grpc.BindableService)handler); } } diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml index 67c9b2384a1f2d773d4b3b11657d5b4d2ebb499b..a73fc46cd7917648f273c3f3c3c94db5e8927303 100644 --- a/apm-collector/pom.xml +++ b/apm-collector/pom.xml @@ -16,6 +16,7 @@ apm-collector-stream apm-collector-agentserver apm-collector-agentregister + apm-collector-agentjvm apm