diff --git a/apm-collector/apm-collector-agentstream/pom.xml b/apm-collector/apm-collector-agentstream/pom.xml index 7cf497179..e76c1b793 100644 --- a/apm-collector/apm-collector-agentstream/pom.xml +++ b/apm-collector/apm-collector-agentstream/pom.xml @@ -34,4 +34,49 @@ ${project.version} + + + + + kr.motd.maven + os-maven-plugin + 1.4.1.Final + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.4.3 + + ${project.build.sourceEncoding} + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + 0.5.0 + + + com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier} + + grpc-java + io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier} + + + + + + compile + compile-custom + + + + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleContext.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleContext.java index 8d6219c04..f80a15ba5 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleContext.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/AgentStreamModuleContext.java @@ -6,6 +6,7 @@ import org.skywalking.apm.collector.core.framework.Context; * @author pengys5 */ public class AgentStreamModuleContext extends Context { + public AgentStreamModuleContext(String groupName) { super(groupName); } diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/AgentStreamModuleDefineException.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/AgentStreamModuleDefineException.java new file mode 100644 index 000000000..c57b297fb --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/AgentStreamModuleDefineException.java @@ -0,0 +1,17 @@ +package org.skywalking.apm.collector.agentstream.worker; + +import org.skywalking.apm.collector.core.framework.DefineException; + +/** + * @author pengys5 + */ +public class AgentStreamModuleDefineException extends DefineException { + + public AgentStreamModuleDefineException(String message) { + super(message); + } + + public AgentStreamModuleDefineException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/aggregation/NodeComponentAggDayWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/aggregation/NodeComponentAggDayWorker.java deleted file mode 100644 index f73e122c1..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/aggregation/NodeComponentAggDayWorker.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.node.aggregation; - -import org.skywalking.apm.collector.stream.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.LocalWorkerContext; -import org.skywalking.apm.collector.stream.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.Role; -import org.skywalking.apm.collector.stream.impl.AggregationWorker; - -/** - * @author pengys5 - */ -public class NodeComponentAggDayWorker extends AggregationWorker { - - public NodeComponentAggDayWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override protected void sendToNext() { - - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentAggWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentAggWorker.java new file mode 100644 index 000000000..89fc75805 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentAggWorker.java @@ -0,0 +1,57 @@ +package org.skywalking.apm.collector.agentstream.worker.node.component; + +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.impl.AggregationWorker; +import org.skywalking.apm.collector.stream.worker.selector.RollingSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; + +/** + * @author pengys5 + */ +public class NodeComponentAggWorker extends AggregationWorker { + + public NodeComponentAggWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + super.preStart(); + } + + @Override protected void sendToNext() { + + } + + public static class Factory extends AbstractLocalAsyncWorkerProvider { + @Override + public Role role() { + return Role.INSTANCE; + } + + @Override + public NodeComponentAggWorker workerInstance(ClusterWorkerContext clusterContext) { + return new NodeComponentAggWorker(role(), clusterContext); + } + + @Override + public int queueSize() { + return 1024; + } + } + + public enum Role implements org.skywalking.apm.collector.stream.worker.Role { + INSTANCE; + + @Override + public String roleName() { + return NodeComponentAggWorker.class.getSimpleName(); + } + + @Override + public WorkerSelector workerSelector() { + return new RollingSelector(); + } + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentDataDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentDataDefine.java new file mode 100644 index 000000000..34336b0d6 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentDataDefine.java @@ -0,0 +1,42 @@ +package org.skywalking.apm.collector.agentstream.worker.node.component; + +import com.google.protobuf.ByteString; +import com.google.protobuf.InvalidProtocolBufferException; +import org.skywalking.apm.collector.agentstream.worker.node.define.proto.NodeComponent; +import org.skywalking.apm.collector.stream.worker.impl.data.Attribute; +import org.skywalking.apm.collector.stream.worker.impl.data.AttributeType; +import org.skywalking.apm.collector.stream.worker.impl.data.Data; +import org.skywalking.apm.collector.stream.worker.impl.data.DataDefine; +import org.skywalking.apm.collector.stream.worker.impl.data.operate.CoverOperation; +import org.skywalking.apm.collector.stream.worker.impl.data.operate.NonOperation; + +/** + * @author pengys5 + */ +public class NodeComponentDataDefine extends DataDefine { + + @Override protected int defineId() { + return 0; + } + + @Override protected int initialCapacity() { + return 4; + } + + @Override protected void attributeDefine() { + addAttribute(0, new Attribute("id", AttributeType.STRING, new NonOperation())); + addAttribute(1, new Attribute("name", AttributeType.STRING, new CoverOperation())); + addAttribute(2, new Attribute("peers", AttributeType.STRING, new CoverOperation())); + addAttribute(3, new Attribute("aggregation", AttributeType.STRING, new CoverOperation())); + } + + @Override public Data parseFrom(ByteString bytesData) throws InvalidProtocolBufferException { + NodeComponent.Message message = NodeComponent.Message.parseFrom(bytesData); + Data data = build(); + data.setDataString(0, message.getId()); + data.setDataString(1, message.getName()); + data.setDataString(2, message.getPeers()); + data.setDataString(3, message.getAggregation()); + return data; + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentRemoteWorker.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentRemoteWorker.java new file mode 100644 index 000000000..41b9096ce --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentRemoteWorker.java @@ -0,0 +1,25 @@ +package org.skywalking.apm.collector.agentstream.worker.node.component; + +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; +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; + +/** + * @author pengys5 + */ +public class NodeComponentRemoteWorker extends AbstractRemoteWorker { + + protected NodeComponentRemoteWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + + } + + @Override protected void onWork(Object message) throws WorkerException { + + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentTable.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentTable.java similarity index 81% rename from apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentTable.java rename to apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentTable.java index 9d479cd10..211c8b5e6 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentTable.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/component/NodeComponentTable.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.agentstream.worker.node.define; +package org.skywalking.apm.collector.agentstream.worker.node.component; import org.skywalking.apm.collector.agentstream.worker.CommonTable; diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentDataDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentDataDefine.java deleted file mode 100644 index 4bc3e36ce..000000000 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentDataDefine.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.skywalking.apm.collector.agentstream.worker.node.define; - -import org.skywalking.apm.collector.stream.impl.data.Attribute; -import org.skywalking.apm.collector.stream.impl.data.AttributeType; -import org.skywalking.apm.collector.stream.impl.data.DataDefine; -import org.skywalking.apm.collector.stream.impl.data.operate.CoverOperation; -import org.skywalking.apm.collector.stream.impl.data.operate.NonOperation; - -/** - * @author pengys5 - */ -public class NodeComponentDataDefine extends DataDefine { - - @Override protected int defineId() { - return 0; - } - - @Override protected int initialCapacity() { - return 4; - } - - @Override protected void attributeDefine() { - addAttribute(0, new Attribute("id", AttributeType.STRING, new NonOperation())); - addAttribute(1, new Attribute("name", AttributeType.STRING, new CoverOperation())); - addAttribute(2, new Attribute("peers", AttributeType.STRING, new CoverOperation())); - addAttribute(3, new Attribute("aggregation", AttributeType.STRING, new CoverOperation())); - } -} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentEsTableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentEsTableDefine.java index a2b4fe89e..01f76b785 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentEsTableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentEsTableDefine.java @@ -1,5 +1,6 @@ package org.skywalking.apm.collector.agentstream.worker.node.define; +import org.skywalking.apm.collector.agentstream.worker.node.component.NodeComponentTable; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchColumnDefine; import org.skywalking.apm.collector.storage.elasticsearch.define.ElasticSearchTableDefine; diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentH2TableDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentH2TableDefine.java index 8b6ab6c67..550890ba2 100644 --- a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentH2TableDefine.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/node/define/NodeComponentH2TableDefine.java @@ -1,5 +1,6 @@ package org.skywalking.apm.collector.agentstream.worker.node.define; +import org.skywalking.apm.collector.agentstream.worker.node.component.NodeComponentTable; import org.skywalking.apm.collector.storage.h2.define.H2ColumnDefine; import org.skywalking.apm.collector.storage.h2.define.H2TableDefine; diff --git a/apm-collector/apm-collector-agentstream/src/main/proto/NodeComponent.proto b/apm-collector/apm-collector-agentstream/src/main/proto/NodeComponent.proto index 4ad963754..df981e85d 100644 --- a/apm-collector/apm-collector-agentstream/src/main/proto/NodeComponent.proto +++ b/apm-collector/apm-collector-agentstream/src/main/proto/NodeComponent.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -option java_multiple_files = true; +option java_multiple_files = false; option java_package = "org.skywalking.apm.collector.agentstream.worker.node.define.proto"; message Message { diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/data.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/data.define index a25812b85..d87c1fdd9 100644 --- a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/data.define +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/data.define @@ -1 +1 @@ -org.skywalking.apm.collector.agentstream.worker.node.define.NodeComponentDataDefine \ No newline at end of file +org.skywalking.apm.collector.agentstream.worker.node.component.NodeComponentDataDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/local_async_worker_provider.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/local_async_worker_provider.define new file mode 100644 index 000000000..33897fbdc --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/local_async_worker_provider.define @@ -0,0 +1 @@ +org.skywalking.apm.collector.agentstream.worker.node.component.NodeComponentAggWorker$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 new file mode 100644 index 000000000..e69de29bb diff --git a/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorStarter.java b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorStarter.java index de22a4cf1..74d041c27 100644 --- a/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorStarter.java +++ b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorStarter.java @@ -11,7 +11,6 @@ import org.skywalking.apm.collector.core.module.ModuleDefine; import org.skywalking.apm.collector.core.module.ModuleDefineLoader; import org.skywalking.apm.collector.core.module.ModuleGroupDefine; import org.skywalking.apm.collector.core.module.ModuleGroupDefineLoader; -import org.skywalking.apm.collector.core.remote.SerializedDefineLoader; import org.skywalking.apm.collector.core.server.ServerException; import org.skywalking.apm.collector.core.server.ServerHolder; import org.slf4j.Logger; @@ -28,9 +27,6 @@ public class CollectorStarter implements Starter { ModuleConfigLoader configLoader = new ModuleConfigLoader(); Map configuration = configLoader.load(); - SerializedDefineLoader serializedDefineLoader = new SerializedDefineLoader(); - serializedDefineLoader.load(); - ModuleGroupDefineLoader groupDefineLoader = new ModuleGroupDefineLoader(); Map moduleGroupDefineMap = groupDefineLoader.load(); 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 c5d7f5897..5e1a6de33 100644 --- a/apm-collector/apm-collector-boot/src/main/resources/application.yml +++ b/apm-collector/apm-collector-boot/src/main/resources/application.yml @@ -5,9 +5,6 @@ cluster: # redis: # host: localhost # port: 6379 -queue: - disruptor: on - data_carrier: off agentstream: grpc: host: localhost diff --git a/apm-collector/apm-collector-client/pom.xml b/apm-collector/apm-collector-client/pom.xml index 01bd8c710..31f9fdad0 100644 --- a/apm-collector/apm-collector-client/pom.xml +++ b/apm-collector/apm-collector-client/pom.xml @@ -37,10 +37,6 @@ snakeyaml org.yaml - - log4j-api - org.apache.logging.log4j - diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/SingleModuleInstaller.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/SingleModuleInstaller.java index 4d28b2f55..247282402 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/SingleModuleInstaller.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/SingleModuleInstaller.java @@ -31,9 +31,9 @@ public abstract class SingleModuleInstaller implements ModuleInstaller { } } } else { - Map.Entry clusterConfigEntry = moduleConfig.entrySet().iterator().next(); - moduleDefine = moduleDefineMap.get(clusterConfigEntry.getKey()); - moduleDefine.initialize(clusterConfigEntry.getValue(), serverHolder); + Map.Entry configEntry = moduleConfig.entrySet().iterator().next(); + moduleDefine = moduleDefineMap.get(configEntry.getKey()); + moduleDefine.initialize(configEntry.getValue(), serverHolder); } } } diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefine.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefine.java deleted file mode 100644 index bafafd87e..000000000 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefine.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.skywalking.apm.collector.core.remote; - -/** - * @author pengys5 - */ -public interface SerializedDefine { - int ID(); - - Class clazz(); -} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefineLoader.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefineLoader.java deleted file mode 100644 index c07386260..000000000 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefineLoader.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.skywalking.apm.collector.core.remote; - -import java.util.LinkedHashMap; -import java.util.Map; -import org.skywalking.apm.collector.core.config.ConfigException; -import org.skywalking.apm.collector.core.framework.Loader; -import org.skywalking.apm.collector.core.module.ModuleGroupDefineLoader; -import org.skywalking.apm.collector.core.util.DefinitionLoader; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class SerializedDefineLoader implements Loader> { - - private final Logger logger = LoggerFactory.getLogger(ModuleGroupDefineLoader.class); - - @Override public Map load() throws ConfigException { - Map serializedDefineMap = new LinkedHashMap<>(); - SerializedDefinitionFile definitionFile = new SerializedDefinitionFile(); - logger.info("serialized definition file name: {}", definitionFile.fileName()); - - DefinitionLoader definitionLoader = DefinitionLoader.load(SerializedDefine.class, definitionFile); - - int id = 1; - for (SerializedDefine serializedDefine : definitionLoader) { - logger.info("loaded serialized definition class: {}", serializedDefine.getClass().getName()); - serializedDefineMap.put(id, serializedDefine); - } - return serializedDefineMap; - } -} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefinitionFile.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefinitionFile.java deleted file mode 100644 index a8ee1988a..000000000 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefinitionFile.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.skywalking.apm.collector.core.remote; - -import org.skywalking.apm.collector.core.framework.DefinitionFile; - -/** - * @author pengys5 - */ -public class SerializedDefinitionFile extends DefinitionFile { - @Override protected String fileName() { - return "serialized.define"; - } -} diff --git a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/QueueModuleInstaller.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/QueueModuleInstaller.java index 590c32a66..b0ed3238a 100644 --- a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/QueueModuleInstaller.java +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/QueueModuleInstaller.java @@ -2,9 +2,10 @@ package org.skywalking.apm.collector.queue; 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.module.SingleModuleInstaller; import org.skywalking.apm.collector.core.server.ServerHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,13 +13,16 @@ import org.slf4j.LoggerFactory; /** * @author pengys5 */ -public class QueueModuleInstaller implements ModuleInstaller { +public class QueueModuleInstaller extends SingleModuleInstaller { private final Logger logger = LoggerFactory.getLogger(QueueModuleInstaller.class); @Override public void install(Map moduleConfig, Map moduleDefineMap, ServerHolder serverHolder) throws DefineException, ClientException { logger.info("beginning queue module install"); + QueueModuleContext context = new QueueModuleContext(QueueModuleGroupDefine.GROUP_NAME); + CollectorContextHelper.INSTANCE.putContext(context); + installSingle(moduleConfig, moduleDefineMap, serverHolder); } } diff --git a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/QueueDataCarrierModuleDefine.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/QueueDataCarrierModuleDefine.java index 2bef023b4..af5db748a 100644 --- a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/QueueDataCarrierModuleDefine.java +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/QueueDataCarrierModuleDefine.java @@ -23,7 +23,7 @@ public class QueueDataCarrierModuleDefine extends QueueModuleDefine { } @Override public boolean defaultModule() { - return true; + return false; } @Override diff --git a/apm-collector/apm-collector-remote/pom.xml b/apm-collector/apm-collector-remote/pom.xml deleted file mode 100644 index f20ebd870..000000000 --- a/apm-collector/apm-collector-remote/pom.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - apm-collector - org.skywalking - 3.2-2017 - - 4.0.0 - - apm-collector-remote - jar - - - UTF-8 - 1.4.0 - 4.1.12.Final - - - - - org.skywalking - apm-collector-core - ${project.version} - - - org.skywalking - apm-collector-server - ${project.version} - - - org.skywalking - apm-collector-cluster - ${project.version} - - - io.grpc - grpc-netty - ${grpc.version} - - - io.netty - netty-codec-http2 - - - io.netty - netty-handler-proxy - - - - - io.grpc - grpc-protobuf - ${grpc.version} - - - io.grpc - grpc-stub - ${grpc.version} - - - io.netty - netty-codec-http2 - ${netty.version} - - - io.netty - netty-handler-proxy - ${netty.version} - - - - - - - kr.motd.maven - os-maven-plugin - 1.4.1.Final - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.4.3 - - ${project.build.sourceEncoding} - - - - org.xolstice.maven.plugins - protobuf-maven-plugin - 0.5.0 - - - com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier} - - grpc-java - io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier} - - - - - - compile - compile-custom - - - - - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleContext.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleContext.java deleted file mode 100644 index f5bb5b805..000000000 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleContext.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.skywalking.apm.collector.remote; - -import org.skywalking.apm.collector.core.framework.Context; - -/** - * @author pengys5 - */ -public class RemoteModuleContext extends Context { - public RemoteModuleContext(String groupName) { - super(groupName); - } -} diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleException.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleException.java deleted file mode 100644 index 87af6e986..000000000 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleException.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.skywalking.apm.collector.remote; - -import org.skywalking.apm.collector.core.module.ModuleException; - -/** - * @author pengys5 - */ -public class RemoteModuleException extends ModuleException { - - public RemoteModuleException(String message) { - super(message); - } - - public RemoteModuleException(String message, Throwable cause) { - super(message, cause); - } -} 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 deleted file mode 100644 index 18f1b8f2b..000000000 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleInstaller.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.remote; - -import java.util.Map; -import org.skywalking.apm.collector.core.client.ClientException; -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; - -/** - * @author pengys5 - */ -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-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleRegistration.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleRegistration.java deleted file mode 100644 index 4f5a371d2..000000000 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleRegistration.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.remote.grpc; - -import org.skywalking.apm.collector.core.module.ModuleRegistration; - -/** - * @author pengys5 - */ -public class RemoteGRPCModuleRegistration extends ModuleRegistration { - - @Override public Value buildValue() { - return new Value(RemoteGRPCConfig.HOST, RemoteGRPCConfig.PORT, null); - } -} diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefineException.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefineException.java deleted file mode 100644 index 7a5c6063b..000000000 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefineException.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.skywalking.apm.collector.remote.grpc.handler; - -import org.skywalking.apm.collector.core.framework.DefineException; - -/** - * @author pengys5 - */ -public class RemoteHandlerDefineException extends DefineException { - - public RemoteHandlerDefineException(String message) { - super(message); - } - - public RemoteHandlerDefineException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefineLoader.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefineLoader.java deleted file mode 100644 index b125bc090..000000000 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefineLoader.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.skywalking.apm.collector.remote.grpc.handler; - -import java.util.ArrayList; -import java.util.List; -import org.skywalking.apm.collector.core.config.ConfigException; -import org.skywalking.apm.collector.core.framework.Handler; -import org.skywalking.apm.collector.core.framework.Loader; -import org.skywalking.apm.collector.core.util.DefinitionLoader; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class RemoteHandlerDefineLoader implements Loader> { - - private final Logger logger = LoggerFactory.getLogger(RemoteHandlerDefineLoader.class); - - @Override public List load() throws ConfigException { - List handlers = new ArrayList<>(); - - RemoteHandlerDefinitionFile definitionFile = new RemoteHandlerDefinitionFile(); - DefinitionLoader definitionLoader = DefinitionLoader.load(Handler.class, definitionFile); - for (Handler handler : definitionLoader) { - logger.info("loaded remote handler definition class: {}", handler.getClass().getName()); - handlers.add(handler); - } - return handlers; - } -} diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefinitionFile.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefinitionFile.java deleted file mode 100644 index 4231229c4..000000000 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteHandlerDefinitionFile.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.remote.grpc.handler; - -import org.skywalking.apm.collector.core.framework.DefinitionFile; - -/** - * @author pengys5 - */ -public class RemoteHandlerDefinitionFile extends DefinitionFile { - - @Override protected String fileName() { - return "remote_handler.define"; - } -} diff --git a/apm-collector/apm-collector-remote/src/main/resources/META-INF/defines/group.define b/apm-collector/apm-collector-remote/src/main/resources/META-INF/defines/group.define deleted file mode 100644 index 141478aab..000000000 --- a/apm-collector/apm-collector-remote/src/main/resources/META-INF/defines/group.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.remote.RemoteModuleGroupDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-remote/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-remote/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index 02abab5e6..000000000 --- a/apm-collector/apm-collector-remote/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.remote.grpc.RemoteGRPCModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-stream/pom.xml b/apm-collector/apm-collector-stream/pom.xml index 9ace78e53..cc73ad3ca 100644 --- a/apm-collector/apm-collector-stream/pom.xml +++ b/apm-collector/apm-collector-stream/pom.xml @@ -18,6 +18,11 @@ apm-collector-core ${project.version} + + org.skywalking + apm-collector-cluster + ${project.version} + org.skywalking apm-collector-queue @@ -25,8 +30,53 @@ org.skywalking - apm-collector-remote + apm-collector-server ${project.version} + + + + + kr.motd.maven + os-maven-plugin + 1.4.1.Final + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.4.3 + + ${project.build.sourceEncoding} + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + 0.5.0 + + + com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier} + + grpc-java + io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier} + + + + + + compile + compile-custom + + + + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalSyncWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalSyncWorkerProvider.java deleted file mode 100644 index 30ab8713c..000000000 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalSyncWorkerProvider.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.skywalking.apm.collector.stream; - -/** - * @author pengys5 - */ -public abstract class AbstractLocalSyncWorkerProvider extends AbstractLocalWorkerProvider { - - @Override - final public WorkerRef onCreate( - LocalWorkerContext localContext) throws ProviderNotFoundException { - T localSyncWorker = (T) workerInstance(getClusterContext()); - localSyncWorker.preStart(); - - LocalSyncWorkerRef workerRef = new LocalSyncWorkerRef(role(), localSyncWorker); - - if (localContext != null) { - localContext.put(workerRef); - } - return workerRef; - } -} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractWorkerProvider.java deleted file mode 100644 index 4e50c2d5c..000000000 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractWorkerProvider.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.skywalking.apm.collector.stream; - -/** - * @author pengys5 - */ -public abstract class AbstractWorkerProvider implements Provider { - - private ClusterWorkerContext clusterContext; - - public abstract Role role(); - - public abstract T workerInstance(ClusterWorkerContext clusterContext); - - public abstract WorkerRef onCreate( - LocalWorkerContext localContext) throws ProviderNotFoundException; - - final public void setClusterContext(ClusterWorkerContext clusterContext) { - this.clusterContext = clusterContext; - } - - final protected ClusterWorkerContext getClusterContext() { - return clusterContext; - } - - final public WorkerRef create( - AbstractWorker workerOwner) throws ProviderNotFoundException { - - if (workerOwner == null) { - return onCreate(null); - } else if (workerOwner.getSelfContext() instanceof LocalWorkerContext) { - return onCreate((LocalWorkerContext)workerOwner.getSelfContext()); - } else { - throw new IllegalArgumentException("the argument of workerOwner is Illegal"); - } - } -} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalWorkerContext.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalWorkerContext.java deleted file mode 100644 index a5e642f4d..000000000 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalWorkerContext.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.skywalking.apm.collector.stream; - -/** - * @author pengys5 - */ -public class LocalWorkerContext extends WorkerContext { - - @Override - final public AbstractWorkerProvider findProvider(Role role) throws ProviderNotFoundException { - return null; - } - - @Override - final public void putProvider(AbstractWorkerProvider provider) throws UsedRoleNameException { - - } -} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Provider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Provider.java deleted file mode 100644 index e81a561f9..000000000 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Provider.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.skywalking.apm.collector.stream; - -/** - * @author pengys5 - */ -public interface Provider { - - WorkerRef create(AbstractWorker workerOwner) throws ProviderNotFoundException; -} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Role.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Role.java deleted file mode 100644 index 23df1c250..000000000 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Role.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.stream; - -import org.skywalking.apm.collector.stream.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public interface Role { - - String roleName(); - - WorkerSelector workerSelector(); -} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleContext.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleContext.java new file mode 100644 index 000000000..a68f89341 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleContext.java @@ -0,0 +1,37 @@ +package org.skywalking.apm.collector.stream; + +import java.util.HashMap; +import java.util.Map; +import org.skywalking.apm.collector.core.framework.Context; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.impl.data.DataDefine; + +/** + * @author pengys5 + */ +public class StreamModuleContext extends Context { + + private Map dataDefineMap; + private ClusterWorkerContext clusterWorkerContext; + + public StreamModuleContext(String groupName) { + super(groupName); + dataDefineMap = new HashMap<>(); + } + + public void putAllDataDefine(Map dataDefineMap) { + this.dataDefineMap.putAll(dataDefineMap); + } + + public DataDefine getDataDefine(int dataDefineId) { + return this.dataDefineMap.get(dataDefineId); + } + + public ClusterWorkerContext getClusterWorkerContext() { + return clusterWorkerContext; + } + + public void setClusterWorkerContext(ClusterWorkerContext clusterWorkerContext) { + this.clusterWorkerContext = clusterWorkerContext; + } +} diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleDefine.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleDefine.java similarity index 83% rename from apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleDefine.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleDefine.java index 87796d38c..89dad56db 100644 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleDefine.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleDefine.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.remote; +package org.skywalking.apm.collector.stream; import java.util.List; import java.util.Map; @@ -20,9 +20,9 @@ import org.slf4j.LoggerFactory; /** * @author pengys5 */ -public abstract class RemoteModuleDefine extends ModuleDefine implements ClusterDataListenerDefine { +public abstract class StreamModuleDefine extends ModuleDefine implements ClusterDataListenerDefine { - private final Logger logger = LoggerFactory.getLogger(RemoteModuleDefine.class); + private final Logger logger = LoggerFactory.getLogger(StreamModuleDefine.class); @Override public final void initialize(Map config, ServerHolder serverHolder) throws DefineException, ClientException { @@ -33,9 +33,13 @@ public abstract class RemoteModuleDefine extends ModuleDefine implements Cluster ((ClusterModuleContext)CollectorContextHelper.INSTANCE.getContext(ClusterModuleGroupDefine.GROUP_NAME)).getDataMonitor().addListener(listener(), registration()); } catch (ConfigParseException | ServerException e) { - throw new RemoteModuleException(e.getMessage(), e); + throw new StreamModuleException(e.getMessage(), e); } } + @Override public final boolean defaultModule() { + return true; + } + public abstract List handlerList() throws DefineException; } diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleException.java new file mode 100644 index 000000000..81249ad74 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleException.java @@ -0,0 +1,17 @@ +package org.skywalking.apm.collector.stream; + +import org.skywalking.apm.collector.core.module.ModuleException; + +/** + * @author pengys5 + */ +public class StreamModuleException extends ModuleException { + + public StreamModuleException(String message) { + super(message); + } + + public StreamModuleException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleGroupDefine.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleGroupDefine.java similarity index 61% rename from apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleGroupDefine.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleGroupDefine.java index 2271155de..e320a817d 100644 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/RemoteModuleGroupDefine.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleGroupDefine.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.remote; +package org.skywalking.apm.collector.stream; import org.skywalking.apm.collector.core.framework.Context; import org.skywalking.apm.collector.core.module.ModuleGroupDefine; @@ -7,19 +7,19 @@ import org.skywalking.apm.collector.core.module.ModuleInstaller; /** * @author pengys5 */ -public class RemoteModuleGroupDefine implements ModuleGroupDefine { +public class StreamModuleGroupDefine implements ModuleGroupDefine { - public static final String GROUP_NAME = "remote"; + public static final String GROUP_NAME = "stream"; @Override public String name() { return GROUP_NAME; } @Override public Context groupContext() { - return new RemoteModuleContext(GROUP_NAME); + return new StreamModuleContext(GROUP_NAME); } @Override public ModuleInstaller moduleInstaller() { - return new RemoteModuleInstaller(); + return new StreamModuleInstaller(); } } diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleInstaller.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleInstaller.java new file mode 100644 index 000000000..4328ff67b --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/StreamModuleInstaller.java @@ -0,0 +1,81 @@ +package org.skywalking.apm.collector.stream; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import org.skywalking.apm.collector.core.client.ClientException; +import org.skywalking.apm.collector.core.config.ConfigException; +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.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorkerProvider; +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorkerProvider; +import org.skywalking.apm.collector.stream.worker.ClusterWorkerContext; +import org.skywalking.apm.collector.stream.worker.LocalAsyncWorkerProviderDefineLoader; +import org.skywalking.apm.collector.stream.worker.ProviderNotFoundException; +import org.skywalking.apm.collector.stream.worker.RemoteWorkerProviderDefineLoader; +import org.skywalking.apm.collector.stream.worker.impl.data.DataDefine; +import org.skywalking.apm.collector.stream.worker.impl.data.DataDefineLoader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class StreamModuleInstaller implements ModuleInstaller { + + private final Logger logger = LoggerFactory.getLogger(StreamModuleInstaller.class); + + @Override public void install(Map moduleConfig, Map moduleDefineMap, + ServerHolder serverHolder) throws DefineException, ClientException { + logger.info("beginning stream module install"); + StreamModuleContext context = new StreamModuleContext(StreamModuleGroupDefine.GROUP_NAME); + CollectorContextHelper.INSTANCE.putContext(context); + + DataDefineLoader dataDefineLoader = new DataDefineLoader(); + try { + Map dataDefineMap = dataDefineLoader.load(); + context.putAllDataDefine(dataDefineMap); + } catch (ConfigException e) { + logger.error(e.getMessage(), e); + } + + initializeWorker(context); + + logger.info("could not configure cluster module, use the default"); + 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); + } + } + + private void initializeWorker(StreamModuleContext context) { + ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(); + context.setClusterWorkerContext(clusterWorkerContext); + + LocalAsyncWorkerProviderDefineLoader localAsyncProviderLoader = new LocalAsyncWorkerProviderDefineLoader(); + RemoteWorkerProviderDefineLoader remoteProviderLoader = new RemoteWorkerProviderDefineLoader(); + try { + List localAsyncProviders = localAsyncProviderLoader.load(); + for (AbstractLocalAsyncWorkerProvider provider : localAsyncProviders) { + provider.setClusterContext(clusterWorkerContext); + provider.create(); + clusterWorkerContext.putRole(provider.role()); + } + + List remoteProviders = remoteProviderLoader.load(); + for (AbstractRemoteWorkerProvider provider : remoteProviders) { + provider.setClusterContext(clusterWorkerContext); + provider.create(); + clusterWorkerContext.putRole(provider.role()); + } + } catch (ConfigException | ProviderNotFoundException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCConfig.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCConfig.java similarity index 52% rename from apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCConfig.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCConfig.java index 6b465917a..5d05cbd57 100644 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCConfig.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCConfig.java @@ -1,9 +1,9 @@ -package org.skywalking.apm.collector.remote.grpc; +package org.skywalking.apm.collector.stream.grpc; /** * @author pengys5 */ -public class RemoteGRPCConfig { +public class StreamGRPCConfig { public static String HOST; public static int PORT; } diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCConfigParser.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCConfigParser.java similarity index 72% rename from apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCConfigParser.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCConfigParser.java index 73beb8a49..3a4899f1c 100644 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCConfigParser.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCConfigParser.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.remote.grpc; +package org.skywalking.apm.collector.stream.grpc; import java.util.Map; import org.skywalking.apm.collector.core.config.ConfigParseException; @@ -9,19 +9,19 @@ import org.skywalking.apm.collector.core.util.StringUtils; /** * @author pengys5 */ -public class RemoteGRPCConfigParser implements ModuleConfigParser { +public class StreamGRPCConfigParser 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))) { - RemoteGRPCConfig.HOST = "localhost"; + StreamGRPCConfig.HOST = "localhost"; } if (ObjectUtils.isEmpty(config) || StringUtils.isEmpty(config.get(PORT))) { - RemoteGRPCConfig.PORT = 11800; + StreamGRPCConfig.PORT = 11800; } else { - RemoteGRPCConfig.PORT = (Integer)config.get(PORT); + StreamGRPCConfig.PORT = (Integer)config.get(PORT); } } } diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCDataListener.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCDataListener.java similarity index 57% rename from apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCDataListener.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCDataListener.java index 7d2e96c84..1b6e863ab 100644 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCDataListener.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCDataListener.java @@ -1,15 +1,15 @@ -package org.skywalking.apm.collector.remote.grpc; +package org.skywalking.apm.collector.stream.grpc; import org.skywalking.apm.collector.cluster.ClusterModuleDefine; import org.skywalking.apm.collector.core.cluster.ClusterDataListener; -import org.skywalking.apm.collector.remote.RemoteModuleGroupDefine; +import org.skywalking.apm.collector.stream.StreamModuleGroupDefine; /** * @author pengys5 */ -public class RemoteGRPCDataListener extends ClusterDataListener { +public class StreamGRPCDataListener extends ClusterDataListener { - public static final String PATH = ClusterModuleDefine.BASE_CATALOG + "." + RemoteModuleGroupDefine.GROUP_NAME + "." + RemoteGRPCModuleDefine.MODULE_NAME; + public static final String PATH = ClusterModuleDefine.BASE_CATALOG + "." + StreamModuleGroupDefine.GROUP_NAME + "." + StreamGRPCModuleDefine.MODULE_NAME; @Override public String path() { return PATH; diff --git a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleDefine.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCModuleDefine.java similarity index 51% rename from apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleDefine.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCModuleDefine.java index 22b884e43..3a8166476 100644 --- a/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleDefine.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCModuleDefine.java @@ -1,42 +1,37 @@ -package org.skywalking.apm.collector.remote.grpc; +package org.skywalking.apm.collector.stream.grpc; +import java.util.ArrayList; import java.util.List; import org.skywalking.apm.collector.core.client.Client; import org.skywalking.apm.collector.core.client.DataMonitor; import org.skywalking.apm.collector.core.cluster.ClusterDataListener; -import org.skywalking.apm.collector.core.config.ConfigException; import org.skywalking.apm.collector.core.framework.DefineException; 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.remote.RemoteModuleDefine; -import org.skywalking.apm.collector.remote.RemoteModuleGroupDefine; -import org.skywalking.apm.collector.remote.grpc.handler.RemoteHandlerDefineException; -import org.skywalking.apm.collector.remote.grpc.handler.RemoteHandlerDefineLoader; import org.skywalking.apm.collector.server.grpc.GRPCServer; +import org.skywalking.apm.collector.stream.StreamModuleDefine; +import org.skywalking.apm.collector.stream.StreamModuleGroupDefine; +import org.skywalking.apm.collector.stream.grpc.handler.RemoteCommonServiceHandler; /** * @author pengys5 */ -public class RemoteGRPCModuleDefine extends RemoteModuleDefine { +public class StreamGRPCModuleDefine extends StreamModuleDefine { - public static final String MODULE_NAME = "remote"; + public static final String MODULE_NAME = "stream"; @Override public String name() { return MODULE_NAME; } @Override protected String group() { - return RemoteModuleGroupDefine.GROUP_NAME; - } - - @Override public boolean defaultModule() { - return true; + return StreamModuleGroupDefine.GROUP_NAME; } @Override protected ModuleConfigParser configParser() { - return new RemoteGRPCConfigParser(); + return new StreamGRPCConfigParser(); } @Override protected Client createClient(DataMonitor dataMonitor) { @@ -44,25 +39,20 @@ public class RemoteGRPCModuleDefine extends RemoteModuleDefine { } @Override protected Server server() { - return new GRPCServer(RemoteGRPCConfig.HOST, RemoteGRPCConfig.PORT); + return new GRPCServer(StreamGRPCConfig.HOST, StreamGRPCConfig.PORT); } @Override protected ModuleRegistration registration() { - return new RemoteGRPCModuleRegistration(); + return new StreamGRPCModuleRegistration(); } @Override public ClusterDataListener listener() { - return new RemoteGRPCDataListener(); + return new StreamGRPCDataListener(); } @Override public List handlerList() throws DefineException { - RemoteHandlerDefineLoader loader = new RemoteHandlerDefineLoader(); - List handlers = null; - try { - handlers = loader.load(); - } catch (ConfigException e) { - throw new RemoteHandlerDefineException(e.getMessage(), e); - } + List handlers = new ArrayList<>(); + handlers.add(new RemoteCommonServiceHandler()); return handlers; } } diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCModuleRegistration.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCModuleRegistration.java new file mode 100644 index 000000000..1c74d45c3 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/StreamGRPCModuleRegistration.java @@ -0,0 +1,13 @@ +package org.skywalking.apm.collector.stream.grpc; + +import org.skywalking.apm.collector.core.module.ModuleRegistration; + +/** + * @author pengys5 + */ +public class StreamGRPCModuleRegistration extends ModuleRegistration { + + @Override public Value buildValue() { + return new Value(StreamGRPCConfig.HOST, StreamGRPCConfig.PORT, null); + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/handler/RemoteCommonServiceHandler.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/handler/RemoteCommonServiceHandler.java new file mode 100644 index 000000000..f0294db24 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/grpc/handler/RemoteCommonServiceHandler.java @@ -0,0 +1,42 @@ +package org.skywalking.apm.collector.stream.grpc.handler; + +import com.google.protobuf.ByteString; +import com.google.protobuf.InvalidProtocolBufferException; +import io.grpc.stub.StreamObserver; +import org.skywalking.apm.collector.cluster.ClusterModuleGroupDefine; +import org.skywalking.apm.collector.core.framework.CollectorContextHelper; +import org.skywalking.apm.collector.remote.grpc.proto.Empty; +import org.skywalking.apm.collector.remote.grpc.proto.Message; +import org.skywalking.apm.collector.remote.grpc.proto.RemoteCommonServiceGrpc; +import org.skywalking.apm.collector.server.grpc.GRPCHandler; +import org.skywalking.apm.collector.stream.StreamModuleContext; +import org.skywalking.apm.collector.stream.worker.WorkerInvokeException; +import org.skywalking.apm.collector.stream.worker.WorkerNotFoundException; +import org.skywalking.apm.collector.stream.worker.impl.data.Data; +import org.skywalking.apm.collector.stream.worker.impl.data.DataDefine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class RemoteCommonServiceHandler extends RemoteCommonServiceGrpc.RemoteCommonServiceImplBase implements GRPCHandler { + + private final Logger logger = LoggerFactory.getLogger(RemoteCommonServiceHandler.class); + + @Override public void call(Message request, StreamObserver responseObserver) { + String roleName = request.getWorkerRole(); + int dataDefineId = request.getDataDefineId(); + ByteString bytesData = request.getDataBytes(); + + StreamModuleContext context = (StreamModuleContext)CollectorContextHelper.INSTANCE.getContext(ClusterModuleGroupDefine.GROUP_NAME); + DataDefine dataDefine = context.getDataDefine(dataDefineId); + + try { + Data data = dataDefine.parseFrom(bytesData); + context.getClusterWorkerContext().lookup(context.getClusterWorkerContext().getRole(roleName)).tell(data); + } catch (InvalidProtocolBufferException | WorkerNotFoundException | WorkerInvokeException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/GRPCRemoteWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/GRPCRemoteWorker.java deleted file mode 100644 index 3bd9a33fa..000000000 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/GRPCRemoteWorker.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.skywalking.apm.collector.stream.impl; - -import org.skywalking.apm.collector.stream.AbstractRemoteWorker; -import org.skywalking.apm.collector.stream.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.LocalWorkerContext; -import org.skywalking.apm.collector.stream.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.Role; -import org.skywalking.apm.collector.stream.WorkerException; - -/** - * @author pengys5 - */ -public class GRPCRemoteWorker extends AbstractRemoteWorker { - - protected GRPCRemoteWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - - } - - @Override protected final void onWork(Object message) throws WorkerException { - - } -} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/RemoteCommonServiceHandler.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/RemoteCommonServiceHandler.java deleted file mode 100644 index ea560ef12..000000000 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/RemoteCommonServiceHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.stream.impl; - -import com.google.protobuf.ByteString; -import io.grpc.stub.StreamObserver; -import org.skywalking.apm.collector.remote.grpc.proto.Empty; -import org.skywalking.apm.collector.remote.grpc.proto.Message; -import org.skywalking.apm.collector.remote.grpc.proto.RemoteCommonServiceGrpc; -import org.skywalking.apm.collector.server.grpc.GRPCHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author pengys5 - */ -public class RemoteCommonServiceHandler extends RemoteCommonServiceGrpc.RemoteCommonServiceImplBase implements GRPCHandler { - - private final Logger logger = LoggerFactory.getLogger(RemoteCommonServiceHandler.class); - - @Override public void call(Message request, StreamObserver responseObserver) { - String workerRole = request.getWorkerRole(); - int dataDefineId = request.getDataDefineId(); - ByteString bytesData = request.getDataBytes(); - } -} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalAsyncWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalAsyncWorker.java similarity index 88% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalAsyncWorker.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalAsyncWorker.java index 01ce9b8c7..17fd2edfd 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalAsyncWorker.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalAsyncWorker.java @@ -1,4 +1,6 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; + +import org.skywalking.apm.collector.core.queue.QueueExecutor; /** * The AbstractLocalAsyncWorker implementations represent workers, @@ -7,7 +9,7 @@ package org.skywalking.apm.collector.stream; * @author pengys5 * @since v3.0-2017 */ -public abstract class AbstractLocalAsyncWorker extends AbstractLocalWorker { +public abstract class AbstractLocalAsyncWorker extends AbstractLocalWorker implements QueueExecutor { /** * Construct an AbstractLocalAsyncWorker with the worker role and context. @@ -15,10 +17,9 @@ public abstract class AbstractLocalAsyncWorker extends AbstractLocalWorker { * @param role The responsibility of worker in cluster, more than one workers can have same responsibility which use * to provide load balancing ability. * @param clusterContext See {@link ClusterWorkerContext} - * @param selfContext See {@link LocalWorkerContext} */ - public AbstractLocalAsyncWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); + public AbstractLocalAsyncWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); } /** diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalAsyncWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalAsyncWorkerProvider.java similarity index 80% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalAsyncWorkerProvider.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalAsyncWorkerProvider.java index 21fe8b100..712b13a76 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalAsyncWorkerProvider.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalAsyncWorkerProvider.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; import org.skywalking.apm.collector.core.framework.CollectorContextHelper; import org.skywalking.apm.collector.core.queue.QueueCreator; @@ -14,8 +14,7 @@ public abstract class AbstractLocalAsyncWorkerProviderAbstractLocalSyncWorker defines workers who receive data from jvm inside call and response in real @@ -8,8 +8,8 @@ package org.skywalking.apm.collector.stream; * @since v3.0-2017 */ public abstract class AbstractLocalSyncWorker extends AbstractLocalWorker { - public AbstractLocalSyncWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); + public AbstractLocalSyncWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); } /** diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalSyncWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalSyncWorkerProvider.java new file mode 100644 index 000000000..d3a542a61 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalSyncWorkerProvider.java @@ -0,0 +1,15 @@ +package org.skywalking.apm.collector.stream.worker; + +/** + * @author pengys5 + */ +public abstract class AbstractLocalSyncWorkerProvider extends AbstractLocalWorkerProvider { + + @Override final public WorkerRef create() throws ProviderNotFoundException { + T localSyncWorker = workerInstance(getClusterContext()); + localSyncWorker.preStart(); + + LocalSyncWorkerRef workerRef = new LocalSyncWorkerRef(role(), localSyncWorker); + return workerRef; + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalWorker.java similarity index 53% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalWorker.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalWorker.java index e94b6119e..c92a23fc7 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalWorker.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalWorker.java @@ -1,10 +1,10 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * @author pengys5 */ public abstract class AbstractLocalWorker extends AbstractWorker { - public AbstractLocalWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); + public AbstractLocalWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); } } diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalWorkerProvider.java similarity index 73% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalWorkerProvider.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalWorkerProvider.java index b0e155c93..8cc96b71f 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractLocalWorkerProvider.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractLocalWorkerProvider.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractRemoteWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractRemoteWorker.java similarity index 87% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractRemoteWorker.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractRemoteWorker.java index 20c552bee..9eb31bbbf 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractRemoteWorker.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractRemoteWorker.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * The AbstractRemoteWorker implementations represent workers, @@ -17,10 +17,9 @@ public abstract class AbstractRemoteWorker extends AbstractWorker { * @param role If multi-workers are for load balance, they should be more likely called worker instance. Meaning, * each worker have multi instances. * @param clusterContext See {@link ClusterWorkerContext} - * @param selfContext See {@link LocalWorkerContext} */ - protected AbstractRemoteWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); + protected AbstractRemoteWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); } /** diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractRemoteWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractRemoteWorkerProvider.java similarity index 84% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractRemoteWorkerProvider.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractRemoteWorkerProvider.java index 3774be6cb..5c4b25a8b 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/AbstractRemoteWorkerProvider.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/AbstractRemoteWorkerProvider.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * The AbstractRemoteWorkerProvider implementations represent providers, @@ -20,13 +20,11 @@ public abstract class AbstractRemoteWorkerProvider implements Provider { + + private ClusterWorkerContext clusterContext; + + public abstract Role role(); + + public abstract T workerInstance(ClusterWorkerContext clusterContext); + + final public void setClusterContext(ClusterWorkerContext clusterContext) { + this.clusterContext = clusterContext; + } + + final protected ClusterWorkerContext getClusterContext() { + return clusterContext; + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ClusterWorkerContext.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ClusterWorkerContext.java similarity index 96% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ClusterWorkerContext.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ClusterWorkerContext.java index d049ec6c0..3db95ff65 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ClusterWorkerContext.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ClusterWorkerContext.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ClusterWorkerRefCounter.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ClusterWorkerRefCounter.java similarity index 91% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ClusterWorkerRefCounter.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ClusterWorkerRefCounter.java index 85bd2773c..3456dbb53 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ClusterWorkerRefCounter.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ClusterWorkerRefCounter.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Context.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Context.java similarity index 85% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Context.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Context.java index 9790d4084..218c78c28 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/Context.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Context.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerProviderDefineLoader.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerProviderDefineLoader.java new file mode 100644 index 000000000..0d6dfb566 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerProviderDefineLoader.java @@ -0,0 +1,32 @@ +package org.skywalking.apm.collector.stream.worker; + +import java.util.ArrayList; +import java.util.List; +import org.skywalking.apm.collector.core.config.ConfigException; +import org.skywalking.apm.collector.core.framework.Loader; +import org.skywalking.apm.collector.core.util.DefinitionLoader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class LocalAsyncWorkerProviderDefineLoader implements Loader> { + + private final Logger logger = LoggerFactory.getLogger(LocalAsyncWorkerProviderDefineLoader.class); + + @Override public List load() throws ConfigException { + List providers = new ArrayList<>(); + LocalAsyncWorkerProviderDefinitionFile definitionFile = new LocalAsyncWorkerProviderDefinitionFile(); + logger.info("local async worker provider definition file name: {}", definitionFile.fileName()); + + DefinitionLoader definitionLoader = DefinitionLoader.load(AbstractLocalAsyncWorkerProvider.class, definitionFile); + + int id = 1; + for (AbstractLocalAsyncWorkerProvider provider : definitionLoader) { + logger.info("loaded local async worker provider definition class: {}", provider.getClass().getName()); + providers.add(provider); + } + return providers; + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerProviderDefinitionFile.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerProviderDefinitionFile.java new file mode 100644 index 000000000..356cf9ffb --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerProviderDefinitionFile.java @@ -0,0 +1,12 @@ +package org.skywalking.apm.collector.stream.worker; + +import org.skywalking.apm.collector.core.framework.DefinitionFile; + +/** + * @author pengys5 + */ +public class LocalAsyncWorkerProviderDefinitionFile extends DefinitionFile { + @Override protected String fileName() { + return "local_async_worker_provider.define"; + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalAsyncWorkerRef.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerRef.java similarity index 90% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalAsyncWorkerRef.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerRef.java index 286fde0f6..06ee2f0b6 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalAsyncWorkerRef.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalAsyncWorkerRef.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; import org.skywalking.apm.collector.core.queue.QueueEventHandler; diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalSyncWorkerRef.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalSyncWorkerRef.java similarity index 91% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalSyncWorkerRef.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalSyncWorkerRef.java index e40cfe0f3..d24d07779 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LocalSyncWorkerRef.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LocalSyncWorkerRef.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LookUp.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LookUp.java similarity index 78% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LookUp.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LookUp.java index 802de88e2..1e5ad6acb 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/LookUp.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/LookUp.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Provider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Provider.java new file mode 100644 index 000000000..b0f4bdc05 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Provider.java @@ -0,0 +1,9 @@ +package org.skywalking.apm.collector.stream.worker; + +/** + * @author pengys5 + */ +public interface Provider { + + WorkerRef create() throws ProviderNotFoundException; +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ProviderNotFoundException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ProviderNotFoundException.java similarity index 73% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ProviderNotFoundException.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ProviderNotFoundException.java index f6c8f3a72..9b5327e72 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/ProviderNotFoundException.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/ProviderNotFoundException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; public class ProviderNotFoundException extends Exception { public ProviderNotFoundException(String message) { diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerProviderDefineLoader.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerProviderDefineLoader.java new file mode 100644 index 000000000..383f63d31 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerProviderDefineLoader.java @@ -0,0 +1,31 @@ +package org.skywalking.apm.collector.stream.worker; + +import java.util.ArrayList; +import java.util.List; +import org.skywalking.apm.collector.core.config.ConfigException; +import org.skywalking.apm.collector.core.framework.Loader; +import org.skywalking.apm.collector.core.util.DefinitionLoader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class RemoteWorkerProviderDefineLoader implements Loader> { + + private final Logger logger = LoggerFactory.getLogger(RemoteWorkerProviderDefineLoader.class); + + @Override public List load() throws ConfigException { + List providers = new ArrayList<>(); + RemoteWorkerProviderDefinitionFile definitionFile = new RemoteWorkerProviderDefinitionFile(); + logger.info("remote worker provider definition file name: {}", definitionFile.fileName()); + + DefinitionLoader definitionLoader = DefinitionLoader.load(AbstractRemoteWorkerProvider.class, definitionFile); + + for (AbstractRemoteWorkerProvider provider : definitionLoader) { + logger.info("loaded remote worker provider definition class: {}", provider.getClass().getName()); + providers.add(provider); + } + return providers; + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerProviderDefinitionFile.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerProviderDefinitionFile.java new file mode 100644 index 000000000..ed301cc92 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerProviderDefinitionFile.java @@ -0,0 +1,12 @@ +package org.skywalking.apm.collector.stream.worker; + +import org.skywalking.apm.collector.core.framework.DefinitionFile; + +/** + * @author pengys5 + */ +public class RemoteWorkerProviderDefinitionFile extends DefinitionFile { + @Override protected String fileName() { + return "remote_worker_provider.define"; + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/RemoteWorkerRef.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerRef.java similarity index 88% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/RemoteWorkerRef.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerRef.java index 79a2abe03..f653c2f62 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/RemoteWorkerRef.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/RemoteWorkerRef.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Role.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Role.java new file mode 100644 index 000000000..e9c49d521 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/Role.java @@ -0,0 +1,13 @@ +package org.skywalking.apm.collector.stream.worker; + +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; + +/** + * @author pengys5 + */ +public interface Role { + + String roleName(); + + WorkerSelector workerSelector(); +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/UsedRoleNameException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/UsedRoleNameException.java similarity index 72% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/UsedRoleNameException.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/UsedRoleNameException.java index 13cd45d70..15df1fc82 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/UsedRoleNameException.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/UsedRoleNameException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; public class UsedRoleNameException extends Exception { public UsedRoleNameException(String message) { diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerContext.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerContext.java similarity index 75% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerContext.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerContext.java index 4d5617566..986397a2d 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerContext.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerContext.java @@ -1,32 +1,29 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import org.skywalking.apm.collector.stream.impl.data.DataDefine; +import org.skywalking.apm.collector.stream.worker.impl.data.DataDefine; /** * @author pengys5 */ public abstract class WorkerContext implements Context { + private Map> roleWorkers; + private Map roles; private Map dataDefineMap; - private Map> roleWorkers; - public WorkerContext() { - this.roleWorkers = new ConcurrentHashMap<>(); + this.roleWorkers = new HashMap<>(); + this.roles = new HashMap<>(); } private Map> getRoleWorkers() { return this.roleWorkers; } - public final DataDefine getDataDefine(int defineId) { - return dataDefineMap.get(defineId); - } - @Override final public WorkerRefs lookup(Role role) throws WorkerNotFoundException { if (getRoleWorkers().containsKey(role.roleName())) { WorkerRefs refs = new WorkerRefs(getRoleWorkers().get(role.roleName()), role.workerSelector()); @@ -36,6 +33,18 @@ public abstract class WorkerContext implements Context { } } + public final void putRole(Role role) { + roles.put(role.roleName(), role); + } + + public final Role getRole(String roleName) { + return roles.get(roleName); + } + + public final DataDefine getDataDefine(int defineId) { + return dataDefineMap.get(defineId); + } + @Override final public void put(WorkerRef workerRef) { if (!getRoleWorkers().containsKey(workerRef.getRole().roleName())) { getRoleWorkers().putIfAbsent(workerRef.getRole().roleName(), new ArrayList()); diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerException.java similarity index 87% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerException.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerException.java index 1729e9449..ada554175 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerException.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * Defines a general exception a worker can throw when it diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerInvokeException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerInvokeException.java similarity index 88% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerInvokeException.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerInvokeException.java index a93a80a37..0fe9b6de4 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerInvokeException.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerInvokeException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * This exception is raised when worker fails to process job during "call" or "ask" diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerNotFoundException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerNotFoundException.java similarity index 74% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerNotFoundException.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerNotFoundException.java index 2f454e061..ce231e1a1 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerNotFoundException.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerNotFoundException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; public class WorkerNotFoundException extends WorkerException { public WorkerNotFoundException(String message) { diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerRef.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerRef.java similarity index 84% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerRef.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerRef.java index 195950c01..899e3978e 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerRef.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerRef.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerRefs.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerRefs.java similarity index 89% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerRefs.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerRefs.java index 80cc6fdd9..a178802c4 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/WorkerRefs.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/WorkerRefs.java @@ -1,7 +1,7 @@ -package org.skywalking.apm.collector.stream; +package org.skywalking.apm.collector.stream.worker; import java.util.List; -import org.skywalking.apm.collector.stream.selector.WorkerSelector; +import org.skywalking.apm.collector.stream.worker.selector.WorkerSelector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/AggregationWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java similarity index 64% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/AggregationWorker.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java index bd892035c..222caa4b6 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/AggregationWorker.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java @@ -1,14 +1,13 @@ -package org.skywalking.apm.collector.stream.impl; +package org.skywalking.apm.collector.stream.worker.impl; import org.skywalking.apm.collector.core.queue.EndOfBatchCommand; -import org.skywalking.apm.collector.stream.AbstractLocalAsyncWorker; -import org.skywalking.apm.collector.stream.ClusterWorkerContext; -import org.skywalking.apm.collector.stream.LocalWorkerContext; -import org.skywalking.apm.collector.stream.ProviderNotFoundException; -import org.skywalking.apm.collector.stream.Role; -import org.skywalking.apm.collector.stream.WorkerException; -import org.skywalking.apm.collector.stream.impl.data.Data; -import org.skywalking.apm.collector.stream.impl.data.DataCache; +import org.skywalking.apm.collector.stream.worker.AbstractLocalAsyncWorker; +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.impl.data.Data; +import org.skywalking.apm.collector.stream.worker.impl.data.DataCache; /** * @author pengys5 @@ -17,8 +16,8 @@ public abstract class AggregationWorker extends AbstractLocalAsyncWorker { private DataCache dataCache; - public AggregationWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); + public AggregationWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); dataCache = new DataCache(); } diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/Const.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/Const.java similarity index 86% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/Const.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/Const.java index 1850a2ee2..c3acf882b 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/Const.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/Const.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl; +package org.skywalking.apm.collector.stream.worker.impl; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/GRPCRemoteWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/GRPCRemoteWorker.java new file mode 100644 index 000000000..4c76735f8 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/GRPCRemoteWorker.java @@ -0,0 +1,25 @@ +package org.skywalking.apm.collector.stream.worker.impl; + +import org.skywalking.apm.collector.stream.worker.AbstractRemoteWorker; +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; + +/** + * @author pengys5 + */ +public class GRPCRemoteWorker extends AbstractRemoteWorker { + + protected GRPCRemoteWorker(Role role, ClusterWorkerContext clusterContext) { + super(role, clusterContext); + } + + @Override public void preStart() throws ProviderNotFoundException { + + } + + @Override protected final void onWork(Object message) throws WorkerException { + + } +} diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Attribute.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Attribute.java similarity index 89% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Attribute.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Attribute.java index 3075517de..bba24de2c 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Attribute.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Attribute.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/AttributeType.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/AttributeType.java similarity index 56% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/AttributeType.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/AttributeType.java index 84e317ec0..3706017b6 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/AttributeType.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/AttributeType.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Data.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Data.java similarity index 94% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Data.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Data.java index be8d4eb21..b8318ca2e 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Data.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Data.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataCache.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java similarity index 90% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataCache.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java index db51cf91d..8db3ba70f 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataCache.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataCollection.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java similarity index 93% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataCollection.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java index 725dcca71..12cc2f282 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataCollection.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; import java.util.HashMap; import java.util.Map; diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefine.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefine.java similarity index 90% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefine.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefine.java index 5571ac264..2c3f3d620 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefine.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefine.java @@ -1,4 +1,7 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; + +import com.google.protobuf.ByteString; +import com.google.protobuf.InvalidProtocolBufferException; /** * @author pengys5 @@ -75,4 +78,6 @@ public abstract class DataDefine { } } } + + public abstract Data parseFrom(ByteString bytesData) throws InvalidProtocolBufferException; } diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefineLoader.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefineLoader.java similarity index 94% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefineLoader.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefineLoader.java index 8ce454440..67e2cff5d 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefineLoader.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefineLoader.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; import java.util.HashMap; import java.util.Map; diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefinitionFile.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefinitionFile.java similarity index 79% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefinitionFile.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefinitionFile.java index 93df98019..e7875d8b8 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/DataDefinitionFile.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataDefinitionFile.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; import org.skywalking.apm.collector.core.framework.DefinitionFile; diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Operation.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Operation.java similarity index 77% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Operation.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Operation.java index b94e16b11..05bb5ed2a 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Operation.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Operation.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Window.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java similarity index 93% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Window.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java index 05b48c197..d292dd5ef 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/Window.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.impl.data; +package org.skywalking.apm.collector.stream.worker.impl.data; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/operate/CoverOperation.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/operate/CoverOperation.java similarity index 73% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/operate/CoverOperation.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/operate/CoverOperation.java index bae2f6308..c0a48d077 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/operate/CoverOperation.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/operate/CoverOperation.java @@ -1,6 +1,6 @@ -package org.skywalking.apm.collector.stream.impl.data.operate; +package org.skywalking.apm.collector.stream.worker.impl.data.operate; -import org.skywalking.apm.collector.stream.impl.data.Operation; +import org.skywalking.apm.collector.stream.worker.impl.data.Operation; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/operate/NonOperation.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/operate/NonOperation.java similarity index 73% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/operate/NonOperation.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/operate/NonOperation.java index b33950073..b306f1c99 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/impl/data/operate/NonOperation.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/operate/NonOperation.java @@ -1,6 +1,6 @@ -package org.skywalking.apm.collector.stream.impl.data.operate; +package org.skywalking.apm.collector.stream.worker.impl.data.operate; -import org.skywalking.apm.collector.stream.impl.data.Operation; +import org.skywalking.apm.collector.stream.worker.impl.data.Operation; /** * @author pengys5 diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/AbstractHashMessage.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/AbstractHashMessage.java similarity index 88% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/AbstractHashMessage.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/AbstractHashMessage.java index ef8aedbba..e6181510c 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/AbstractHashMessage.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/AbstractHashMessage.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.stream.selector; +package org.skywalking.apm.collector.stream.worker.selector; /** * The AbstractHashMessage implementations represent aggregate message, diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/HashCodeSelector.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/HashCodeSelector.java similarity index 82% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/HashCodeSelector.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/HashCodeSelector.java index e1fdc6cf2..cb3434110 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/HashCodeSelector.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/HashCodeSelector.java @@ -1,7 +1,8 @@ -package org.skywalking.apm.collector.stream.selector; +package org.skywalking.apm.collector.stream.worker.selector; import java.util.List; -import org.skywalking.apm.collector.stream.WorkerRef; +import org.skywalking.apm.collector.stream.worker.WorkerRef; +import org.skywalking.apm.collector.stream.worker.AbstractWorker; /** * The HashCodeSelector is a simple implementation of {@link WorkerSelector}. It choose {@link WorkerRef} @@ -17,7 +18,7 @@ public class HashCodeSelector implements WorkerSelector { * Use message hashcode to select {@link WorkerRef}. * * @param members given {@link WorkerRef} list, which size is greater than 0; - * @param message the {@link org.skywalking.apm.collector.stream.AbstractWorker} is going to send. + * @param message the {@link AbstractWorker} is going to send. * @return the selected {@link WorkerRef} */ @Override diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/RollingSelector.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/RollingSelector.java similarity index 74% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/RollingSelector.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/RollingSelector.java index c68fb3319..f81e64bae 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/RollingSelector.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/RollingSelector.java @@ -1,7 +1,8 @@ -package org.skywalking.apm.collector.stream.selector; +package org.skywalking.apm.collector.stream.worker.selector; import java.util.List; -import org.skywalking.apm.collector.stream.WorkerRef; +import org.skywalking.apm.collector.stream.worker.WorkerRef; +import org.skywalking.apm.collector.stream.worker.AbstractWorker; /** * The RollingSelector is a simple implementation of {@link WorkerSelector}. @@ -18,7 +19,7 @@ public class RollingSelector implements WorkerSelector { * Use round-robin to select {@link WorkerRef}. * * @param members given {@link WorkerRef} list, which size is greater than 0; - * @param message message the {@link org.skywalking.apm.collector.stream.AbstractWorker} is going to send. + * @param message message the {@link AbstractWorker} is going to send. * @return the selected {@link WorkerRef} */ @Override diff --git a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/WorkerSelector.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/WorkerSelector.java similarity index 72% rename from apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/WorkerSelector.java rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/WorkerSelector.java index 45a217003..1409ef746 100644 --- a/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/selector/WorkerSelector.java +++ b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/selector/WorkerSelector.java @@ -1,7 +1,8 @@ -package org.skywalking.apm.collector.stream.selector; +package org.skywalking.apm.collector.stream.worker.selector; import java.util.List; -import org.skywalking.apm.collector.stream.WorkerRef; +import org.skywalking.apm.collector.stream.worker.WorkerRef; +import org.skywalking.apm.collector.stream.worker.AbstractWorker; /** * The WorkerSelector should be implemented by any class whose instances @@ -18,7 +19,7 @@ public interface WorkerSelector { * select a {@link WorkerRef} from a {@link WorkerRef} list. * * @param members given {@link WorkerRef} list, which size is greater than 0; - * @param message the {@link org.skywalking.apm.collector.stream.AbstractWorker} is going to send. + * @param message the {@link AbstractWorker} is going to send. * @return the selected {@link WorkerRef} */ T select(List members, Object message); diff --git a/apm-collector/apm-collector-remote/src/main/proto/RemoteCommonService.proto b/apm-collector/apm-collector-stream/src/main/proto/RemoteCommonService.proto similarity index 100% rename from apm-collector/apm-collector-remote/src/main/proto/RemoteCommonService.proto rename to apm-collector/apm-collector-stream/src/main/proto/RemoteCommonService.proto diff --git a/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/group.define b/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/group.define new file mode 100644 index 000000000..dfcb24058 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/group.define @@ -0,0 +1 @@ +org.skywalking.apm.collector.stream.StreamModuleGroupDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/module.define new file mode 100644 index 000000000..b58f3f133 --- /dev/null +++ b/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/module.define @@ -0,0 +1 @@ +org.skywalking.apm.collector.stream.grpc.StreamGRPCModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/remote_handler.define b/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/remote_handler.define deleted file mode 100644 index 389dfb80e..000000000 --- a/apm-collector/apm-collector-stream/src/main/resources/META-INF/defines/remote_handler.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.stream.impl.RemoteCommonServiceHandler \ No newline at end of file diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml index a73fc46cd..7eda101c6 100644 --- a/apm-collector/pom.xml +++ b/apm-collector/pom.xml @@ -12,7 +12,6 @@ apm-collector-agentstream apm-collector-ui apm-collector-boot - apm-collector-remote apm-collector-stream apm-collector-agentserver apm-collector-agentregister