diff --git a/apm-collector/apm-collector-cluster-new/pom.xml b/apm-collector/apm-collector-agentstream/pom.xml similarity index 70% rename from apm-collector/apm-collector-cluster-new/pom.xml rename to apm-collector/apm-collector-agentstream/pom.xml index e08b3e70c..8ef444a8a 100644 --- a/apm-collector/apm-collector-cluster-new/pom.xml +++ b/apm-collector/apm-collector-agentstream/pom.xml @@ -9,13 +9,8 @@ 4.0.0 - apm-collector-cluster-new - pom - - cluster-zookeeper - cluster-redis - cluster-standalone - + apm-collector-agentstream + jar @@ -23,5 +18,10 @@ apm-collector-core ${project.version} + + org.skywalking + apm-collector-server + ${project.version} + \ No newline at end of file diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCConfig.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCConfig.java new file mode 100644 index 000000000..950775c50 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCConfig.java @@ -0,0 +1,9 @@ +package org.skywalking.apm.collector.agent.stream.server.grpc; + +/** + * @author pengys5 + */ +public class AgentStreamGRPCConfig { + public static String HOST; + public static int PORT; +} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentConfigParser.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCConfigParser.java similarity index 62% rename from apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentConfigParser.java rename to apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCConfigParser.java index 6f7073f11..575d9134f 100644 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentConfigParser.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCConfigParser.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.worker.agent; +package org.skywalking.apm.collector.agent.stream.server.grpc; import java.util.Map; import org.skywalking.apm.collector.core.config.ConfigParseException; @@ -8,20 +8,22 @@ import org.skywalking.apm.collector.core.util.StringUtils; /** * @author pengys5 */ -public class WorkerAgentConfigParser implements ModuleConfigParser { +public class AgentStreamGRPCConfigParser implements ModuleConfigParser { private final String HOST = "host"; private final String PORT = "port"; @Override public void parse(Map config) throws ConfigParseException { - if (StringUtils.isEmpty(config.get(HOST))) { + AgentStreamGRPCConfig.HOST = (String)config.get(HOST); + + if (StringUtils.isEmpty(AgentStreamGRPCConfig.HOST)) { throw new ConfigParseException(""); } - WorkerAgentConfig.HOST = (String)config.get(HOST); - if (StringUtils.isEmpty(config.get(PORT))) { throw new ConfigParseException(""); + } else { + AgentStreamGRPCConfig.PORT = (Integer)config.get(PORT); + } - WorkerAgentConfig.PORT = (Integer)config.get(PORT); } } diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCModuleDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCModuleDefine.java new file mode 100644 index 000000000..5efeb7a58 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCModuleDefine.java @@ -0,0 +1,38 @@ +package org.skywalking.apm.collector.agent.stream.server.grpc; + +import org.skywalking.apm.collector.core.agentstream.AgentStreamModuleDefine; +import org.skywalking.apm.collector.core.module.ModuleConfigParser; +import org.skywalking.apm.collector.core.module.ModuleGroup; +import org.skywalking.apm.collector.core.module.ModuleRegistration; +import org.skywalking.apm.collector.core.server.Server; +import org.skywalking.apm.collector.server.grpc.GRPCServer; + +/** + * @author pengys5 + */ +public class AgentStreamGRPCModuleDefine extends AgentStreamModuleDefine { + + @Override protected ModuleGroup group() { + return ModuleGroup.AgentStream; + } + + @Override public String name() { + return "grpc"; + } + + @Override public boolean defaultModule() { + return true; + } + + @Override protected ModuleConfigParser configParser() { + return new AgentStreamGRPCConfigParser(); + } + + @Override protected Server server() { + return new GRPCServer(AgentStreamGRPCConfig.HOST, AgentStreamGRPCConfig.PORT); + } + + @Override protected ModuleRegistration registration() { + return new AgentStreamGRPCModuleRegistration(); + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCModuleRegistration.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCModuleRegistration.java new file mode 100644 index 000000000..347b29b4e --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/AgentStreamGRPCModuleRegistration.java @@ -0,0 +1,13 @@ +package org.skywalking.apm.collector.agent.stream.server.grpc; + +import org.skywalking.apm.collector.core.module.ModuleRegistration; + +/** + * @author pengys5 + */ +public class AgentStreamGRPCModuleRegistration extends ModuleRegistration { + + @Override public Value buildValue() { + return new Value(AgentStreamGRPCConfig.HOST, AgentStreamGRPCConfig.PORT, null); + } +} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/TraceSegmentServiceImpl.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/impl/TraceSegmentServiceImpl.java similarity index 93% rename from apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/TraceSegmentServiceImpl.java rename to apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/impl/TraceSegmentServiceImpl.java index aa78b210a..c8bc5916f 100644 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/TraceSegmentServiceImpl.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/grpc/impl/TraceSegmentServiceImpl.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.worker.segment; +package org.skywalking.apm.collector.agent.stream.server.grpc.impl; import io.grpc.stub.StreamObserver; import org.apache.logging.log4j.LogManager; @@ -12,13 +12,15 @@ import org.skywalking.apm.collector.worker.grpcserver.WorkerCaller; import org.skywalking.apm.network.proto.Downstream; import org.skywalking.apm.network.proto.TraceSegmentServiceGrpc; import org.skywalking.apm.network.proto.UpstreamSegment; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author pengys5 */ public class TraceSegmentServiceImpl extends TraceSegmentServiceGrpc.TraceSegmentServiceImplBase implements WorkerCaller { - private Logger logger = LogManager.getFormatterLogger(TraceSegmentServiceImpl.class); + private final Logger logger = LoggerFactory.getLogger(TraceSegmentServiceImpl.class); private ClusterWorkerContext clusterWorkerContext; private WorkerRef segmentReceiverWorkRef; diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIConfig.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyConfig.java similarity index 55% rename from apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIConfig.java rename to apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyConfig.java index bcf4a528a..240d5ef1e 100644 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIConfig.java +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyConfig.java @@ -1,9 +1,9 @@ -package org.skywalking.apm.collector.worker.ui; +package org.skywalking.apm.collector.agent.stream.server.jetty; /** * @author pengys5 */ -public class WorkerUIConfig { +public class AgentStreamJettyConfig { public static String HOST; public static int PORT; public static String CONTEXT_PATH; diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyConfigParser.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyConfigParser.java new file mode 100644 index 000000000..d50a463c2 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyConfigParser.java @@ -0,0 +1,33 @@ +package org.skywalking.apm.collector.agent.stream.server.jetty; + +import java.util.Map; +import org.skywalking.apm.collector.core.config.ConfigParseException; +import org.skywalking.apm.collector.core.module.ModuleConfigParser; +import org.skywalking.apm.collector.core.util.StringUtils; + +/** + * @author pengys5 + */ +public class AgentStreamJettyConfigParser implements ModuleConfigParser { + + private static final String HOST = "host"; + private static final String PORT = "port"; + public static final String CONTEXT_PATH = "contextPath"; + + @Override public void parse(Map config) throws ConfigParseException { + AgentStreamJettyConfig.HOST = (String)config.get(HOST); + AgentStreamJettyConfig.CONTEXT_PATH = "/"; + + if (StringUtils.isEmpty(AgentStreamJettyConfig.HOST)) { + throw new ConfigParseException(""); + } + if (StringUtils.isEmpty(config.get(PORT))) { + throw new ConfigParseException(""); + } else { + AgentStreamJettyConfig.PORT = (Integer)config.get(PORT); + } + if (!StringUtils.isEmpty(config.get(CONTEXT_PATH))) { + AgentStreamJettyConfig.CONTEXT_PATH = (String)config.get(CONTEXT_PATH); + } + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyModuleDefine.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyModuleDefine.java new file mode 100644 index 000000000..b23de9696 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyModuleDefine.java @@ -0,0 +1,38 @@ +package org.skywalking.apm.collector.agent.stream.server.jetty; + +import org.skywalking.apm.collector.core.agentstream.AgentStreamModuleDefine; +import org.skywalking.apm.collector.core.module.ModuleConfigParser; +import org.skywalking.apm.collector.core.module.ModuleGroup; +import org.skywalking.apm.collector.core.module.ModuleRegistration; +import org.skywalking.apm.collector.core.server.Server; +import org.skywalking.apm.collector.server.jetty.JettyServer; + +/** + * @author pengys5 + */ +public class AgentStreamJettyModuleDefine extends AgentStreamModuleDefine { + + @Override protected ModuleGroup group() { + return ModuleGroup.AgentStream; + } + + @Override public String name() { + return "jetty"; + } + + @Override public boolean defaultModule() { + return false; + } + + @Override protected ModuleConfigParser configParser() { + return new AgentStreamJettyConfigParser(); + } + + @Override protected Server server() { + return new JettyServer(AgentStreamJettyConfig.HOST, AgentStreamJettyConfig.PORT, AgentStreamJettyConfig.CONTEXT_PATH); + } + + @Override protected ModuleRegistration registration() { + return new AgentStreamJettyModuleRegistration(); + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyModuleRegistration.java b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyModuleRegistration.java new file mode 100644 index 000000000..82ac5aa62 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agent/stream/server/jetty/AgentStreamJettyModuleRegistration.java @@ -0,0 +1,16 @@ +package org.skywalking.apm.collector.agent.stream.server.jetty; + +import com.google.gson.JsonObject; +import org.skywalking.apm.collector.core.module.ModuleRegistration; + +/** + * @author pengys5 + */ +public class AgentStreamJettyModuleRegistration extends ModuleRegistration { + + @Override public Value buildValue() { + JsonObject data = new JsonObject(); + data.addProperty(AgentStreamJettyConfigParser.CONTEXT_PATH, AgentStreamJettyConfig.CONTEXT_PATH); + return new Value(AgentStreamJettyConfig.HOST, AgentStreamJettyConfig.PORT, data); + } +} diff --git a/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/module.define new file mode 100644 index 000000000..6891cf0e2 --- /dev/null +++ b/apm-collector/apm-collector-agentstream/src/main/resources/META-INF/defines/module.define @@ -0,0 +1,2 @@ +org.skywalking.apm.collector.agent.stream.server.grpc.AgentStreamGRPCModuleDefine +org.skywalking.apm.collector.agent.stream.server.jetty.AgentStreamJettyModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-worker-new/pom.xml b/apm-collector/apm-collector-boot/pom.xml similarity index 66% rename from apm-collector/apm-collector-worker-new/pom.xml rename to apm-collector/apm-collector-boot/pom.xml index 37319c974..fa5a229a6 100644 --- a/apm-collector/apm-collector-worker-new/pom.xml +++ b/apm-collector/apm-collector-boot/pom.xml @@ -9,28 +9,28 @@ 4.0.0 - apm-collector-worker-new - pom - - apm-collector-worker-agent - apm-collector-worker-ui - apm-collector-worker-impl - + apm-collector-boot + jar org.skywalking - apm-collector-core + apm-collector-cluster-new ${project.version} org.skywalking - jetty-server + apm-collector-queue ${project.version} org.skywalking - google-rpc-server + apm-collector-ui + ${project.version} + + + org.skywalking + apm-collector-agentstream ${project.version} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/src/main/java/org/skywalking/apm/collector/worker/impl/CollectorBootStartUp.java b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorBootStartUp.java similarity index 93% rename from apm-collector/apm-collector-worker-new/apm-collector-worker-impl/src/main/java/org/skywalking/apm/collector/worker/impl/CollectorBootStartUp.java rename to apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorBootStartUp.java index ab6bdf30c..46acc6cc5 100644 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/src/main/java/org/skywalking/apm/collector/worker/impl/CollectorBootStartUp.java +++ b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorBootStartUp.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.worker.impl; +package org.skywalking.apm.collector.boot; import org.skywalking.apm.collector.core.client.ClientException; import org.skywalking.apm.collector.core.config.ConfigException; diff --git a/apm-collector/apm-collector-boot/src/main/resources/application.yml b/apm-collector/apm-collector-boot/src/main/resources/application.yml new file mode 100644 index 000000000..7406f217b --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/resources/application.yml @@ -0,0 +1,26 @@ +cluster: +# zookeeper: +# hostPort: localhost:2181 +# sessionTimeout: 1000 +# redis: +# host: localhost +# port: 6379 +queue: + disruptor: on + data_carrier: off +agentstream: + grpc: + host: localhost + port: 1000 + jetty: + host: localhost + port: 2000 + context_path: / +discovery: + grpc: localhost + port: 1000 +ui: + jetty: + host: localhost + port: 12800 + diff --git a/apm-collector/apm-collector-client/client-h2/pom.xml b/apm-collector/apm-collector-client/client-h2/pom.xml deleted file mode 100644 index bf8b6d0cc..000000000 --- a/apm-collector/apm-collector-client/client-h2/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - apm-collector-client - org.skywalking - 3.2-2017 - - 4.0.0 - - client-h2 - jar - - - - com.h2database - h2 - 1.4.196 - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-client/client-redis/pom.xml b/apm-collector/apm-collector-client/client-redis/pom.xml deleted file mode 100644 index 09107f8d8..000000000 --- a/apm-collector/apm-collector-client/client-redis/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - apm-collector-client - org.skywalking - 3.2-2017 - - 4.0.0 - - client-redis - jar - - - - redis.clients - jedis - 2.9.0 - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-client/client-zookeeper/pom.xml b/apm-collector/apm-collector-client/client-zookeeper/pom.xml deleted file mode 100644 index 50a4f61f1..000000000 --- a/apm-collector/apm-collector-client/client-zookeeper/pom.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - apm-collector-client - org.skywalking - 3.2-2017 - - 4.0.0 - - client-zookeeper - jar - - - - org.apache.zookeeper - zookeeper - 3.4.10 - - - slf4j-api - org.slf4j - - - log4j - log4j - - - slf4j-log4j12 - org.slf4j - - - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-client/pom.xml b/apm-collector/apm-collector-client/pom.xml index 7942957cf..f5038e4c8 100644 --- a/apm-collector/apm-collector-client/pom.xml +++ b/apm-collector/apm-collector-client/pom.xml @@ -10,12 +10,7 @@ 4.0.0 apm-collector-client - pom - - client-zookeeper - client-redis - client-h2 - + jar diff --git a/apm-collector/apm-collector-client/client-h2/src/main/java/org/skywalking/apm/collector/client/h2/H2Client.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/h2/H2Client.java similarity index 100% rename from apm-collector/apm-collector-client/client-h2/src/main/java/org/skywalking/apm/collector/client/h2/H2Client.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/h2/H2Client.java diff --git a/apm-collector/apm-collector-client/client-h2/src/main/java/org/skywalking/apm/collector/client/h2/H2ClientException.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/h2/H2ClientException.java similarity index 100% rename from apm-collector/apm-collector-client/client-h2/src/main/java/org/skywalking/apm/collector/client/h2/H2ClientException.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/h2/H2ClientException.java diff --git a/apm-collector/apm-collector-client/client-redis/src/main/java/org/skywalking/apm/collector/client/redis/RedisClient.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/redis/RedisClient.java similarity index 100% rename from apm-collector/apm-collector-client/client-redis/src/main/java/org/skywalking/apm/collector/client/redis/RedisClient.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/redis/RedisClient.java diff --git a/apm-collector/apm-collector-client/client-redis/src/main/java/org/skywalking/apm/collector/client/redis/RedisClientException.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/redis/RedisClientException.java similarity index 100% rename from apm-collector/apm-collector-client/client-redis/src/main/java/org/skywalking/apm/collector/client/redis/RedisClientException.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/redis/RedisClientException.java diff --git a/apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClient.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClient.java similarity index 100% rename from apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClient.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClient.java diff --git a/apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClientException.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClientException.java similarity index 100% rename from apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClientException.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperClientException.java diff --git a/apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperDataListener.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperDataListener.java similarity index 100% rename from apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperDataListener.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/ZookeeperDataListener.java diff --git a/apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/util/PathUtils.java b/apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/util/PathUtils.java similarity index 100% rename from apm-collector/apm-collector-client/client-zookeeper/src/main/java/org/skywalking/apm/collector/client/zookeeper/util/PathUtils.java rename to apm-collector/apm-collector-client/src/main/java/org/skywalking/apm/collector/client/zookeeper/util/PathUtils.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-redis/pom.xml b/apm-collector/apm-collector-cluster-new/cluster-redis/pom.xml deleted file mode 100644 index 0759fcf05..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-redis/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - apm-collector-cluster-new - org.skywalking - 3.2-2017 - - 4.0.0 - - cluster-redis - jar - - - - org.skywalking - client-redis - ${project.version} - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index 108425a44..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.cluster.redis.ClusterRedisModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster-new/cluster-standalone/pom.xml b/apm-collector/apm-collector-cluster-new/cluster-standalone/pom.xml deleted file mode 100644 index f7e08fdee..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-standalone/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - apm-collector-cluster-new - org.skywalking - 3.2-2017 - - 4.0.0 - - cluster-standalone - jar - - - - org.skywalking - client-h2 - ${project.version} - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index 6cf83ed9b..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.cluster.standalone.ClusterStandaloneModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/pom.xml b/apm-collector/apm-collector-cluster-new/cluster-zookeeper/pom.xml deleted file mode 100644 index 342d5ccf3..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - apm-collector-cluster-new - org.skywalking - 3.2-2017 - - 4.0.0 - - cluster-zookeeper - jar - - - - org.skywalking - client-zookeeper - ${project.version} - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index 54bd972ef..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.cluster.zookeeper.ClusterZKModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleDefineTestCase.java b/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleDefineTestCase.java deleted file mode 100644 index 07171b673..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleDefineTestCase.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.skywalking.apm.collector.cluster.zookeeper; - -import java.io.FileNotFoundException; -import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.core.cluster.ClusterModuleException; -import org.yaml.snakeyaml.Yaml; - -/** - * @author pengys5 - */ -public class ClusterZKModuleDefineTestCase { - - private Map config; - - @Before - public void before() throws FileNotFoundException { - Yaml yaml = new Yaml(); - config = (Map)yaml.load("hostPort: localhost:2181" + System.lineSeparator() + "sessionTimeout: 2000"); - } - - @Test - public void testInitialize() throws ClusterModuleException { - ClusterZKModuleDefine define = new ClusterZKModuleDefine(); - define.initialize(config); - } -} diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/java/org/skywalking/apm/collector/cluster/zookeeper/ZookeeperTestCase.java b/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/java/org/skywalking/apm/collector/cluster/zookeeper/ZookeeperTestCase.java deleted file mode 100644 index dc5fb00e5..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/java/org/skywalking/apm/collector/cluster/zookeeper/ZookeeperTestCase.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.skywalking.apm.collector.cluster.zookeeper; - -import java.io.IOException; -import org.apache.zookeeper.CreateMode; -import org.apache.zookeeper.KeeperException; -import org.apache.zookeeper.WatchedEvent; -import org.apache.zookeeper.Watcher; -import org.apache.zookeeper.ZooDefs; -import org.apache.zookeeper.ZooKeeper; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class ZookeeperTestCase { - - @Test - public void test() throws IOException, KeeperException, InterruptedException { - String hostPort = "localhost:2181"; - String znode = "/collector/module"; - String filename = ""; - String exec[] = new String[5 - 3]; -// new ZookeeperExecutor(hostPort, znode, filename, exec).run(); - - ZooKeeper zk = new ZooKeeper(hostPort, 1000, new Watcher() { - @Override public void process(WatchedEvent event) { - String path = event.getPath(); - System.out.println("已经触发了" + event.getType() + "事件!"); - System.out.println("path: " + path); - } - }); - - zk.create("/testRootPath", "testRootData".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, - CreateMode.PERSISTENT); -// 创建一个子目录节点 - zk.create("/testRootPath/testChildPathOne", "testChildDataOne".getBytes(), - ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT); - System.out.println(new String(zk.getData("/testRootPath",false,null))); - // 取出子目录节点列表 - System.out.println(zk.getChildren("/testRootPath",true)); - // 修改子目录节点数据 - zk.setData("/testRootPath/testChildPathOne","modifyChildDataOne".getBytes(),-1); - System.out.println("目录节点状态:["+zk.exists("/testRootPath",true)+"]"); - // 创建另外一个子目录节点 - zk.create("/testRootPath/testChildPathTwo", "testChildDataTwo".getBytes(), - ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT); -// System.out.println(new String(zk.getData("/testRootPath/testChildPathTwo",true,null))); - // 删除子目录节点 - zk.delete("/testRootPath/testChildPathTwo",-1); - zk.delete("/testRootPath/testChildPathOne",-1); - // 删除父目录节点 - zk.delete("/testRootPath",-1); - zk.close(); - } -} diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/resources/application.yml b/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/resources/application.yml deleted file mode 100644 index 5608ba0c6..000000000 --- a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/test/resources/application.yml +++ /dev/null @@ -1,3 +0,0 @@ - hostPort: localhost-zk - sessionTimeout: 2000 - diff --git a/apm-collector/apm-collector-cluster/pom.xml b/apm-collector/apm-collector-cluster/pom.xml index eb2af4010..c34df934f 100644 --- a/apm-collector/apm-collector-cluster/pom.xml +++ b/apm-collector/apm-collector-cluster/pom.xml @@ -12,19 +12,16 @@ apm-collector-cluster jar - - - - com.lmax - disruptor - 3.3.6 + org.skywalking + apm-collector-core + ${project.version} org.skywalking - apm-util + apm-collector-client ${project.version} - + \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/AkkaSystem.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/AkkaSystem.java deleted file mode 100644 index a5f007210..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/AkkaSystem.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.skywalking.apm.collector; - -import akka.actor.ActorSystem; -import com.typesafe.config.Config; -import com.typesafe.config.ConfigFactory; -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.util.StringUtil; -import org.skywalking.apm.collector.cluster.ClusterConfig; -import org.skywalking.apm.collector.cluster.Const; - -/** - * @author pengys5 - */ -public enum AkkaSystem { - INSTANCE; - private Logger logger = LogManager.getFormatterLogger(AkkaSystem.class); - - public ActorSystem create() { - Level logLevel = logger.getLevel(); - - final Config config = ConfigFactory.parseString("akka.remote.netty.tcp.HOSTNAME=" + ClusterConfig.Cluster.Current.HOSTNAME). - withFallback(ConfigFactory.parseString("akka.remote.netty.tcp.PORT=" + ClusterConfig.Cluster.Current.PORT)). - withFallback(ConfigFactory.parseString("akka.loggers=[\"akka.event.slf4j.Slf4jLogger\"]")). - withFallback(ConfigFactory.parseString("akka.loglevel=\"" + logLevel.name() + "\"")). - - withFallback(ConfigFactory.load("application.conf")); - if (!StringUtil.isEmpty(ClusterConfig.Cluster.SEED_NODES)) { - config.withFallback(ConfigFactory.parseString("akka.cluster.seed-nodes=" + generateSeedNodes())); - } - return ActorSystem.create(Const.SYSTEM_NAME, config); - } - - private String generateSeedNodes() { - String[] seedNodes = ClusterConfig.Cluster.SEED_NODES.split(","); - - String akkaSeedNodes = ""; - for (int i = 0; i < seedNodes.length; i++) { - String akkaNodeName = "\"akka.tcp://" + Const.SYSTEM_NAME + "@" + seedNodes[i] + "\""; - if (i > 0) { - akkaSeedNodes += ","; - } - akkaSeedNodes += akkaNodeName; - } - akkaSeedNodes = "[" + akkaSeedNodes + "]"; - logger.info("config seedNodes: %s, generate seedNodes: %s", ClusterConfig.Cluster.SEED_NODES, akkaSeedNodes); - return akkaSeedNodes; - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/CollectorSystem.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/CollectorSystem.java deleted file mode 100644 index f23ba87a4..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/CollectorSystem.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.skywalking.apm.collector; - -import akka.actor.ActorSystem; -import akka.actor.Props; -import java.io.IOException; -import java.util.ServiceLoader; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.AbstractLocalWorkerProvider; -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LookUp; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.UsedRoleNameException; -import org.skywalking.apm.collector.cluster.WorkersListener; -import org.skywalking.apm.collector.config.ConfigInitializer; -import org.skywalking.apm.collector.rpc.RPCAddressListener; - -/** - * @author pengys5 - */ -public class CollectorSystem { - private static final Logger logger = LogManager.getFormatterLogger(CollectorSystem.class); - - private ClusterWorkerContext clusterContext; - - public LookUp getClusterContext() { - return clusterContext; - } - - public void boot() throws UsedRoleNameException, ProviderNotFoundException, IOException, IllegalAccessException { - ConfigInitializer.INSTANCE.initialize(); - createAkkaSystem(); - createListener(); - loadLocalProviders(); - createClusterWorkers(); - } - - private void createAkkaSystem() { - ActorSystem akkaSystem = AkkaSystem.INSTANCE.create(); - clusterContext = new ClusterWorkerContext(akkaSystem); - } - - private void createListener() { - clusterContext.getAkkaSystem().actorOf(Props.create(WorkersListener.class, clusterContext), WorkersListener.WORK_NAME); - clusterContext.getAkkaSystem().actorOf(Props.create(RPCAddressListener.class, clusterContext), RPCAddressListener.WORK_NAME); - } - - private void createClusterWorkers() throws ProviderNotFoundException { - ServiceLoader clusterServiceLoader = ServiceLoader.load(AbstractClusterWorkerProvider.class); - for (AbstractClusterWorkerProvider provider : clusterServiceLoader) { - logger.info("create {%s} worker using java service loader", provider.workerNum()); - provider.setClusterContext(clusterContext); - for (int i = 1; i <= provider.workerNum(); i++) { - provider.create(AbstractWorker.noOwner()); - } - } - } - - private void loadLocalProviders() throws UsedRoleNameException { - ServiceLoader clusterServiceLoader = ServiceLoader.load(AbstractLocalWorkerProvider.class); - for (AbstractLocalWorkerProvider provider : clusterServiceLoader) { - logger.info("loadLocalProviders provider name: %s", provider.getClass().getName()); - provider.setClusterContext(clusterContext); - clusterContext.putProvider(provider); - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractClusterWorker.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractClusterWorker.java deleted file mode 100644 index 8a2289366..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractClusterWorker.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import akka.actor.UntypedActor; -import akka.cluster.Cluster; -import akka.cluster.ClusterEvent; -import akka.cluster.Member; -import akka.cluster.MemberStatus; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.cluster.WorkerListenerMessage; -import org.skywalking.apm.collector.cluster.WorkersListener; -import org.skywalking.apm.collector.rpc.RPCAddress; -import org.skywalking.apm.collector.rpc.RPCAddressListener; -import org.skywalking.apm.collector.rpc.RPCAddressListenerMessage; -import org.skywalking.apm.collector.log.LogManager; - -/** - * The AbstractClusterWorker implementations represent workers, - * which receive remote messages. - *

- * Usually, the implementations are doing persistent, or aggregate works. - * - * @author pengys5 - * @since v3.0-2017 - */ -public abstract class AbstractClusterWorker extends AbstractWorker { - - /** - * Construct an AbstractClusterWorker with the worker role and context. - * - * @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 AbstractClusterWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - /** - * This method use for message producer to call for send message. - * - * @param message The persistence data or metric data. - * @throws Exception The Exception happen in {@link #onWork(Object)} - */ - final public void allocateJob(Object message) throws WorkerException { - onWork(message); - } - - /** - * This method use for message receiver to analyse message. - * - * @param message Cast the message object to a expect subclass. - * @throws Exception Don't handle the exception, throw it. - */ - protected abstract void onWork(Object message) throws WorkerException; - - static class WorkerWithAkka extends UntypedActor { - private Logger logger = LogManager.INSTANCE.getFormatterLogger(WorkerWithAkka.class); - - private Cluster cluster; - private final AbstractClusterWorker ownerWorker; - private final RPCAddress RPCAddress; - - public WorkerWithAkka(AbstractClusterWorker ownerWorker, RPCAddress RPCAddress) { - this.ownerWorker = ownerWorker; - cluster = Cluster.get(getContext().system()); - this.RPCAddress = RPCAddress; - } - - @Override - public void preStart() { - cluster.subscribe(getSelf(), ClusterEvent.MemberUp.class); - } - - @Override - public void postStop() { - cluster.unsubscribe(getSelf()); - } - - /** - * Listening {@link ClusterEvent.MemberUp} and {@link ClusterEvent.CurrentClusterState} - * cluster event, when event send from the member of {@link WorkersListener} then tell - * the sender to register self. - */ - @Override - public void onReceive(Object message) throws WorkerException { - if (message instanceof ClusterEvent.CurrentClusterState) { - ClusterEvent.CurrentClusterState state = (ClusterEvent.CurrentClusterState)message; - for (Member member : state.getMembers()) { - if (member.status().equals(MemberStatus.up())) { - register(member); - } - } - } else if (message instanceof ClusterEvent.MemberUp) { - ClusterEvent.MemberUp memberUp = (ClusterEvent.MemberUp)message; - logger.info("receive ClusterEvent.MemberUp message, address: %s", memberUp.member().address().toString()); - register(memberUp.member()); - } else { - logger.debug("worker class: %s, message class: %s", this.getClass().getName(), message.getClass().getName()); - ownerWorker.allocateJob(message); - } - } - - /** - * When member role is {@link WorkersListener#WORK_NAME} then Select actor from context - * and send register message to {@link WorkersListener} - * - * @param member is the new created or restart worker - */ - void register(Member member) { - if (member.hasRole(WorkersListener.WORK_NAME)) { - WorkerListenerMessage.RegisterMessage registerMessage = new WorkerListenerMessage.RegisterMessage(ownerWorker.getRole()); - logger.info("member address: %s, worker path: %s", member.address().toString(), getSelf().path().toString()); - getContext().actorSelection(member.address() + "/user/" + WorkersListener.WORK_NAME).tell(registerMessage, getSelf()); - } - if (member.hasRole(RPCAddressListener.WORK_NAME) && RPCAddress != null) { - RPCAddressListenerMessage.ConfigMessage configMessage = new RPCAddressListenerMessage.ConfigMessage(RPCAddress); - logger.info("member address: %s, worker path: %s", member.address().toString(), getSelf().path().toString()); - getContext().actorSelection(member.address() + "/user/" + RPCAddressListener.WORK_NAME).tell(configMessage, getSelf()); - } - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorker.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorker.java deleted file mode 100644 index 82186c50f..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorker.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import com.lmax.disruptor.EventHandler; -import com.lmax.disruptor.RingBuffer; -import org.skywalking.apm.collector.queue.EndOfBatchCommand; -import org.skywalking.apm.collector.queue.MessageHolder; - -/** - * The AbstractLocalAsyncWorker implementations represent workers, - * which receive local asynchronous message. - * - * @author pengys5 - * @since v3.0-2017 - */ -public abstract class AbstractLocalAsyncWorker extends AbstractLocalWorker { - - /** - * Construct an AbstractLocalAsyncWorker with the worker role and context. - * - * @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); - } - - /** - * The asynchronous worker always use to persistence data into db, this is the end of the streaming, - * so usually no need to create the next worker instance at the time of this worker instance create. - * - * @throws ProviderNotFoundException When worker provider not found, it will be throw this exception. - */ - @Override - public void preStart() throws ProviderNotFoundException { - } - - /** - * Receive message - * - * @param message The persistence data or metric data. - * @throws WorkerException The Exception happen in {@link #onWork(Object)} - */ - final public void allocateJob(Object message) throws WorkerException { - onWork(message); - } - - /** - * The data process logic in this method. - * - * @param message Cast the message object to a expect subclass. - * @throws WorkerException Don't handle the exception, throw it. - */ - protected abstract void onWork(Object message) throws WorkerException; - - static class WorkerWithDisruptor implements EventHandler { - - private RingBuffer ringBuffer; - private AbstractLocalAsyncWorker asyncWorker; - - WorkerWithDisruptor(RingBuffer ringBuffer, AbstractLocalAsyncWorker asyncWorker) { - this.ringBuffer = ringBuffer; - this.asyncWorker = asyncWorker; - } - - /** - * Receive the message from disruptor, when message in disruptor is empty, then send the cached data - * to the next workers. - * - * @param event published to the {@link RingBuffer} - * @param sequence of the event being processed - * @param endOfBatch flag to indicate if this is the last event in a batch from the {@link RingBuffer} - */ - public void onEvent(MessageHolder event, long sequence, boolean endOfBatch) { - try { - Object message = event.getMessage(); - event.reset(); - - asyncWorker.allocateJob(message); - if (endOfBatch) { - asyncWorker.allocateJob(new EndOfBatchCommand()); - } - } catch (Exception e) { - asyncWorker.saveException(e); - } - } - - /** - * Push the message into disruptor ring buffer. - * - * @param message of the data to process. - */ - public void tell(Object message) { - long sequence = ringBuffer.next(); - try { - ringBuffer.get(sequence).setMessage(message); - } finally { - ringBuffer.publish(sequence); - } - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorkerProvider.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorkerProvider.java deleted file mode 100644 index d636d9682..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorkerProvider.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import com.lmax.disruptor.RingBuffer; -import com.lmax.disruptor.dsl.Disruptor; -import org.skywalking.apm.collector.queue.DaemonThreadFactory; -import org.skywalking.apm.collector.queue.MessageHolder; -import org.skywalking.apm.collector.queue.MessageHolderFactory; - -/** - * @author pengys5 - */ -public abstract class AbstractLocalAsyncWorkerProvider extends AbstractLocalWorkerProvider { - - public abstract int queueSize(); - - @Override final public WorkerRef onCreate( - LocalWorkerContext localContext) throws ProviderNotFoundException { - T localAsyncWorker = (T)workerInstance(getClusterContext()); - localAsyncWorker.preStart(); - - // Specify the size of the ring buffer, must be power of 2. - int bufferSize = queueSize(); - if (!((((bufferSize - 1) & bufferSize) == 0) && bufferSize != 0)) { - throw new IllegalArgumentException("queue size must be power of 2"); - } - - // Construct the Disruptor - Disruptor disruptor = new Disruptor(MessageHolderFactory.INSTANCE, bufferSize, DaemonThreadFactory.INSTANCE); - - RingBuffer ringBuffer = disruptor.getRingBuffer(); - T.WorkerWithDisruptor disruptorWorker = new T.WorkerWithDisruptor(ringBuffer, localAsyncWorker); - - // Connect the handler - disruptor.handleEventsWith(disruptorWorker); - - // Start the Disruptor, starts all threads running - disruptor.start(); - - LocalAsyncWorkerRef workerRef = new LocalAsyncWorkerRef(role(), disruptorWorker); - - if (localContext != null) { - localContext.put(workerRef); - } - - return workerRef; - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerRef.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerRef.java deleted file mode 100644 index 2a47f19f7..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerRef.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import akka.actor.ActorRef; - -/** - * @author pengys5 - */ -public class ClusterWorkerRef extends WorkerRef { - - private ActorRef actorRef; - - public ClusterWorkerRef(ActorRef actorRef, Role role) { - super(role); - this.actorRef = actorRef; - } - - @Override - public void tell(Object message) { - actorRef.tell(message, ActorRef.noSender()); - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalAsyncWorkerRef.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalAsyncWorkerRef.java deleted file mode 100644 index 0e975a241..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalAsyncWorkerRef.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.skywalking.apm.collector.actor; - -/** - * @author pengys5 - */ -public class LocalAsyncWorkerRef extends WorkerRef { - - private AbstractLocalAsyncWorker.WorkerWithDisruptor workerWithDisruptor; - - public LocalAsyncWorkerRef(Role role, AbstractLocalAsyncWorker.WorkerWithDisruptor workerWithDisruptor) { - super(role); - this.workerWithDisruptor = workerWithDisruptor; - } - - @Override - public void tell(Object message) throws WorkerInvokeException { - workerWithDisruptor.tell(message); - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Role.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Role.java deleted file mode 100644 index 811c1a275..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Role.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public interface Role { - - String roleName(); - - WorkerSelector workerSelector(); -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterConfig.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterConfig.java deleted file mode 100644 index d2333319e..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterConfig.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.cluster; - -/** - * A static class contains some config values of cluster. - * {@link Cluster.Current#HOSTNAME} is a ip address of server which start this process. - * {@link Cluster.Current#PORT} is a PORT of server use to bind - * {@link Cluster.Current#ROLES} is a ROLES of workers that use to create workers which - * has those role in this process. - * {@link Cluster#SEED_NODES} is a SEED_NODES which cluster have, List of strings, e.g. SEED_NODES = "ip:PORT,ip:PORT".. - * - * @author pengys5 - */ -public class ClusterConfig { - - public static class Cluster { - public static class Current { - public static String HOSTNAME = ""; - public static String PORT = ""; - public static String ROLES = ""; - } - - public static String SEED_NODES = ""; - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterConfigProvider.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterConfigProvider.java deleted file mode 100644 index c5c3c7a85..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterConfigProvider.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.skywalking.apm.collector.cluster; - -import org.skywalking.apm.util.StringUtil; -import org.skywalking.apm.collector.config.ConfigProvider; - -/** - * @author pengys5 - */ -public class ClusterConfigProvider implements ConfigProvider { - - @Override - public Class configClass() { - return ClusterConfig.class; - } - - @Override - public void cliArgs() { - if (!StringUtil.isEmpty(System.getProperty("cluster.current.HOSTNAME"))) { - ClusterConfig.Cluster.Current.HOSTNAME = System.getProperty("cluster.current.HOSTNAME"); - } - if (!StringUtil.isEmpty(System.getProperty("cluster.current.PORT"))) { - ClusterConfig.Cluster.Current.PORT = System.getProperty("cluster.current.PORT"); - } - if (!StringUtil.isEmpty(System.getProperty("cluster.current.ROLES"))) { - ClusterConfig.Cluster.Current.ROLES = System.getProperty("cluster.current.ROLES"); - } - if (!StringUtil.isEmpty(System.getProperty("cluster.SEED_NODES"))) { - ClusterConfig.Cluster.SEED_NODES = System.getProperty("cluster.SEED_NODES"); - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterModuleGroupDefine.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterModuleGroupDefine.java new file mode 100644 index 000000000..4f5246442 --- /dev/null +++ b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/ClusterModuleGroupDefine.java @@ -0,0 +1,17 @@ +package org.skywalking.apm.collector.cluster; + +import org.skywalking.apm.collector.core.module.ModuleGroupDefine; +import org.skywalking.apm.collector.core.module.ModuleInstallMode; + +/** + * @author pengys5 + */ +public class ClusterModuleGroupDefine implements ModuleGroupDefine { + @Override public String name() { + return "cluster"; + } + + @Override public ModuleInstallMode mode() { + return ModuleInstallMode.Single; + } +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/Const.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/Const.java deleted file mode 100644 index 72c501acf..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/Const.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.skywalking.apm.collector.cluster; - -/** - * @author pengys5 - */ -public class Const { - public static final String SYSTEM_NAME = "ClusterSystem"; -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/WorkerListenerMessage.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/WorkerListenerMessage.java deleted file mode 100644 index e5fb162b1..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/WorkerListenerMessage.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.skywalking.apm.collector.cluster; - -import java.io.Serializable; -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.Role; - -/** - * WorkerListenerMessage is a message just for the worker - * implementation of the {@link AbstractWorker} - * to register. - * - * @author pengys5 - */ -public class WorkerListenerMessage { - - public static class RegisterMessage implements Serializable { - private final Role role; - - public RegisterMessage(Role role) { - this.role = role; - } - - public Role getRole() { - return role; - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/WorkersListener.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/WorkersListener.java deleted file mode 100644 index 53b1f330e..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/WorkersListener.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.skywalking.apm.collector.cluster; - -import akka.actor.ActorRef; -import akka.actor.Terminated; -import akka.actor.UntypedActor; -import akka.cluster.Cluster; -import akka.cluster.ClusterEvent; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.ClusterWorkerRef; - -import java.util.Iterator; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * WorkersListener listening the register message from workers - * implementation of the {@link AbstractWorker} - * and terminated message from akka cluster. - *

- * when listened register message then begin to watch the state for this worker - * and register to {@link ClusterWorkerContext} and {@link #relation}. - *

- * when listened terminate message then unregister from {@link ClusterWorkerContext} and {@link #relation} . - * - * @author pengys5 - */ -public class WorkersListener extends UntypedActor { - public static final String WORK_NAME = "WorkersListener"; - - private final Logger logger = LogManager.getFormatterLogger(WorkersListener.class); - private final ClusterWorkerContext clusterContext; - private Cluster cluster = Cluster.get(getContext().system()); - private Map relation = new ConcurrentHashMap<>(); - - public WorkersListener(ClusterWorkerContext clusterContext) { - this.clusterContext = clusterContext; - } - - @Override - public void preStart() throws Exception { - cluster.subscribe(getSelf(), ClusterEvent.UnreachableMember.class); - } - - @Override - public void onReceive(Object message) throws Throwable { - if (message instanceof WorkerListenerMessage.RegisterMessage) { - WorkerListenerMessage.RegisterMessage register = (WorkerListenerMessage.RegisterMessage) message; - ActorRef sender = getSender(); - logger.info("register worker of role: %s, path: %s", register.getRole().roleName(), sender.toString()); - ClusterWorkerRef workerRef = new ClusterWorkerRef(sender, register.getRole()); - relation.put(sender, workerRef); - clusterContext.put(new ClusterWorkerRef(sender, register.getRole())); - } else if (message instanceof Terminated) { - Terminated terminated = (Terminated) message; - clusterContext.remove(relation.get(terminated.getActor())); - relation.remove(terminated.getActor()); - } else if (message instanceof ClusterEvent.UnreachableMember) { - ClusterEvent.UnreachableMember unreachableMember = (ClusterEvent.UnreachableMember) message; - - Iterator> iterator = relation.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry next = iterator.next(); - - if (next.getKey().path().address().equals(unreachableMember.member().address())) { - clusterContext.remove(next.getValue()); - iterator.remove(); - } - } - } else { - unhandled(message); - } - } -} diff --git a/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfig.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfig.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfig.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfig.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfigParser.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfigParser.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfigParser.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisConfigParser.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisDataInitializer.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisDataInitializer.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisDataInitializer.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisDataInitializer.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleDefine.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleDefine.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleDefine.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleDefine.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleRegistrationWriter.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleRegistrationWriter.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-redis/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleRegistrationWriter.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterRedisModuleRegistrationWriter.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneConfigParser.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneConfigParser.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneConfigParser.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneConfigParser.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneDataInitializer.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneDataInitializer.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneDataInitializer.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneDataInitializer.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleDefine.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleDefine.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleDefine.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleDefine.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleRegistrationWriter.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleRegistrationWriter.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-standalone/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleRegistrationWriter.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterStandaloneModuleRegistrationWriter.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfig.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfig.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfig.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfig.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfigParser.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfigParser.java similarity index 93% rename from apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfigParser.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfigParser.java index 264099154..82e5e86ab 100644 --- a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfigParser.java +++ b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKConfigParser.java @@ -14,12 +14,13 @@ public class ClusterZKConfigParser implements ModuleConfigParser { private final String SESSION_TIMEOUT = "sessionTimeout"; @Override public void parse(Map config) throws ConfigParseException { - if (StringUtils.isEmpty(config.get(HOST_PORT))) { - throw new ConfigParseException(""); - } ClusterZKConfig.HOST_PORT = (String)config.get(HOST_PORT); ClusterZKConfig.SESSION_TIMEOUT = 1000; + if (StringUtils.isEmpty(ClusterZKConfig.HOST_PORT)) { + throw new ConfigParseException(""); + } + if (!StringUtils.isEmpty(config.get(SESSION_TIMEOUT))) { ClusterZKConfig.SESSION_TIMEOUT = (Integer)config.get(SESSION_TIMEOUT); } diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataInitializer.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataInitializer.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataInitializer.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataInitializer.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleDefine.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleDefine.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleDefine.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleDefine.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationReader.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationReader.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationReader.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationReader.java diff --git a/apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationWriter.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationWriter.java similarity index 100% rename from apm-collector/apm-collector-cluster-new/cluster-zookeeper/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationWriter.java rename to apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKModuleRegistrationWriter.java diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/config/ConfigInitializer.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/config/ConfigInitializer.java deleted file mode 100644 index 7746883ab..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/config/ConfigInitializer.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.skywalking.apm.collector.config; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; -import java.util.ServiceLoader; - -/** - * @author pengys5 - */ -public enum ConfigInitializer { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(ConfigInitializer.class); - - public void initialize() throws IOException, IllegalAccessException { - InputStream configFileStream = ConfigInitializer.class.getResourceAsStream("/collector.config"); - initializeConfigFile(configFileStream); - - ServiceLoader configProviders = ServiceLoader.load(ConfigProvider.class); - for (ConfigProvider provider : configProviders) { - provider.cliArgs(); - } - } - - private void initializeConfigFile(InputStream configFileStream) throws IOException, IllegalAccessException { - ServiceLoader configProviders = ServiceLoader.load(ConfigProvider.class); - Properties properties = new Properties(); - properties.load(configFileStream); - - for (ConfigProvider provider : configProviders) { - logger.info("configProvider provider name: %s", provider.getClass().getName()); - Class configClass = provider.configClass(); - org.skywalking.apm.util.ConfigInitializer.initialize(properties, configClass); - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/config/ConfigProvider.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/config/ConfigProvider.java deleted file mode 100644 index 8de5b2110..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/config/ConfigProvider.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.skywalking.apm.collector.config; - -/** - * @author pengys5 - */ -public interface ConfigProvider { - Class configClass(); - - void cliArgs(); -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/log/LogManager.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/log/LogManager.java deleted file mode 100644 index 225269550..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/log/LogManager.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.skywalking.apm.collector.log; - -import org.apache.logging.log4j.Logger; - -/** - * @author pengys5 - */ -public enum LogManager { - INSTANCE; - - public Logger getFormatterLogger(final Class clazz) { - return org.apache.logging.log4j.LogManager.getFormatterLogger(clazz); - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddress.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddress.java deleted file mode 100644 index 6cf949b78..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddress.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.skywalking.apm.collector.rpc; - -/** - * @author pengys5 - */ -public class RPCAddress { - private final String address; - private final int port; - - public RPCAddress(String address, int port) { - this.address = address; - this.port = port; - } - - public String getAddress() { - return address; - } - - public int getPort() { - return port; - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressContext.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressContext.java deleted file mode 100644 index 52dcf27e4..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressContext.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.rpc; - -import java.util.Collection; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * @author pengys5 - */ -public class RPCAddressContext { - - private Map rpcAddresses = new ConcurrentHashMap<>(); - - public Collection rpcAddressCollection() { - return rpcAddresses.values(); - } - - public void putAddress(String ownerAddress, RPCAddress rpcAddress) { - rpcAddresses.put(ownerAddress, rpcAddress); - } - - public void removeAddress(String ownerAddress) { - rpcAddresses.remove(ownerAddress); - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressListener.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressListener.java deleted file mode 100644 index d23190c95..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressListener.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.skywalking.apm.collector.rpc; - -import akka.actor.ActorRef; -import akka.actor.Terminated; -import akka.actor.UntypedActor; -import akka.cluster.Cluster; -import akka.cluster.ClusterEvent; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; - -/** - * @author pengys5 - */ -public class RPCAddressListener extends UntypedActor { - - private final Logger logger = LogManager.getFormatterLogger(RPCAddressListener.class); - - public static final String WORK_NAME = "RPCAddressListener"; - - private final ClusterWorkerContext clusterContext; - private Cluster cluster = Cluster.get(getContext().system()); - - public RPCAddressListener(ClusterWorkerContext clusterContext) { - this.clusterContext = clusterContext; - } - - @Override - public void preStart() throws Exception { - cluster.subscribe(getSelf(), ClusterEvent.UnreachableMember.class); - } - - @Override - public void onReceive(Object message) throws Throwable { - if (message instanceof RPCAddressListenerMessage.ConfigMessage) { - RPCAddressListenerMessage.ConfigMessage configMessage = (RPCAddressListenerMessage.ConfigMessage)message; - ActorRef sender = getSender(); - logger.info("address: %s, port: %s", configMessage.getConfig().getAddress(), configMessage.getConfig().getPort()); - String ownerAddress = sender.path().address().hostPort(); - clusterContext.getRpcContext().putAddress(ownerAddress, configMessage.getConfig()); - } else if (message instanceof Terminated) { - Terminated terminated = (Terminated)message; - clusterContext.getRpcContext().removeAddress(terminated.getActor().path().address().hostPort()); - } else if (message instanceof ClusterEvent.UnreachableMember) { - ClusterEvent.UnreachableMember unreachableMember = (ClusterEvent.UnreachableMember)message; - clusterContext.getRpcContext().removeAddress(unreachableMember.member().address().hostPort()); - } else { - unhandled(message); - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressListenerMessage.java b/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressListenerMessage.java deleted file mode 100644 index bcf443024..000000000 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/rpc/RPCAddressListenerMessage.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.skywalking.apm.collector.rpc; - -import java.io.Serializable; - -/** - * @author pengys5 - */ -public class RPCAddressListenerMessage { - - public static class ConfigMessage implements Serializable { - private final RPCAddress config; - - public ConfigMessage(RPCAddress config) { - this.config = config; - } - - public RPCAddress getConfig() { - return config; - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/resources/META-INF/defines/group.define b/apm-collector/apm-collector-cluster/src/main/resources/META-INF/defines/group.define new file mode 100644 index 000000000..333959bcb --- /dev/null +++ b/apm-collector/apm-collector-cluster/src/main/resources/META-INF/defines/group.define @@ -0,0 +1 @@ +org.skywalking.apm.collector.cluster.ClusterModuleGroupDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-cluster/src/main/resources/META-INF/defines/module.define new file mode 100644 index 000000000..64e4e0bf7 --- /dev/null +++ b/apm-collector/apm-collector-cluster/src/main/resources/META-INF/defines/module.define @@ -0,0 +1,3 @@ +org.skywalking.apm.collector.cluster.zookeeper.ClusterZKModuleDefine +org.skywalking.apm.collector.cluster.standalone.ClusterStandaloneModuleDefine +org.skywalking.apm.collector.cluster.redis.ClusterRedisModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerProviderTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerProviderTestCase.java deleted file mode 100644 index b1b3f1cab..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerProviderTestCase.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import akka.actor.ActorSystem; -import org.apache.logging.log4j.Logger; -import org.mockito.Mockito; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.log.LogManager; - -/** - * @author pengys5 - */ -//@RunWith(PowerMockRunner.class) -//@PrepareForTest({LogManager.class}) -public class AbstractClusterWorkerProviderTestCase { - - // @Test - public void testOnCreate() throws ProviderNotFoundException { - LogManager logManager = Mockito.mock(LogManager.class); - Whitebox.setInternalState(LogManager.class, "INSTANCE", logManager); - Logger logger = Mockito.mock(Logger.class); - Mockito.when(logManager.getFormatterLogger(Mockito.any())).thenReturn(logger); - - ActorSystem actorSystem = Mockito.mock(ActorSystem.class); - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(actorSystem); - Impl impl = new Impl(); - impl.onCreate(null); - } - - class Impl extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public AbstractClusterWorkerTestCase.Impl workerInstance(ClusterWorkerContext clusterContext) { - return new AbstractClusterWorkerTestCase.Impl(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return 0; - } - } - - enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return AbstractClusterWorkerTestCase.Impl.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerTestCase.java deleted file mode 100644 index ff62a9517..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerTestCase.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import akka.actor.Address; -import akka.cluster.ClusterEvent; -import akka.cluster.Member; -import org.apache.logging.log4j.Logger; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterEvent.MemberUp.class, Address.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class AbstractClusterWorkerTestCase { - - private AbstractClusterWorker.WorkerWithAkka workerWithAkka = mock(AbstractClusterWorker.WorkerWithAkka.class, CALLS_REAL_METHODS); - private AbstractClusterWorker worker = PowerMockito.spy(new Impl(WorkerRole.INSTANCE, null, null)); - - @Before - public void init() { - Logger logger = mock(Logger.class); - Whitebox.setInternalState(workerWithAkka, "logger", logger); - Whitebox.setInternalState(workerWithAkka, "ownerWorker", worker); - } - - @Test - public void testAllocateJob() throws Exception { - - String jobStr = "TestJob"; - worker.allocateJob(jobStr); - - verify(worker).onWork(jobStr); - } - - @Test - public void testMemberUp() throws Throwable { - ClusterEvent.MemberUp memberUp = mock(ClusterEvent.MemberUp.class); - - Address address = mock(Address.class); - when(address.toString()).thenReturn("address"); - - Member member = mock(Member.class); - when(member.address()).thenReturn(address); - - when(memberUp.member()).thenReturn(member); - - workerWithAkka.onReceive(memberUp); - - verify(workerWithAkka).register(member); - } - - @Test - public void testMessage() throws Throwable { - String message = "test"; - workerWithAkka.onReceive(message); - - verify(worker).allocateJob(message); - } - - static class Impl extends AbstractClusterWorker { - @Override - public void preStart() throws ProviderNotFoundException { - } - - public Impl(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - protected void onWork(Object message) throws IllegalArgumentException { - - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return Impl.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorkerTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorkerTestCase.java deleted file mode 100644 index f41feddf1..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractLocalAsyncWorkerTestCase.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import org.junit.Test; -import org.mockito.ArgumentMatcher; -import org.skywalking.apm.collector.queue.EndOfBatchCommand; -import org.skywalking.apm.collector.queue.MessageHolder; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -public class AbstractLocalAsyncWorkerTestCase { - - @Test - public void testAllocateJob() throws Exception { - AbstractLocalAsyncWorker worker = mock(AbstractLocalAsyncWorker.class); - - String message = "Test"; - worker.allocateJob(message); - verify(worker).onWork(message); - } - - @Test - public void testOnEventWhenNotEnd() throws Exception { - AbstractLocalAsyncWorker worker = mock(AbstractLocalAsyncWorker.class); - - AbstractLocalAsyncWorker.WorkerWithDisruptor disruptor = new AbstractLocalAsyncWorker.WorkerWithDisruptor(null, worker); - - MessageHolder holder = new MessageHolder(); - String message = "Test"; - holder.setMessage(message); - disruptor.onEvent(holder, 0, false); - - verify(worker).onWork(message); - } - - @Test - public void testOnEventWhenEnd() throws Exception { - AbstractLocalAsyncWorker worker = mock(AbstractLocalAsyncWorker.class); - - AbstractLocalAsyncWorker.WorkerWithDisruptor disruptor = new AbstractLocalAsyncWorker.WorkerWithDisruptor(null, worker); - - MessageHolder holder = new MessageHolder(); - String message = "Test"; - holder.setMessage(message); - disruptor.onEvent(holder, 0, true); - - verify(worker, times(1)).onWork(message); - verify(worker, times(1)).onWork(argThat(new IsEndOfBatchCommandClass())); - } - - class IsEndOfBatchCommandClass extends ArgumentMatcher { - public boolean matches(Object para) { - return para.getClass() == EndOfBatchCommand.class; - } - } - -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractWorkerProviderTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractWorkerProviderTestCase.java deleted file mode 100644 index d6fbfff66..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/AbstractWorkerProviderTestCase.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.skywalking.apm.collector.actor; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import static org.powermock.api.mockito.PowerMockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {AbstractWorker.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class AbstractWorkerProviderTestCase { - - @Test(expected = IllegalArgumentException.class) - public void testNullWorkerInstanceCreate() throws ProviderNotFoundException { - AbstractWorkerProvider provider = mock(AbstractWorkerProvider.class); - when(provider.workerInstance(null)).thenReturn(null); - - AbstractWorker worker = mock(AbstractWorker.class); - provider.create(worker); - } - - @Test - public void testNoneWorkerOwner() throws ProviderNotFoundException { - AbstractWorkerProvider provider = mock(AbstractWorkerProvider.class); - - ClusterWorkerContext context = mock(ClusterWorkerContext.class); - provider.setClusterContext(context); - - AbstractWorker worker = mock(AbstractWorker.class); - when(provider.workerInstance(context)).thenReturn(worker); - - provider.create(null); - Mockito.verify(provider).onCreate(null); - } - - @Test - public void testHasWorkerOwner() throws ProviderNotFoundException { - AbstractWorkerProvider provider = mock(AbstractWorkerProvider.class); - - ClusterWorkerContext context = mock(ClusterWorkerContext.class); - provider.setClusterContext(context); - - AbstractWorker worker = mock(AbstractWorker.class); - when(provider.workerInstance(context)).thenReturn(worker); - - AbstractWorker workerOwner = mock(AbstractWorker.class); - LocalWorkerContext localWorkerContext = mock(LocalWorkerContext.class); - when(workerOwner.getSelfContext()).thenReturn(localWorkerContext); - - provider.create(workerOwner); - Mockito.verify(provider).onCreate(localWorkerContext); - } - - @Test(expected = IllegalArgumentException.class) - public void testHasWorkerOwnerButNoneContext() throws ProviderNotFoundException { - AbstractWorkerProvider provider = mock(AbstractWorkerProvider.class); - - ClusterWorkerContext context = mock(ClusterWorkerContext.class); - provider.setClusterContext(context); - - AbstractWorker worker = mock(AbstractWorker.class); - when(provider.workerInstance(context)).thenReturn(worker); - - AbstractWorker workerOwner = mock(AbstractWorker.class); - when(workerOwner.getSelfContext()).thenReturn(null); - - provider.create(workerOwner); - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/AbstractHashMessageTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/AbstractHashMessageTestCase.java deleted file mode 100644 index ea3557cc9..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/AbstractHashMessageTestCase.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.actor.selector; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class AbstractHashMessageTestCase { - - @Test - public void testGetHashCode() { - String key = "key"; - - Impl impl = new Impl(key); - Assert.assertEquals(key.hashCode(), impl.getHashCode()); - } - - class Impl extends AbstractHashMessage { - public Impl(String key) { - super(key); - } - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/HashCodeSelectorTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/HashCodeSelectorTestCase.java deleted file mode 100644 index 8f669e791..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/HashCodeSelectorTestCase.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.skywalking.apm.collector.actor.selector; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.actor.WorkerRef; - -import java.util.ArrayList; -import java.util.List; - -import static org.powermock.api.mockito.PowerMockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -public class HashCodeSelectorTestCase { - - @Test - public void testSelect() { - List members = new ArrayList<>(); - WorkerRef workerRef_1 = mock(WorkerRef.class); - WorkerRef workerRef_2 = mock(WorkerRef.class); - WorkerRef workerRef_3 = mock(WorkerRef.class); - - members.add(workerRef_1); - members.add(workerRef_2); - members.add(workerRef_3); - - AbstractHashMessage message_1 = mock(AbstractHashMessage.class); - when(message_1.getHashCode()).thenReturn(9); - - AbstractHashMessage message_2 = mock(AbstractHashMessage.class); - when(message_2.getHashCode()).thenReturn(10); - - AbstractHashMessage message_3 = mock(AbstractHashMessage.class); - when(message_3.getHashCode()).thenReturn(11); - - HashCodeSelector selector = new HashCodeSelector(); - - WorkerRef select_1 = selector.select(members, message_1); - Assert.assertEquals(workerRef_1.hashCode(), select_1.hashCode()); - - WorkerRef select_2 = selector.select(members, message_2); - Assert.assertEquals(workerRef_2.hashCode(), select_2.hashCode()); - - WorkerRef select_3 = selector.select(members, message_3); - Assert.assertEquals(workerRef_3.hashCode(), select_3.hashCode()); - } - - @Test(expected = IllegalArgumentException.class) - public void testSelectError() { - HashCodeSelector selector = new HashCodeSelector(); - selector.select(null, new Object()); - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/RollingSelectorTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/RollingSelectorTestCase.java deleted file mode 100644 index 442f46730..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/actor/selector/RollingSelectorTestCase.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.skywalking.apm.collector.actor.selector; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.actor.WorkerRef; - -import java.util.ArrayList; -import java.util.List; - -import static org.powermock.api.mockito.PowerMockito.mock; - -/** - * @author pengys5 - */ -public class RollingSelectorTestCase { - - @Test - public void testSelect() { - List members = new ArrayList<>(); - WorkerRef workerRef_1 = mock(WorkerRef.class); - WorkerRef workerRef_2 = mock(WorkerRef.class); - WorkerRef workerRef_3 = mock(WorkerRef.class); - - members.add(workerRef_1); - members.add(workerRef_2); - members.add(workerRef_3); - - Object message = new Object(); - - RollingSelector selector = new RollingSelector(); - - WorkerRef selected_1 = selector.select(members, message); - Assert.assertEquals(workerRef_2.hashCode(), selected_1.hashCode()); - - WorkerRef selected_2 = selector.select(members, message); - Assert.assertEquals(workerRef_3.hashCode(), selected_2.hashCode()); - - WorkerRef selected_3 = selector.select(members, message); - Assert.assertEquals(workerRef_1.hashCode(), selected_3.hashCode()); - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/config/ConfigInitializerTestCase.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/config/ConfigInitializerTestCase.java deleted file mode 100644 index 88f99a623..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/config/ConfigInitializerTestCase.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.skywalking.apm.collector.config; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.cluster.ClusterConfig; - -/** - * @author pengys5 - */ -public class ConfigInitializerTestCase { - - @Before - public void clear() { - System.clearProperty("cluster.current.HOSTNAME"); - System.clearProperty("cluster.current.PORT"); - System.clearProperty("cluster.current.ROLES"); - System.clearProperty("cluster.SEED_NODES"); - } - - @Test - public void testInitialize() throws Exception { - ConfigInitializer.INSTANCE.initialize(); - - Assert.assertEquals("127.0.0.1", ClusterConfig.Cluster.Current.HOSTNAME); - Assert.assertEquals("1000", ClusterConfig.Cluster.Current.PORT); - Assert.assertEquals("WorkersListener", ClusterConfig.Cluster.Current.ROLES); - Assert.assertEquals("127.0.0.1:1000", ClusterConfig.Cluster.SEED_NODES); - } - - @Test - public void testInitializeWithCli() throws Exception { - System.setProperty("cluster.current.HOSTNAME", "127.0.0.2"); - System.setProperty("cluster.current.PORT", "1001"); - System.setProperty("cluster.current.ROLES", "Test1, Test2"); - System.setProperty("cluster.SEED_NODES", "127.0.0.1:1000, 127.0.0.1:1001"); - - ConfigInitializer.INSTANCE.initialize(); - - Assert.assertEquals("127.0.0.2", ClusterConfig.Cluster.Current.HOSTNAME); - Assert.assertEquals("1001", ClusterConfig.Cluster.Current.PORT); - Assert.assertEquals("Test1, Test2", ClusterConfig.Cluster.Current.ROLES); - Assert.assertEquals("127.0.0.1:1000, 127.0.0.1:1001", ClusterConfig.Cluster.SEED_NODES); - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/log/MockLog.java b/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/log/MockLog.java deleted file mode 100644 index ba71fd0ca..000000000 --- a/apm-collector/apm-collector-cluster/src/test/java/org/skywalking/apm/collector/log/MockLog.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.log; - -import org.apache.logging.log4j.Logger; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; - -/** - * @author pengys5 - */ -public class MockLog { - - public Logger mockito() { - LogManager logManager = PowerMockito.mock(LogManager.class); - Logger logger = Mockito.mock(Logger.class); - Mockito.when(logManager.getFormatterLogger(Mockito.any())).thenReturn(logger); - return logger; - } -} diff --git a/apm-collector/apm-collector-cluster/src/test/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider b/apm-collector/apm-collector-cluster/src/test/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider deleted file mode 100644 index e69de29bb..000000000 diff --git a/apm-collector/apm-collector-cluster/src/test/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractLocalWorkerProvider b/apm-collector/apm-collector-cluster/src/test/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractLocalWorkerProvider deleted file mode 100644 index e69de29bb..000000000 diff --git a/apm-collector/apm-collector-cluster/src/test/resources/META-INF/services/org.skywalking.apm.collector.config.ConfigProvider b/apm-collector/apm-collector-cluster/src/test/resources/META-INF/services/org.skywalking.apm.collector.config.ConfigProvider deleted file mode 100644 index fd524035e..000000000 --- a/apm-collector/apm-collector-cluster/src/test/resources/META-INF/services/org.skywalking.apm.collector.config.ConfigProvider +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.cluster.ClusterConfigProvider \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/src/test/resources/collector.config b/apm-collector/apm-collector-cluster/src/test/resources/collector.config deleted file mode 100644 index 9f0ea3fbd..000000000 --- a/apm-collector/apm-collector-cluster/src/test/resources/collector.config +++ /dev/null @@ -1,11 +0,0 @@ -cluster.current.hostname=127.0.0.1 -cluster.current.port=1000 -cluster.current.roles=WorkersListener -cluster.seed_nodes=127.0.0.1:1000 - -es.cluster.name=CollectorDBCluster -es.cluster.nodes=127.0.0.1:9300 -es.cluster.transport.sniffer=true - -es.index.shards.number=2 -es.index.replicas.number=0 \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/src/test/resources/log4j2.xml b/apm-collector/apm-collector-cluster/src/test/resources/log4j2.xml deleted file mode 100644 index cc2fe771e..000000000 --- a/apm-collector/apm-collector-cluster/src/test/resources/log4j2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerModuleDefine.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/agentstream/AgentStreamModuleDefine.java similarity index 63% rename from apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerModuleDefine.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/agentstream/AgentStreamModuleDefine.java index 2e67e51be..e564c258a 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerModuleDefine.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/agentstream/AgentStreamModuleDefine.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.core.worker; +package org.skywalking.apm.collector.core.agentstream; import java.util.Map; import org.skywalking.apm.collector.core.client.Client; @@ -7,17 +7,17 @@ import org.skywalking.apm.collector.core.cluster.ClusterDataInitializer; import org.skywalking.apm.collector.core.cluster.ClusterModuleContext; import org.skywalking.apm.collector.core.config.ConfigParseException; import org.skywalking.apm.collector.core.framework.DataInitializer; +import org.skywalking.apm.collector.core.framework.DefineException; import org.skywalking.apm.collector.core.module.ModuleDefine; -import org.skywalking.apm.collector.core.module.ModuleException; import org.skywalking.apm.collector.core.server.Server; import org.skywalking.apm.collector.core.server.ServerException; /** * @author pengys5 */ -public abstract class WorkerModuleDefine extends ModuleDefine { +public abstract class AgentStreamModuleDefine extends ModuleDefine { - @Override public final void initialize(Map config) throws ModuleException, ClientException { + @Override public final void initialize(Map config) throws DefineException, ClientException { try { configParser().parse(config); Server server = server(); @@ -26,15 +26,15 @@ public abstract class WorkerModuleDefine extends ModuleDefine { String key = ClusterDataInitializer.BASE_CATALOG + "." + name(); ClusterModuleContext.writer.write(key, registration().buildValue()); } catch (ConfigParseException | ServerException e) { - throw new WorkerModuleException(e.getMessage(), e); + throw new AgentStreamModuleException(e.getMessage(), e); } } - @Override public final Client createClient() { - throw new UnsupportedOperationException(); + @Override protected final DataInitializer dataInitializer() { + throw new UnsupportedOperationException(""); } - @Override public final DataInitializer dataInitializer() { - throw new UnsupportedOperationException(); + @Override protected final Client createClient() { + throw new UnsupportedOperationException(""); } } diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/agentstream/AgentStreamModuleException.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/agentstream/AgentStreamModuleException.java new file mode 100644 index 000000000..11380f6b4 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/agentstream/AgentStreamModuleException.java @@ -0,0 +1,16 @@ +package org.skywalking.apm.collector.core.agentstream; + +import org.skywalking.apm.collector.core.module.ModuleException; + +/** + * @author pengys5 + */ +public class AgentStreamModuleException extends ModuleException{ + public AgentStreamModuleException(String message) { + super(message); + } + + public AgentStreamModuleException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleContext.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleContext.java index 6525dbdd0..980873d4e 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleContext.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleContext.java @@ -5,4 +5,6 @@ package org.skywalking.apm.collector.core.cluster; */ public class ClusterModuleContext { public static ClusterModuleRegistrationWriter writer; + + public static ClusterModuleRegistrationReader reader; } diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleDefine.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleDefine.java index cd232a76c..42e4016c3 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleDefine.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/cluster/ClusterModuleDefine.java @@ -39,4 +39,6 @@ public abstract class ClusterModuleDefine extends ModuleDefine { } protected abstract ClusterModuleRegistrationWriter registrationWriter(); + + protected abstract ClusterModuleRegistrationReader registrationReader(); } diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/framework/CollectorStarter.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/framework/CollectorStarter.java index 9de01cf38..44534172d 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/framework/CollectorStarter.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/framework/CollectorStarter.java @@ -7,7 +7,10 @@ import org.skywalking.apm.collector.core.module.ModuleConfigLoader; import org.skywalking.apm.collector.core.module.ModuleDefine; import org.skywalking.apm.collector.core.module.ModuleDefineLoader; import org.skywalking.apm.collector.core.module.ModuleGroup; +import org.skywalking.apm.collector.core.module.ModuleGroupDefine; +import org.skywalking.apm.collector.core.module.ModuleGroupDefineLoader; import org.skywalking.apm.collector.core.module.ModuleInstallerAdapter; +import org.skywalking.apm.collector.core.remote.SerializedDefineLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,12 +22,19 @@ public class CollectorStarter implements Starter { private final Logger logger = LoggerFactory.getLogger(CollectorStarter.class); @Override public void start() throws ConfigException, DefineException, ClientException { + Context context = new Context(); ModuleConfigLoader configLoader = new ModuleConfigLoader(); Map configuration = configLoader.load(); + SerializedDefineLoader serializedDefineLoader = new SerializedDefineLoader(); + serializedDefineLoader.load(); + ModuleDefineLoader defineLoader = new ModuleDefineLoader(); Map> moduleDefineMap = defineLoader.load(); + ModuleGroupDefineLoader groupDefineLoader = new ModuleGroupDefineLoader(); + Map moduleGroupDefineMap = groupDefineLoader.load(); + ModuleInstallerAdapter moduleInstallerAdapter = new ModuleInstallerAdapter(ModuleGroup.Cluster); moduleInstallerAdapter.install(configuration.get(ModuleGroup.Cluster.name().toLowerCase()), moduleDefineMap.get(ModuleGroup.Cluster.name().toLowerCase())); diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/framework/Context.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/framework/Context.java new file mode 100644 index 000000000..db34bb29a --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/framework/Context.java @@ -0,0 +1,7 @@ +package org.skywalking.apm.collector.core.framework; + +/** + * @author pengys5 + */ +public class Context { +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefine.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefine.java index 63ef4d819..1ead094ea 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefine.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefine.java @@ -1,7 +1,6 @@ package org.skywalking.apm.collector.core.module; import org.skywalking.apm.collector.core.client.Client; -import org.skywalking.apm.collector.core.client.ClientConfig; import org.skywalking.apm.collector.core.framework.DataInitializer; import org.skywalking.apm.collector.core.framework.Define; import org.skywalking.apm.collector.core.server.Server; diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefineLoader.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefineLoader.java index 031ab022d..407bc13ae 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefineLoader.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleDefineLoader.java @@ -19,10 +19,10 @@ public class ModuleDefineLoader implements Loader> moduleDefineMap = new LinkedHashMap<>(); ModuleDefinitionFile definitionFile = new ModuleDefinitionFile(); - logger.info("definition file name: {}", definitionFile.fileName()); + logger.info("module definition file name: {}", definitionFile.fileName()); DefinitionLoader definitionLoader = DefinitionLoader.load(ModuleDefine.class, definitionFile); for (ModuleDefine moduleDefine : definitionLoader) { - logger.info("loaded module class: {}", moduleDefine.getClass().getName()); + logger.info("loaded module definition class: {}", moduleDefine.getClass().getName()); String groupName = moduleDefine.group().name().toLowerCase(); if (!moduleDefineMap.containsKey(groupName)) { diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroup.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroup.java index bcf3ab250..31d9e4aed 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroup.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroup.java @@ -4,5 +4,5 @@ package org.skywalking.apm.collector.core.module; * @author pengys5 */ public enum ModuleGroup { - Cluster, Worker + Cluster, Queue, AgentStream } diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefine.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefine.java new file mode 100644 index 000000000..8bca7831e --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefine.java @@ -0,0 +1,10 @@ +package org.skywalking.apm.collector.core.module; + +/** + * @author pengys5 + */ +public interface ModuleGroupDefine { + String name(); + + ModuleInstallMode mode(); +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefineFile.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefineFile.java new file mode 100644 index 000000000..e0c407a16 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefineFile.java @@ -0,0 +1,12 @@ +package org.skywalking.apm.collector.core.module; + +import org.skywalking.apm.collector.core.framework.DefinitionFile; + +/** + * @author pengys5 + */ +public class ModuleGroupDefineFile extends DefinitionFile { + @Override protected String fileName() { + return "group.define"; + } +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefineLoader.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefineLoader.java new file mode 100644 index 000000000..6f4cb58aa --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleGroupDefineLoader.java @@ -0,0 +1,32 @@ +package org.skywalking.apm.collector.core.module; + +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.util.DefinitionLoader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class ModuleGroupDefineLoader implements Loader> { + + private final Logger logger = LoggerFactory.getLogger(ModuleGroupDefineLoader.class); + + @Override public Map load() throws ConfigException { + Map moduleGroupDefineMap = new LinkedHashMap<>(); + + ModuleGroupDefineFile definitionFile = new ModuleGroupDefineFile(); + logger.info("module group definition file name: {}", definitionFile.fileName()); + DefinitionLoader definitionLoader = DefinitionLoader.load(ModuleGroupDefine.class, definitionFile); + for (ModuleGroupDefine moduleGroupDefine : definitionLoader) { + logger.info("loaded group module definition class: {}", moduleGroupDefine.getClass().getName()); + + String groupName = moduleGroupDefine.name().toLowerCase(); + moduleGroupDefineMap.put(groupName, moduleGroupDefine); + } + return moduleGroupDefineMap; + } +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleInstallMode.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleInstallMode.java new file mode 100644 index 000000000..3b2976797 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleInstallMode.java @@ -0,0 +1,8 @@ +package org.skywalking.apm.collector.core.module; + +/** + * @author pengys5 + */ +public enum ModuleInstallMode { + Single, Multiple +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/Creator.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/Creator.java new file mode 100644 index 000000000..c2da5c469 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/Creator.java @@ -0,0 +1,10 @@ +package org.skywalking.apm.collector.core.queue; + +import org.skywalking.apm.collector.core.worker.AbstractLocalAsyncWorker; + +/** + * @author pengys5 + */ +public interface Creator { + QueueEventHandler create(int queueSize, AbstractLocalAsyncWorker localAsyncWorker); +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/DaemonThreadFactory.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/DaemonThreadFactory.java similarity index 85% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/DaemonThreadFactory.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/DaemonThreadFactory.java index a0e3fecef..c984ce87a 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/DaemonThreadFactory.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/DaemonThreadFactory.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.queue; +package org.skywalking.apm.collector.core.queue; import java.util.concurrent.ThreadFactory; diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/EndOfBatchCommand.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/EndOfBatchCommand.java similarity index 56% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/EndOfBatchCommand.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/EndOfBatchCommand.java index b28acbd40..040957874 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/EndOfBatchCommand.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/EndOfBatchCommand.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.queue; +package org.skywalking.apm.collector.core.queue; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/MessageHolder.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/MessageHolder.java similarity index 85% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/MessageHolder.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/MessageHolder.java index c79f49176..a78139270 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/MessageHolder.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/MessageHolder.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.queue; +package org.skywalking.apm.collector.core.queue; /** * @author pengys5 diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueEventHandler.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueEventHandler.java new file mode 100644 index 000000000..d1c56681f --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueEventHandler.java @@ -0,0 +1,8 @@ +package org.skywalking.apm.collector.core.queue; + +/** + * @author pengys5 + */ +public interface QueueEventHandler { + void tell(Object message); +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueModuleContext.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueModuleContext.java new file mode 100644 index 000000000..a1bf50f61 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueModuleContext.java @@ -0,0 +1,8 @@ +package org.skywalking.apm.collector.core.queue; + +/** + * @author pengys5 + */ +public class QueueModuleContext { + public static Creator creator; +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueModuleDefine.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueModuleDefine.java new file mode 100644 index 000000000..9b6bd447f --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/queue/QueueModuleDefine.java @@ -0,0 +1,33 @@ +package org.skywalking.apm.collector.core.queue; + +import org.skywalking.apm.collector.core.client.Client; +import org.skywalking.apm.collector.core.framework.DataInitializer; +import org.skywalking.apm.collector.core.module.ModuleConfigParser; +import org.skywalking.apm.collector.core.module.ModuleDefine; +import org.skywalking.apm.collector.core.module.ModuleRegistration; +import org.skywalking.apm.collector.core.server.Server; + +/** + * @author pengys5 + */ +public abstract class QueueModuleDefine extends ModuleDefine { + @Override protected final ModuleConfigParser configParser() { + throw new UnsupportedOperationException(""); + } + + @Override protected final Client createClient() { + throw new UnsupportedOperationException(""); + } + + @Override protected final DataInitializer dataInitializer() { + throw new UnsupportedOperationException(""); + } + + @Override protected final ModuleRegistration registration() { + throw new UnsupportedOperationException(""); + } + + @Override protected final Server server() { + throw new UnsupportedOperationException(""); + } +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/Remote.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/Remote.java new file mode 100644 index 000000000..5e406e009 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/Remote.java @@ -0,0 +1,8 @@ +package org.skywalking.apm.collector.core.remote; + +/** + * @author pengys5 + */ +public interface Remote { + void call(Object message); +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/RemoteModuleDefine.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/RemoteModuleDefine.java new file mode 100644 index 000000000..b8e57b5a7 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/RemoteModuleDefine.java @@ -0,0 +1,9 @@ +package org.skywalking.apm.collector.core.remote; + +import org.skywalking.apm.collector.core.module.ModuleDefine; + +/** + * @author pengys5 + */ +public abstract class RemoteModuleDefine extends ModuleDefine { +} 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 new file mode 100644 index 000000000..bafafd87e --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefine.java @@ -0,0 +1,10 @@ +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 new file mode 100644 index 000000000..c07386260 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefineLoader.java @@ -0,0 +1,33 @@ +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 new file mode 100644 index 000000000..a8ee1988a --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/remote/SerializedDefinitionFile.java @@ -0,0 +1,12 @@ +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-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractClusterWorker.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractClusterWorker.java new file mode 100644 index 000000000..56cfc50f4 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractClusterWorker.java @@ -0,0 +1,47 @@ +package org.skywalking.apm.collector.core.worker; + +/** + * The AbstractClusterWorker implementations represent workers, + * which receive remote messages. + *

+ * Usually, the implementations are doing persistent, or aggregate works. + * + * @author pengys5 + * @since v3.0-2017 + */ +public abstract class AbstractClusterWorker extends AbstractWorker { + + /** + * Construct an AbstractClusterWorker with the worker role and context. + * + * @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 AbstractClusterWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { + super(role, clusterContext, selfContext); + } + + /** + * This method use for message producer to call for send message. + * + * @param message The persistence data or metric data. + * @throws Exception The Exception happen in {@link #onWork(Object)} + */ + final public void allocateJob(Object message) throws WorkerInvokeException { + try { + onWork(message); + } catch (WorkerException e) { + throw new WorkerInvokeException(e.getMessage(), e.getCause()); + } + } + + /** + * This method use for message receiver to analyse message. + * + * @param message Cast the message object to a expect subclass. + * @throws Exception Don't handle the exception, throw it. + */ + protected abstract void onWork(Object message) throws WorkerException; +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractClusterWorkerProvider.java similarity index 66% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerProvider.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractClusterWorkerProvider.java index 940d996bc..519689182 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractClusterWorkerProvider.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractClusterWorkerProvider.java @@ -1,8 +1,4 @@ -package org.skywalking.apm.collector.actor; - -import akka.actor.ActorRef; -import akka.actor.Props; -import org.skywalking.apm.collector.rpc.RPCAddress; +package org.skywalking.apm.collector.core.worker; /** * The AbstractClusterWorkerProvider implementations represent providers, @@ -21,10 +17,6 @@ public abstract class AbstractClusterWorkerProviderAbstractLocalAsyncWorker implementations represent workers, + * which receive local asynchronous message. + * + * @author pengys5 + * @since v3.0-2017 + */ +public abstract class AbstractLocalAsyncWorker extends AbstractLocalWorker { + + /** + * Construct an AbstractLocalAsyncWorker with the worker role and context. + * + * @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); + } + + /** + * The asynchronous worker always use to persistence data into db, this is the end of the streaming, + * so usually no need to create the next worker instance at the time of this worker instance create. + * + * @throws ProviderNotFoundException When worker provider not found, it will be throw this exception. + */ + @Override + public void preStart() throws ProviderNotFoundException { + } + + /** + * Receive message + * + * @param message The persistence data or metric data. + * @throws WorkerException The Exception happen in {@link #onWork(Object)} + */ + final public void allocateJob(Object message) throws WorkerException { + onWork(message); + } + + /** + * The data process logic in this method. + * + * @param message Cast the message object to a expect subclass. + * @throws WorkerException Don't handle the exception, throw it. + */ + protected abstract void onWork(Object message) throws WorkerException; +} diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalAsyncWorkerProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalAsyncWorkerProvider.java new file mode 100644 index 000000000..6259e1ab7 --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalAsyncWorkerProvider.java @@ -0,0 +1,28 @@ +package org.skywalking.apm.collector.core.worker; + +import org.skywalking.apm.collector.core.queue.QueueEventHandler; +import org.skywalking.apm.collector.core.queue.QueueModuleContext; + +/** + * @author pengys5 + */ +public abstract class AbstractLocalAsyncWorkerProvider extends AbstractLocalWorkerProvider { + + public abstract int queueSize(); + + @Override final public WorkerRef onCreate( + LocalWorkerContext localContext) throws ProviderNotFoundException { + T localAsyncWorker = workerInstance(getClusterContext()); + localAsyncWorker.preStart(); + + QueueEventHandler queueEventHandler = QueueModuleContext.creator.create(queueSize(), localAsyncWorker); + + LocalAsyncWorkerRef workerRef = new LocalAsyncWorkerRef(role(), queueEventHandler); + + if (localContext != null) { + localContext.put(workerRef); + } + + return workerRef; + } +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalSyncWorker.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalSyncWorker.java similarity index 96% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalSyncWorker.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalSyncWorker.java index b24df3702..0638c4556 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalSyncWorker.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalSyncWorker.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * The AbstractLocalSyncWorker defines workers who receive data from jvm inside call and response in real diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalSyncWorkerProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalSyncWorkerProvider.java similarity index 92% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalSyncWorkerProvider.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalSyncWorkerProvider.java index a88873194..056b724f6 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalSyncWorkerProvider.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalSyncWorkerProvider.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalWorker.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalWorker.java similarity index 84% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalWorker.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalWorker.java index 002e8f359..f370cdac2 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalWorker.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalWorker.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalWorkerProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalWorkerProvider.java similarity index 74% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalWorkerProvider.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalWorkerProvider.java index 81c11b249..1f7116be4 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractLocalWorkerProvider.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractLocalWorkerProvider.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractWorker.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractWorker.java similarity index 67% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractWorker.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractWorker.java index 42fe7d916..cdfc839c7 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractWorker.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractWorker.java @@ -1,15 +1,10 @@ -package org.skywalking.apm.collector.actor; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 */ public abstract class AbstractWorker { - private final Logger logger; - private final LocalWorkerContext selfContext; private final Role role; @@ -20,11 +15,6 @@ public abstract class AbstractWorker { this.role = role; this.clusterContext = clusterContext; this.selfContext = selfContext; - this.logger = LogManager.getFormatterLogger(role.roleName()); - } - - final public Logger logger() { - return logger; } public abstract void preStart() throws ProviderNotFoundException; @@ -44,8 +34,4 @@ public abstract class AbstractWorker { final public static AbstractWorker noOwner() { return null; } - - final protected void saveException(Exception e) { - logger().error(e); - } } diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractWorkerProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractWorkerProvider.java similarity index 95% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractWorkerProvider.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractWorkerProvider.java index 28ff22252..bc87c19e4 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/AbstractWorkerProvider.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/AbstractWorkerProvider.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerContext.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerContext.java similarity index 65% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerContext.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerContext.java index 5260d6fd0..ebd29da62 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerContext.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerContext.java @@ -1,29 +1,17 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; -import akka.actor.ActorSystem; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.rpc.RPCAddressContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author pengys5 */ public class ClusterWorkerContext extends WorkerContext { - private Logger logger = LogManager.getFormatterLogger(ClusterWorkerContext.class); + private final Logger logger = LoggerFactory.getLogger(ClusterWorkerContext.class); - private final ActorSystem akkaSystem; private Map providers = new ConcurrentHashMap<>(); - private RPCAddressContext rpcContext = new RPCAddressContext(); - - public ClusterWorkerContext(ActorSystem akkaSystem) { - this.akkaSystem = akkaSystem; - } - - public ActorSystem getAkkaSystem() { - return akkaSystem; - } @Override public AbstractWorkerProvider findProvider(Role role) throws ProviderNotFoundException { @@ -44,8 +32,4 @@ public class ClusterWorkerContext extends WorkerContext { providers.put(provider.role().roleName(), provider); } } - - public RPCAddressContext getRpcContext() { - return rpcContext; - } } diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerRef.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerRef.java new file mode 100644 index 000000000..dc2243f3a --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerRef.java @@ -0,0 +1,19 @@ +package org.skywalking.apm.collector.core.worker; + +/** + * @author pengys5 + */ +public class ClusterWorkerRef extends WorkerRef { + + private AbstractClusterWorker clusterWorker; + + public ClusterWorkerRef(Role role, AbstractClusterWorker clusterWorker) { + super(role); + this.clusterWorker = clusterWorker; + } + + @Override + public void tell(Object message) throws WorkerInvokeException { + clusterWorker.allocateJob(message); + } +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerRefCounter.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerRefCounter.java similarity index 91% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerRefCounter.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerRefCounter.java index e495fef03..c82d3953d 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ClusterWorkerRefCounter.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ClusterWorkerRefCounter.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Context.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Context.java similarity index 85% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Context.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Context.java index 52d5c5e77..7fdbab6a0 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Context.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Context.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalAsyncWorkerRef.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalAsyncWorkerRef.java new file mode 100644 index 000000000..84a3000fb --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalAsyncWorkerRef.java @@ -0,0 +1,21 @@ +package org.skywalking.apm.collector.core.worker; + +import org.skywalking.apm.collector.core.queue.QueueEventHandler; + +/** + * @author pengys5 + */ +public class LocalAsyncWorkerRef extends WorkerRef { + + private QueueEventHandler queueEventHandler; + + public LocalAsyncWorkerRef(Role role, QueueEventHandler queueEventHandler) { + super(role); + this.queueEventHandler = queueEventHandler; + } + + @Override + public void tell(Object message) throws WorkerInvokeException { + queueEventHandler.tell(message); + } +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalSyncWorkerRef.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalSyncWorkerRef.java similarity index 92% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalSyncWorkerRef.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalSyncWorkerRef.java index 45562ca1a..9eb502dc8 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalSyncWorkerRef.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalSyncWorkerRef.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalWorkerContext.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalWorkerContext.java similarity index 87% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalWorkerContext.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalWorkerContext.java index cfec772fa..3d70bbb56 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LocalWorkerContext.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LocalWorkerContext.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LookUp.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LookUp.java similarity index 79% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LookUp.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LookUp.java index 082a7ca94..4a94fc2f8 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/LookUp.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/LookUp.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Provider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Provider.java similarity index 73% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Provider.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Provider.java index 3f5caf157..d9ccf9769 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/Provider.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Provider.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ProviderNotFoundException.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ProviderNotFoundException.java similarity index 74% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ProviderNotFoundException.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ProviderNotFoundException.java index 63162d2c0..0f44a778f 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/ProviderNotFoundException.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/ProviderNotFoundException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; public class ProviderNotFoundException extends Exception { public ProviderNotFoundException(String message) { diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Role.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Role.java new file mode 100644 index 000000000..8c59ff0ac --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/Role.java @@ -0,0 +1,13 @@ +package org.skywalking.apm.collector.core.worker; + +import org.skywalking.apm.collector.core.worker.selector.WorkerSelector; + +/** + * @author pengys5 + */ +public interface Role { + + String roleName(); + + WorkerSelector workerSelector(); +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/UsedRoleNameException.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/UsedRoleNameException.java similarity index 73% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/UsedRoleNameException.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/UsedRoleNameException.java index def2f8b5c..df2629a23 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/UsedRoleNameException.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/UsedRoleNameException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; public class UsedRoleNameException extends Exception { public UsedRoleNameException(String message) { diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerContext.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerContext.java similarity index 96% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerContext.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerContext.java index 48b44270f..78ff5e231 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerContext.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerContext.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; import java.util.ArrayList; import java.util.List; diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerException.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerException.java similarity index 87% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerException.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerException.java index c02527526..b0bd12310 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerException.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * Defines a general exception a worker can throw when it diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerInvokeException.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerInvokeException.java similarity index 88% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerInvokeException.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerInvokeException.java index 021dbec0f..03f5de06f 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerInvokeException.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerInvokeException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * This exception is raised when worker fails to process job during "call" or "ask" diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerModuleException.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerModuleException.java deleted file mode 100644 index 339968f61..000000000 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerModuleException.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.skywalking.apm.collector.core.worker; - -import org.skywalking.apm.collector.core.module.ModuleException; - -/** - * @author pengys5 - */ -public class WorkerModuleException extends ModuleException { - - public WorkerModuleException(String message) { - super(message); - } - - public WorkerModuleException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerNotFoundException.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerNotFoundException.java similarity index 74% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerNotFoundException.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerNotFoundException.java index 35db9b5ef..6c6fc9b2c 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerNotFoundException.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerNotFoundException.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; public class WorkerNotFoundException extends WorkerException { public WorkerNotFoundException(String message) { diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerRef.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerRef.java similarity index 85% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerRef.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerRef.java index d38436f17..28268d0b7 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerRef.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerRef.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; /** * @author pengys5 diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerRefs.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerRefs.java similarity index 78% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerRefs.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerRefs.java index 1f4d4f55f..8708bec21 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/WorkerRefs.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/WorkerRefs.java @@ -1,16 +1,16 @@ -package org.skywalking.apm.collector.actor; +package org.skywalking.apm.collector.core.worker; import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; +import org.skywalking.apm.collector.core.worker.selector.WorkerSelector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author pengys5 */ public class WorkerRefs { - private Logger logger = LogManager.getFormatterLogger(WorkerRefs.class); + private final Logger logger = LoggerFactory.getLogger(WorkerRefs.class); private List workerRefs; private WorkerSelector workerSelector; diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/AbstractHashMessage.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/AbstractHashMessage.java similarity index 89% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/AbstractHashMessage.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/AbstractHashMessage.java index d535e173a..7d13191d9 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/AbstractHashMessage.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/AbstractHashMessage.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor.selector; +package org.skywalking.apm.collector.core.worker.selector; /** * The AbstractHashMessage implementations represent aggregate message, diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/HashCodeSelector.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/HashCodeSelector.java similarity index 95% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/HashCodeSelector.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/HashCodeSelector.java index 5323b3727..458ee1a97 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/HashCodeSelector.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/HashCodeSelector.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor.selector; +package org.skywalking.apm.collector.core.worker.selector; import org.skywalking.apm.collector.actor.AbstractWorker; import org.skywalking.apm.collector.actor.WorkerRef; diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/RollingSelector.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/RollingSelector.java similarity index 94% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/RollingSelector.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/RollingSelector.java index 6926bb5e0..a7f106b15 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/RollingSelector.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/RollingSelector.java @@ -1,4 +1,4 @@ -package org.skywalking.apm.collector.actor.selector; +package org.skywalking.apm.collector.core.worker.selector; import org.skywalking.apm.collector.actor.AbstractWorker; import org.skywalking.apm.collector.actor.WorkerRef; diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/WorkerSelector.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/WorkerSelector.java similarity index 74% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/WorkerSelector.java rename to apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/WorkerSelector.java index 4c18a4d71..6013ac22e 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/actor/selector/WorkerSelector.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/worker/selector/WorkerSelector.java @@ -1,9 +1,7 @@ -package org.skywalking.apm.collector.actor.selector; - -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.WorkerRef; +package org.skywalking.apm.collector.core.worker.selector; import java.util.List; +import org.skywalking.apm.collector.core.worker.WorkerRef; /** * The WorkerSelector should be implemented by any class whose instances @@ -20,7 +18,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 AbstractWorker} is going to send. + * @param message the {@link org.skywalking.apm.collector.core.worker.AbstractWorker} is going to send. * @return the selected {@link WorkerRef} */ T select(List members, Object message); diff --git a/apm-collector/apm-collector-queue/datacarrier-queue/pom.xml b/apm-collector/apm-collector-discovery/pom.xml similarity index 79% rename from apm-collector/apm-collector-queue/datacarrier-queue/pom.xml rename to apm-collector/apm-collector-discovery/pom.xml index f6bc40abb..5aba21592 100644 --- a/apm-collector/apm-collector-queue/datacarrier-queue/pom.xml +++ b/apm-collector/apm-collector-discovery/pom.xml @@ -3,12 +3,12 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - apm-collector-queue + apm-collector org.skywalking 3.2-2017 4.0.0 - datacarrier-queue + apm-collector-discovery jar \ No newline at end of file diff --git a/apm-collector/apm-collector-discovery/src/main/java/org/skywalking/apm/collector/discovery/DiscoveryJettyModuleDefine.java b/apm-collector/apm-collector-discovery/src/main/java/org/skywalking/apm/collector/discovery/DiscoveryJettyModuleDefine.java new file mode 100644 index 000000000..3d696fa9e --- /dev/null +++ b/apm-collector/apm-collector-discovery/src/main/java/org/skywalking/apm/collector/discovery/DiscoveryJettyModuleDefine.java @@ -0,0 +1,7 @@ +package org.skywalking.apm.collector.discovery; + +/** + * @author pengys5 + */ +public class DiscoveryJettyModuleDefine { +} diff --git a/apm-collector/apm-collector-discovery/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-discovery/src/main/resources/META-INF/defines/module.define new file mode 100644 index 000000000..427dbc6e4 --- /dev/null +++ b/apm-collector/apm-collector-discovery/src/main/resources/META-INF/defines/module.define @@ -0,0 +1 @@ +org.skywalking.apm.collector.discovery.DiscoveryJettyModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-queue/disruptor-queue/pom.xml b/apm-collector/apm-collector-queue/disruptor-queue/pom.xml deleted file mode 100644 index e55ae5df0..000000000 --- a/apm-collector/apm-collector-queue/disruptor-queue/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - apm-collector-queue - org.skywalking - 3.2-2017 - - 4.0.0 - - disruptor-queue - jar - - - - com.lmax - disruptor - 3.3.6 - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-queue/pom.xml b/apm-collector/apm-collector-queue/pom.xml index e403002c9..3aceb5d14 100644 --- a/apm-collector/apm-collector-queue/pom.xml +++ b/apm-collector/apm-collector-queue/pom.xml @@ -10,11 +10,7 @@ 4.0.0 apm-collector-queue - pom - - disruptor-queue - datacarrier-queue - + jar @@ -22,5 +18,10 @@ apm-collector-core ${project.version} + + com.lmax + disruptor + 3.3.6 + \ No newline at end of file diff --git a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/DataCarrierCreator.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/DataCarrierCreator.java new file mode 100644 index 000000000..2402b83f4 --- /dev/null +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/DataCarrierCreator.java @@ -0,0 +1,15 @@ +package org.skywalking.apm.collector.queue.datacarrier; + +import org.skywalking.apm.collector.core.queue.Creator; +import org.skywalking.apm.collector.core.queue.QueueEventHandler; +import org.skywalking.apm.collector.core.worker.AbstractLocalAsyncWorker; + +/** + * @author pengys5 + */ +public class DataCarrierCreator implements Creator { + + @Override public QueueEventHandler create(int queueSize, AbstractLocalAsyncWorker localAsyncWorker) { + return null; + } +} 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 new file mode 100644 index 000000000..1902143e1 --- /dev/null +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/datacarrier/QueueDataCarrierModuleDefine.java @@ -0,0 +1,30 @@ +package org.skywalking.apm.collector.queue.datacarrier; + +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.ModuleGroup; +import org.skywalking.apm.collector.core.queue.QueueModuleContext; +import org.skywalking.apm.collector.core.queue.QueueModuleDefine; + +/** + * @author pengys5 + */ +public class QueueDataCarrierModuleDefine extends QueueModuleDefine { + + @Override protected ModuleGroup group() { + return ModuleGroup.Queue; + } + + @Override public String name() { + return "data_carrier"; + } + + @Override public boolean defaultModule() { + return true; + } + + @Override public final void initialize(Map config) throws DefineException, ClientException { + QueueModuleContext.creator = new DataCarrierCreator(); + } +} diff --git a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/DisruptorCreator.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/DisruptorCreator.java new file mode 100644 index 000000000..8be095b26 --- /dev/null +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/DisruptorCreator.java @@ -0,0 +1,35 @@ +package org.skywalking.apm.collector.queue.disruptor; + +import com.lmax.disruptor.RingBuffer; +import com.lmax.disruptor.dsl.Disruptor; +import org.skywalking.apm.collector.core.queue.Creator; +import org.skywalking.apm.collector.core.queue.DaemonThreadFactory; +import org.skywalking.apm.collector.core.queue.MessageHolder; +import org.skywalking.apm.collector.core.queue.QueueEventHandler; +import org.skywalking.apm.collector.core.worker.AbstractLocalAsyncWorker; + +/** + * @author pengys5 + */ +public class DisruptorCreator implements Creator { + + public QueueEventHandler create(int queueSize, AbstractLocalAsyncWorker localAsyncWorker) { + // Specify the size of the ring buffer, must be power of 2. + if (!((((queueSize - 1) & queueSize) == 0) && queueSize != 0)) { + throw new IllegalArgumentException("queue size must be power of 2"); + } + + // Construct the Disruptor + Disruptor disruptor = new Disruptor(MessageHolderFactory.INSTANCE, queueSize, DaemonThreadFactory.INSTANCE); + + RingBuffer ringBuffer = disruptor.getRingBuffer(); + DisruptorEventHandler eventHandler = new DisruptorEventHandler(ringBuffer, localAsyncWorker); + + // Connect the handler + disruptor.handleEventsWith(eventHandler); + + // Start the Disruptor, starts all threads running + disruptor.start(); + return eventHandler; + } +} diff --git a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/DisruptorEventHandler.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/DisruptorEventHandler.java new file mode 100644 index 000000000..34090fa08 --- /dev/null +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/DisruptorEventHandler.java @@ -0,0 +1,63 @@ +package org.skywalking.apm.collector.queue.disruptor; + +import com.lmax.disruptor.EventHandler; +import com.lmax.disruptor.RingBuffer; +import org.skywalking.apm.collector.core.queue.EndOfBatchCommand; +import org.skywalking.apm.collector.core.queue.MessageHolder; +import org.skywalking.apm.collector.core.queue.QueueEventHandler; +import org.skywalking.apm.collector.core.worker.AbstractLocalAsyncWorker; +import org.skywalking.apm.collector.core.worker.WorkerException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author pengys5 + */ +public class DisruptorEventHandler implements EventHandler, QueueEventHandler { + + private final Logger logger = LoggerFactory.getLogger(DisruptorEventHandler.class); + + private RingBuffer ringBuffer; + private AbstractLocalAsyncWorker asyncWorker; + + DisruptorEventHandler(RingBuffer ringBuffer, AbstractLocalAsyncWorker asyncWorker) { + this.ringBuffer = ringBuffer; + this.asyncWorker = asyncWorker; + } + + /** + * Receive the message from disruptor, when message in disruptor is empty, then send the cached data + * to the next workers. + * + * @param event published to the {@link RingBuffer} + * @param sequence of the event being processed + * @param endOfBatch flag to indicate if this is the last event in a batch from the {@link RingBuffer} + */ + public void onEvent(MessageHolder event, long sequence, boolean endOfBatch) { + try { + Object message = event.getMessage(); + event.reset(); + + asyncWorker.allocateJob(message); + if (endOfBatch) { + asyncWorker.allocateJob(new EndOfBatchCommand()); + } + } catch (WorkerException e) { + logger.error(e.getMessage(), e); + } + } + + /** + * Push the message into disruptor ring buffer. + * + * @param message of the data to process. + */ + public void tell(Object message) { + long sequence = ringBuffer.next(); + try { + ringBuffer.get(sequence).setMessage(message); + } finally { + ringBuffer.publish(sequence); + } + } +} diff --git a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/MessageHolderFactory.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/MessageHolderFactory.java similarity index 72% rename from apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/MessageHolderFactory.java rename to apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/MessageHolderFactory.java index 867cc5be4..d0cef7ab8 100644 --- a/apm-collector/apm-collector-cluster/src/main/java/org/skywalking/apm/collector/queue/MessageHolderFactory.java +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/MessageHolderFactory.java @@ -1,6 +1,7 @@ -package org.skywalking.apm.collector.queue; +package org.skywalking.apm.collector.queue.disruptor; import com.lmax.disruptor.EventFactory; +import org.skywalking.apm.collector.core.queue.MessageHolder; /** * @author pengys5 diff --git a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/QueueDisruptorConfigParser.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/QueueDisruptorConfigParser.java new file mode 100644 index 000000000..d1e52b4f9 --- /dev/null +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/QueueDisruptorConfigParser.java @@ -0,0 +1,13 @@ +package org.skywalking.apm.collector.queue.disruptor; + +import java.util.Map; +import org.skywalking.apm.collector.core.config.ConfigParseException; +import org.skywalking.apm.collector.core.module.ModuleConfigParser; + +/** + * @author pengys5 + */ +public class QueueDisruptorConfigParser implements ModuleConfigParser { + @Override public void parse(Map config) throws ConfigParseException { + } +} diff --git a/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/QueueDisruptorModuleDefine.java b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/QueueDisruptorModuleDefine.java new file mode 100644 index 000000000..9b6d48ae0 --- /dev/null +++ b/apm-collector/apm-collector-queue/src/main/java/org/skywalking/apm/collector/queue/disruptor/QueueDisruptorModuleDefine.java @@ -0,0 +1,30 @@ +package org.skywalking.apm.collector.queue.disruptor; + +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.ModuleGroup; +import org.skywalking.apm.collector.core.queue.QueueModuleContext; +import org.skywalking.apm.collector.core.queue.QueueModuleDefine; + +/** + * @author pengys5 + */ +public class QueueDisruptorModuleDefine extends QueueModuleDefine { + + @Override protected ModuleGroup group() { + return ModuleGroup.Queue; + } + + @Override public String name() { + return "disruptor"; + } + + @Override public boolean defaultModule() { + return true; + } + + @Override public final void initialize(Map config) throws DefineException, ClientException { + QueueModuleContext.creator = new DisruptorCreator(); + } +} diff --git a/apm-collector/apm-collector-queue/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-queue/src/main/resources/META-INF/defines/module.define new file mode 100644 index 000000000..bf98f6742 --- /dev/null +++ b/apm-collector/apm-collector-queue/src/main/resources/META-INF/defines/module.define @@ -0,0 +1,2 @@ +org.skywalking.apm.collector.queue.disruptor.QueueDisruptorModuleDefine +org.skywalking.apm.collector.queue.datacarrier.QueueDataCarrierModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-remote/pom.xml b/apm-collector/apm-collector-remote/pom.xml new file mode 100644 index 000000000..8ca0b6141 --- /dev/null +++ b/apm-collector/apm-collector-remote/pom.xml @@ -0,0 +1,113 @@ + + + + apm-collector + org.skywalking + 3.2-2017 + + 4.0.0 + + apm-collector-remote + jar + + + UTF-8 + 1.4.0 + 4.1.12.Final + + + + + + + + + + + + + + + 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/grpc/RemoteGRPCModuleDefine.java b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleDefine.java new file mode 100644 index 000000000..30b74e893 --- /dev/null +++ b/apm-collector/apm-collector-remote/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteGRPCModuleDefine.java @@ -0,0 +1,53 @@ +package org.skywalking.apm.collector.remote.grpc; + +import java.util.Map; +import org.skywalking.apm.collector.core.client.Client; +import org.skywalking.apm.collector.core.client.ClientException; +import org.skywalking.apm.collector.core.framework.DataInitializer; +import org.skywalking.apm.collector.core.framework.DefineException; +import org.skywalking.apm.collector.core.module.ModuleConfigParser; +import org.skywalking.apm.collector.core.module.ModuleGroup; +import org.skywalking.apm.collector.core.module.ModuleRegistration; +import org.skywalking.apm.collector.core.remote.RemoteModuleDefine; +import org.skywalking.apm.collector.core.server.Server; + +/** + * @author pengys5 + */ +public class RemoteGRPCModuleDefine extends RemoteModuleDefine { + @Override protected ModuleGroup group() { + return ModuleGroup.Queue; + } + + @Override public boolean defaultModule() { + return false; + } + + @Override protected ModuleConfigParser configParser() { + return null; + } + + @Override protected Client createClient() { + return null; + } + + @Override protected Server server() { + return null; + } + + @Override protected DataInitializer dataInitializer() { + return null; + } + + @Override protected ModuleRegistration registration() { + return null; + } + + @Override public void initialize(Map config) throws DefineException, ClientException { + + } + + @Override public String name() { + return null; + } +} diff --git a/apm-collector/apm-collector-remote/src/main/proto/RemoteCommonService.proto b/apm-collector/apm-collector-remote/src/main/proto/RemoteCommonService.proto new file mode 100644 index 000000000..ae1da50f0 --- /dev/null +++ b/apm-collector/apm-collector-remote/src/main/proto/RemoteCommonService.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; + +option java_multiple_files = true; +option java_package = "org.skywalking.apm.collector.remote.grpc.proto"; + +service RemoteCommonService { + rpc call (Message) returns (Empty) { + } +} + +message Message { + string workerRole = 1; + int32 objectId = 2; + bytes objectBytes = 3; // the byte array of data object +} + +message Empty { +} \ No newline at end of file diff --git a/apm-collector/apm-collector-server/google-rpc-server/pom.xml b/apm-collector/apm-collector-server/google-rpc-server/pom.xml deleted file mode 100644 index 3f3faff1f..000000000 --- a/apm-collector/apm-collector-server/google-rpc-server/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - apm-collector-server - org.skywalking - 3.2-2017 - - 4.0.0 - - google-rpc-server - jar - - - - org.skywalking - apm-network - ${project.version} - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-server/jetty-server/pom.xml b/apm-collector/apm-collector-server/jetty-server/pom.xml deleted file mode 100644 index ee78f518e..000000000 --- a/apm-collector/apm-collector-server/jetty-server/pom.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - apm-collector-server - org.skywalking - 3.2-2017 - - 4.0.0 - - jetty-server - jar - - - 9.4.2.v20170220 - - - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-server/pom.xml b/apm-collector/apm-collector-server/pom.xml index 52c0f4ac5..449bae0f4 100644 --- a/apm-collector/apm-collector-server/pom.xml +++ b/apm-collector/apm-collector-server/pom.xml @@ -10,17 +10,32 @@ 4.0.0 apm-collector-server - pom - - google-rpc-server - jetty-server - + jar + + + 9.4.2.v20170220 + + + org.skywalking + apm-network + ${project.version} + org.skywalking apm-collector-core ${project.version} + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty.version} + \ No newline at end of file diff --git a/apm-collector/apm-collector-server/google-rpc-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java similarity index 100% rename from apm-collector/apm-collector-server/google-rpc-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java rename to apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServer.java diff --git a/apm-collector/apm-collector-server/google-rpc-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServerException.java b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServerException.java similarity index 100% rename from apm-collector/apm-collector-server/google-rpc-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServerException.java rename to apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCServerException.java diff --git a/apm-collector/apm-collector-server/jetty-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java similarity index 100% rename from apm-collector/apm-collector-server/jetty-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java rename to apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java diff --git a/apm-collector/apm-collector-server/jetty-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java b/apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java similarity index 100% rename from apm-collector/apm-collector-server/jetty-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java rename to apm-collector/apm-collector-server/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/pom.xml b/apm-collector/apm-collector-ui/pom.xml similarity index 78% rename from apm-collector/apm-collector-worker-new/apm-collector-worker-ui/pom.xml rename to apm-collector/apm-collector-ui/pom.xml index d3b6cb57e..6ece91dd8 100644 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/pom.xml +++ b/apm-collector/apm-collector-ui/pom.xml @@ -3,12 +3,12 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - apm-collector-worker-new + apm-collector org.skywalking 3.2-2017 4.0.0 - apm-collector-worker-ui + apm-collector-ui jar \ No newline at end of file diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/pom.xml b/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/pom.xml deleted file mode 100644 index 7cb621ec5..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/pom.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - apm-collector-worker-new - org.skywalking - 3.2-2017 - - 4.0.0 - - apm-collector-worker-agent - jar - \ No newline at end of file diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentConfig.java b/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentConfig.java deleted file mode 100644 index 5acf0b40a..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentConfig.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.skywalking.apm.collector.worker.agent; - -/** - * @author pengys5 - */ -public class WorkerAgentConfig { - public static String HOST; - public static int PORT; -} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentModuleDefine.java b/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentModuleDefine.java deleted file mode 100644 index f2bf5491a..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentModuleDefine.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.skywalking.apm.collector.worker.agent; - -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.module.ModuleGroup; -import org.skywalking.apm.collector.core.module.ModuleRegistration; -import org.skywalking.apm.collector.core.server.Server; -import org.skywalking.apm.collector.core.worker.WorkerModuleDefine; -import org.skywalking.apm.collector.server.grpc.GRPCServer; - -/** - * @author pengys5 - */ -public class WorkerAgentModuleDefine extends WorkerModuleDefine { - - @Override public ModuleGroup group() { - return ModuleGroup.Worker; - } - - @Override public String name() { - return "agent"; - } - - @Override public boolean defaultModule() { - return true; - } - - @Override public ModuleConfigParser configParser() { - return new WorkerAgentConfigParser(); - } - - @Override public Server server() { - return new GRPCServer(WorkerAgentConfig.HOST, WorkerAgentConfig.PORT); - } - - @Override protected ModuleRegistration registration() { - return new WorkerAgentModuleRegistration(); - } -} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentModuleRegistration.java b/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentModuleRegistration.java deleted file mode 100644 index 1c4b6bf14..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/java/org/skywalking/apm/collector/worker/agent/WorkerAgentModuleRegistration.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.worker.agent; - -import org.skywalking.apm.collector.core.module.ModuleRegistration; - -/** - * @author pengys5 - */ -public class WorkerAgentModuleRegistration extends ModuleRegistration { - - @Override public Value buildValue() { - return new Value(WorkerAgentConfig.HOST, WorkerAgentConfig.PORT, null); - } -} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index adf3437a4..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-agent/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.worker.agent.WorkerAgentModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/pom.xml b/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/pom.xml deleted file mode 100644 index 6b53ce9f4..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/pom.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - apm-collector-worker-new - org.skywalking - 3.2-2017 - - 4.0.0 - - apm-collector-worker-impl - jar - - - - org.skywalking - cluster-standalone - ${project.version} - - - org.skywalking - cluster-zookeeper - ${project.version} - - - org.skywalking - cluster-redis - ${project.version} - - - org.skywalking - apm-collector-worker-agent - ${project.version} - - - org.skywalking - apm-collector-worker-ui - ${project.version} - - - \ No newline at end of file diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/src/main/resources/application.yml b/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/src/main/resources/application.yml deleted file mode 100644 index 35cb4b000..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-impl/src/main/resources/application.yml +++ /dev/null @@ -1,12 +0,0 @@ -cluster: -# zookeeper: -# hostPort: localhost:2181 -# sessionTimeout: 1000 -# redis: -# host: localhost -# port: 6379 -worker: - ui: - host: localhost - port: 12800 - diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIConfigParser.java b/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIConfigParser.java deleted file mode 100644 index 38344125f..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIConfigParser.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.skywalking.apm.collector.worker.ui; - -import java.util.Map; -import org.skywalking.apm.collector.core.config.ConfigParseException; -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.util.StringUtils; - -/** - * @author pengys5 - */ -public class WorkerUIConfigParser implements ModuleConfigParser { - - private final String HOST = "host"; - private final String PORT = "port"; - private final String CONTEXT_PATH = "context_path"; - - @Override public void parse(Map config) throws ConfigParseException { - if (StringUtils.isEmpty(config.get(HOST))) { - throw new ConfigParseException("HOST must be require"); - } - WorkerUIConfig.HOST = (String)config.get(HOST); - - if (StringUtils.isEmpty(config.get(PORT))) { - throw new ConfigParseException(""); - } - WorkerUIConfig.PORT = (Integer)config.get(PORT); - WorkerUIConfig.CONTEXT_PATH = "/"; - - if (!StringUtils.isEmpty(config.get(CONTEXT_PATH))) { - WorkerUIConfig.CONTEXT_PATH = (String)config.get(CONTEXT_PATH); - } - } -} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIModuleDefine.java b/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIModuleDefine.java deleted file mode 100644 index 93d39dec6..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIModuleDefine.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.skywalking.apm.collector.worker.ui; - -import org.skywalking.apm.collector.core.module.ModuleConfigParser; -import org.skywalking.apm.collector.core.module.ModuleGroup; -import org.skywalking.apm.collector.core.module.ModuleRegistration; -import org.skywalking.apm.collector.core.server.Server; -import org.skywalking.apm.collector.core.worker.WorkerModuleDefine; -import org.skywalking.apm.collector.server.jetty.JettyServer; - -/** - * @author pengys5 - */ -public class WorkerUIModuleDefine extends WorkerModuleDefine { - - @Override public ModuleGroup group() { - return ModuleGroup.Worker; - } - - @Override public String name() { - return "ui"; - } - - @Override public boolean defaultModule() { - return true; - } - - @Override public ModuleConfigParser configParser() { - return new WorkerUIConfigParser(); - } - - @Override public Server server() { - return new JettyServer(WorkerUIConfig.HOST, WorkerUIConfig.PORT, WorkerUIConfig.CONTEXT_PATH); - } - - @Override protected ModuleRegistration registration() { - return new WorkerUIModuleRegistration(); - } -} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIModuleRegistration.java b/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIModuleRegistration.java deleted file mode 100644 index b9b40adaa..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/java/org/skywalking/apm/collector/worker/ui/WorkerUIModuleRegistration.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.skywalking.apm.collector.worker.ui; - -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.core.module.ModuleRegistration; - -/** - * @author pengys5 - */ -public class WorkerUIModuleRegistration extends ModuleRegistration { - - @Override public Value buildValue() { - JsonObject data = new JsonObject(); - data.addProperty("context_path", WorkerUIConfig.CONTEXT_PATH); - return new Value(WorkerUIConfig.HOST, WorkerUIConfig.PORT, data); - } -} diff --git a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/resources/META-INF/defines/module.define b/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/resources/META-INF/defines/module.define deleted file mode 100644 index 4518d0c8b..000000000 --- a/apm-collector/apm-collector-worker-new/apm-collector-worker-ui/src/main/resources/META-INF/defines/module.define +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.worker.ui.WorkerUIModuleDefine \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/bin/collector-service.bat b/apm-collector/apm-collector-worker/bin/collector-service.bat deleted file mode 100644 index ab1bef7c2..000000000 --- a/apm-collector/apm-collector-worker/bin/collector-service.bat +++ /dev/null @@ -1,23 +0,0 @@ -@echo off - -setlocal -set COLLECOTR_PROCESS_TITLE=Skywalking-Collector -set COLLECTOR_BASE_PATH=%~dp0%.. -set COLLECTOR_RUNTIME_OPTIONS="-Xms256M -Xmx512M" - -set CLASSPATH=%COLLECTOR_BASE_PATH%\config; -SET CLASSPATH=%COLLECTOR_BASE_PATH%\libs\*;%CLASSPATH% - -if defined JAVA_HOME ( - set _EXECJAVA="%JAVA_HOME:"=%"\bin\java -) - -if not defined JAVA_HOME ( - echo "JAVA_HOME not set." - set _EXECJAVA=java -) - -start /MIN "%COLLECOTR_PROCESS_TITLE%" %_EXECJAVA% "%COLLECTOR_RUNTIME_OPTIONS%" -cp "%CLASSPATH%" org.skywalking.apm.collector.worker.CollectorBootStartUp & -echo Collector started successfully! - -endlocal diff --git a/apm-collector/apm-collector-worker/bin/collector-service.sh b/apm-collector/apm-collector-worker/bin/collector-service.sh deleted file mode 100644 index 7b0eef465..000000000 --- a/apm-collector/apm-collector-worker/bin/collector-service.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -PRG="$0" -PRGDIR=`dirname "$PRG"` -[ -z "$COLLECTOR_HOME" ] && COLLECTOR_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` - -COLLECTOR_LOGS_DIR="${COLLECTOR_HOME}/logs" -JAVA_OPTS=" -Xms256M -Xmx512M" - -if [ ! -d "${COLLECTOR_HOME}/logs" ]; then - mkdir -p "${COLLECTOR_LOGS_DIR}" -fi - -_RUNJAVA=${JAVA_HOME}/bin/java -[ -z "$JAVA_HOME" ] && _RUNJAVA=`java` - -CLASSPATH="$COLLECTOR_HOME/config:$CLASSPATH" -for i in "$COLLECTOR_HOME"/libs/*.jar -do - CLASSPATH="$i:$CLASSPATH" -done - -echo "Starting collector...." -eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} -classpath $CLASSPATH org.skywalking.apm.collector.worker.CollectorBootStartUp \ - 2>${COLLECTOR_LOGS_DIR}/collector.log 1> /dev/null &" - -retval=$? -pid=$! -FAIL_MSG="Collector started failure!" -SUCCESS_MSG="Collector started successfully!" -[ ${retval} -eq 0 ] || (echo ${FAIL_MSG}; exit ${retval}) -sleep 1 -if ! ps -p ${pid} > /dev/null ; then - echo ${FAIL_MSG} - exit 1 -fi -echo ${SUCCESS_MSG} diff --git a/apm-collector/apm-collector-worker/bin/startup.bat b/apm-collector/apm-collector-worker/bin/startup.bat deleted file mode 100644 index d2e3f015f..000000000 --- a/apm-collector/apm-collector-worker/bin/startup.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off - -setlocal -call "%~dp0"\collector-service.bat start -endlocal diff --git a/apm-collector/apm-collector-worker/bin/startup.sh b/apm-collector/apm-collector-worker/bin/startup.sh deleted file mode 100644 index a5486fb57..000000000 --- a/apm-collector/apm-collector-worker/bin/startup.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -PRG="$0" -PRGDIR=`dirname "$PRG"` -EXECUTABLE=collector-service.sh - -exec "$PRGDIR"/"$EXECUTABLE" start diff --git a/apm-collector/apm-collector-worker/docker/Dockerfile b/apm-collector/apm-collector-worker/docker/Dockerfile deleted file mode 100644 index a69641df8..000000000 --- a/apm-collector/apm-collector-worker/docker/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM openjdk:8-jdk - -ENV CLUSTER_CURRENT_HOST_NAME=127.0.0.1 \ - CLUSTER_CURRENT_PORT=1000 \ - CLUSTER_CURRENT_ROLES=WorkersListener \ - CLUSTER_SEED_NODES=127.0.0.1:1000,127.0.0.1:1001 \ - ES_CLUSTER_NAME=CollectorDBCluster \ - ES_CLUSTER_NODES=127.0.0.1:9300 \ - ES_INDEX_SHARDS_NUMBER=2 \ - ES_INDEX_REPLICAS_NUMBER=0 \ - HTTP_HOST_NAME=127.0.0.1 \ - HTTP_PORT=12800 - -ADD skywalking-collector.tar.gz /usr/local -COPY startup.sh /usr/local/skywalking-collector/bin -COPY collector.config /usr/local/skywalking-collector/config -COPY log4j2.xml /usr/local/skywalking-collector/config -ADD docker-entrypoint.sh / -RUN chmod +x /docker-entrypoint.sh && chmod +x /usr/local/skywalking-collector/bin/startup.sh - -ENTRYPOINT ["/docker-entrypoint.sh"] -CMD ["/usr/local/skywalking-collector/bin/startup.sh"] diff --git a/apm-collector/apm-collector-worker/docker/collector.config b/apm-collector/apm-collector-worker/docker/collector.config deleted file mode 100644 index d0cb0628d..000000000 --- a/apm-collector/apm-collector-worker/docker/collector.config +++ /dev/null @@ -1,46 +0,0 @@ -#"hostname" and "port" are used to receive internal messages from other nodes of cluster。 -# Hostname can be either hostname or IP address. -cluster.current.hostname = {CLUSTER_CURRENT_HOST_NAME} -# Listening port. -cluster.current.port = {CLUSTER_CURRENT_PORT} - -# In this version, all members have same roles, and everyone of them is listening the status of others. -#The routers do not send message to nodes, which is unreachable, caused by network trouble, jvm crash or any other reasons. -cluster.current.roles={CLUSTER_CURRENT_ROLES} - -#Initial contact points of the cluster, e.g. seed_nodes = 127.0.0.1:11800, 127.0.0.1:11801. -#The nodes to join automatically at startup. -#When setting akka configuration, it will be change. -#like: ["akka.tcp://system@127.0.0.1:11800", "akka.tcp://system@127.0.0.1:11801"]. -#This is akka configuration, see: http://doc.akka.io/docs/akka/2.4/general/configuration.html -cluster.seed_nodes={CLUSTER_SEED_NODES} - -#elasticsearch configuration, see cluster.name in "config/elasticsearch.yml" -es.cluster.name = {ES_CLUSTER_NAME} -es.cluster.transport.sniffer = true - -# The elasticsearch nodes of cluster, separated by comma, e.g. nodes=ip:port, ip:port -es.cluster.nodes={ES_CLUSTER_NODES} - -#Initialized mode of elasticsearch index, default is auto. -#Options: auto, forced, manual -#auto: create index when it doesn't exist. -# forced: delete and create. -# manual: do nothing. -es.index.initialize.mode=auto -# Config of shards or replicas in Elasticsearch. -es.index.shards.number=2 -es.index.replicas.number=0 - -# "hostname", "port" and "contextPath" are used to provide HTTP RESTful services. -# RESTful services include "receive segment" and "webui query services". -http.hostname={HTTP_HOST_NAME} -http.port={HTTP_PORT} -# Web context path -http.contextPath=/ - -# Cache size of analysis worker. The value determines whether sending to next worker and clear, or not. -cache.analysis.size=1024 -# Cache size of persistence worker. The value determines whether save data and clear, or not. -cache.persistence.size=4096 - diff --git a/apm-collector/apm-collector-worker/docker/docker-entrypoint.sh b/apm-collector/apm-collector-worker/docker/docker-entrypoint.sh deleted file mode 100644 index f00f5e52d..000000000 --- a/apm-collector/apm-collector-worker/docker/docker-entrypoint.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -echo "replace CLUSTER_CURRENT_HOST_NAME with $CLUSTER_CURRENT_HOST_NAME" -eval sed -i -e 's/\{CLUSTER_CURRENT_HOST_NAME\}/$CLUSTER_CURRENT_HOST_NAME/' /usr/local/skywalking-collector/config/collector.config - -echo "replace CLUSTER_CURRENT_PORT with $CLUSTER_CURRENT_PORT" -eval sed -i -e 's/\{CLUSTER_CURRENT_PORT\}/$CLUSTER_CURRENT_PORT/' /usr/local/skywalking-collector/config/collector.config - -echo "replace CLUSTER_CURRENT_ROLES with $CLUSTER_CURRENT_ROLES" -eval sed -i -e 's/\{CLUSTER_CURRENT_ROLES\}/$CLUSTER_CURRENT_ROLES/' /usr/local/skywalking-collector/config/collector.config - -echo "replace CLUSTER_SEED_NODES with $CLUSTER_SEED_NODES" -eval sed -i -e 's/\{CLUSTER_SEED_NODES\}/$CLUSTER_SEED_NODES/' /usr/local/skywalking-collector/config/collector.config - -echo "replace ES_CLUSTER_NAME with $ES_CLUSTER_NAME" -eval sed -i -e 's/\{ES_CLUSTER_NAME\}/$ES_CLUSTER_NAME/' /usr/local/skywalking-collector/config/collector.config - -echo "replcae ES_CLUSTER_NODES with $ES_CLUSTER_NODES" -eval sed -i -e 's/\{ES_CLUSTER_NODES\}/$ES_CLUSTER_NODES/' /usr/local/skywalking-collector/config/collector.config - -echo "replace HTTP_HOST_NAME with $HTTP_HOST_NAME" -eval sed -i -e 's/\{HTTP_HOST_NAME\}/$HTTP_HOST_NAME/' /usr/local/skywalking-collector/config/collector.config - -echo "replace HTTP_PORT with $HTTP_PORT" -eval sed -i -e 's/\{HTTP_PORT\}/$HTTP_PORT/' /usr/local/skywalking-collector/config/collector.config - -exec "$@" diff --git a/apm-collector/apm-collector-worker/docker/log4j2.xml b/apm-collector/apm-collector-worker/docker/log4j2.xml deleted file mode 100644 index 128a7864e..000000000 --- a/apm-collector/apm-collector-worker/docker/log4j2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/apm-collector/apm-collector-worker/docker/startup.sh b/apm-collector/apm-collector-worker/docker/startup.sh deleted file mode 100644 index 634bbbfa0..000000000 --- a/apm-collector/apm-collector-worker/docker/startup.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash - -PRG="$0" -PRGDIR=`dirname "$PRG"` -[ -z "$COLLECTOR_HOME" ] && COLLECTOR_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` - -COLLECTOR_LOGS_DIR="${COLLECTOR_HOME}/logs" -JAVA_OPTS=" -Xms256M -Xmx512M" - -if [ ! -d "${COLLECTOR_HOME}/logs" ]; then - mkdir -p "${COLLECTOR_LOGS_DIR}" -fi - -_RUNJAVA=${JAVA_HOME}/bin/java -[ -z "$JAVA_HOME" ] && _RUNJAVA=`java` - -CLASSPATH="$COLLECTOR_HOME/config:$CLASSPATH" -for i in "$COLLECTOR_HOME"/libs/*.jar -do - CLASSPATH="$i:$CLASSPATH" -done - -echo "Starting collector...." -$_RUNJAVA ${JAVA_OPTS} -classpath $CLASSPATH org.skywalking.apm.collector.worker.CollectorBootStartUp diff --git a/apm-collector/apm-collector-worker/pom.xml b/apm-collector/apm-collector-worker/pom.xml deleted file mode 100644 index d4d90d94b..000000000 --- a/apm-collector/apm-collector-worker/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - apm-collector - org.skywalking - 3.2-2017 - - 4.0.0 - - apm-collector-worker - jar - - - 9.4.2.v20170220 - org.skywalking.apm.collector.worker.CollectorBootStartUp - skywalking/${artifactId} - ${version} - - - - - org.skywalking - apm-collector-cluster - ${project.version} - - - org.skywalking - apm-network - ${project.version} - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - org.elasticsearch.client - transport - 5.4.3 - - - org.skywalking - apm-sniffer-mock - ${project.version} - test - - - - - skywalking-collector - - - org.apache.maven.plugins - maven-jar-plugin - 2.3.2 - - - *.xml - *.config - - - - ${main.class} - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - assembly - package - - single - - - - src/main/assembly/assembly.xml - - - - - - - com.spotify - docker-maven-plugin - ${docker.plugin.version} - - false - ${docker.image.name} - - ${docker.image.version} - - ${project.basedir}/docker - - - / - ${project.build.directory} - ${build.finalName}.tar.gz - - - - - - - diff --git a/apm-collector/apm-collector-worker/src/main/assembly/assembly.xml b/apm-collector/apm-collector-worker/src/main/assembly/assembly.xml deleted file mode 100644 index 0f66648d1..000000000 --- a/apm-collector/apm-collector-worker/src/main/assembly/assembly.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - tar.gz - zip - - - - /libs - runtime - - - - - ${project.basedir}/bin - /bin - - *.sh - *.bat - - 0755 - - - src/main/resources - - collector.config - log4j2.xml - - /config - - - ${project.build.directory} - /libs - - ${build.finalName}.jar - - - - diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/AnalysisMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/AnalysisMember.java deleted file mode 100644 index af12d97eb..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/AnalysisMember.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.queue.EndOfBatchCommand; -import org.skywalking.apm.collector.worker.config.CacheSizeConfig; - -/** - * @author pengys5 - */ -public abstract class AnalysisMember extends AbstractLocalAsyncWorker { - - AnalysisMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - private int messageNum; - - public abstract void analyse(Object message); - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override final public void onWork(Object message) { - if (message instanceof EndOfBatchCommand) { - aggregation(); - } else { - messageNum++; - analyse(message); - - if (messageNum >= CacheSizeConfig.Cache.Analysis.SIZE) { - aggregation(); - messageNum = 0; - } - } - } - - protected abstract void aggregation(); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/CollectorBootStartUp.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/CollectorBootStartUp.java deleted file mode 100644 index e78075319..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/CollectorBootStartUp.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.CollectorSystem; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.worker.grpcserver.GRPCServer; -import org.skywalking.apm.collector.worker.httpserver.HttpServer; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.IndexCreator; -import org.skywalking.apm.collector.worker.storage.PersistenceTimer; - -/** - * @author pengys5 - */ -public class CollectorBootStartUp { - private static final Logger logger = LogManager.getFormatterLogger(CollectorBootStartUp.class); - - public static void main(String[] args) throws Exception { - logger.info("collector system starting...."); - CollectorSystem collectorSystem = new CollectorSystem(); - collectorSystem.boot(); - EsClient.INSTANCE.boot(); - IndexCreator.INSTANCE.create(); - PersistenceTimer.INSTANCE.boot(); - HttpServer.INSTANCE.boot((ClusterWorkerContext) collectorSystem.getClusterContext()); - GRPCServer.INSTANCE.boot((ClusterWorkerContext) collectorSystem.getClusterContext()); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/Const.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/Const.java deleted file mode 100644 index f984a2131..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/Const.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.worker; - -/** - * @author pengys5 - */ -public class Const { - public static final String ID_SPLIT = "..-.."; - public static final String IDS_SPLIT = "\\.\\.-\\.\\."; - public static final String PEERS_FRONT_SPLIT = "["; - public static final String PEERS_BEHIND_SPLIT = "]"; - public static final String USER_CODE = "User"; - public static final String RESULT = "result"; -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/JoinAndSplitAnalysisMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/JoinAndSplitAnalysisMember.java deleted file mode 100644 index 6d9f11a3c..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/JoinAndSplitAnalysisMember.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitAnalysisData; - -/** - * @author pengys5 - */ -public abstract class JoinAndSplitAnalysisMember extends AnalysisMember { - private JoinAndSplitAnalysisData joinAndSplitAnalysisData; - - public JoinAndSplitAnalysisMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - joinAndSplitAnalysisData = new JoinAndSplitAnalysisData(); - } - - private JoinAndSplitAnalysisData getJoinAndSplitAnalysisData() { - return joinAndSplitAnalysisData; - } - - final protected void set(String id, String attributeName, String value) { - getJoinAndSplitAnalysisData().getOrCreate(id).set(attributeName, value); - } - - @Override final protected void aggregation() { - getJoinAndSplitAnalysisData().asMap().forEach((key, value) -> { - try { - aggWorkRefs().tell(value); - } catch (WorkerInvokeException e) { - logger().error(e.getMessage(), e); - } - }); - getJoinAndSplitAnalysisData().asMap().clear(); - } - - protected abstract WorkerRefs aggWorkRefs(); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/JoinAndSplitPersistenceMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/JoinAndSplitPersistenceMember.java deleted file mode 100644 index 983246d89..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/JoinAndSplitPersistenceMember.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import java.util.List; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.client.Client; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitData; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitPersistenceData; - -/** - * @author pengys5 - */ -public abstract class JoinAndSplitPersistenceMember extends PersistenceMember { - - private Logger logger = LogManager.getFormatterLogger(JoinAndSplitPersistenceMember.class); - - protected JoinAndSplitPersistenceMember(Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public JoinAndSplitPersistenceData initializeData() { - return new JoinAndSplitPersistenceData(); - } - - @Override final public void analyse(Object message) { - if (message instanceof JoinAndSplitData) { - JoinAndSplitData joinAndSplitData = (JoinAndSplitData)message; - JoinAndSplitPersistenceData data = getPersistenceData(); - data.hold(); - data.getOrCreate(joinAndSplitData.getId()).merge(joinAndSplitData); - data.release(); - } else { - logger.error("unhandled message, message instance must JoinAndSplitData, but is %s", message.getClass().toString()); - } - } - - @Override final protected void prepareIndex(List builderList) { - Map lastData = getPersistenceData().getLast().asMap(); - extractData(lastData); - - Client client = EsClient.INSTANCE.getClient(); - lastData.forEach((key, value) -> { - IndexRequestBuilder builder = client.prepareIndex(esIndex(), esType(), key).setSource(value.asMap()); - builderList.add(builder); - }); - lastData.clear(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/MetricAnalysisMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/MetricAnalysisMember.java deleted file mode 100644 index 67c33bc27..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/MetricAnalysisMember.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.worker.storage.MetricAnalysisData; - -/** - * @author pengys5 - */ -public abstract class MetricAnalysisMember extends AnalysisMember { - private MetricAnalysisData metricAnalysisData = new MetricAnalysisData(); - - public MetricAnalysisMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - final protected void set(String id, String metricName, Long value) { - getMetricAnalysisData().getOrCreate(id).set(metricName, value); - } - - private MetricAnalysisData getMetricAnalysisData() { - return metricAnalysisData; - } - - @Override final protected void aggregation() { - getMetricAnalysisData().asMap().forEach((key, value) -> { - try { - aggWorkRefs().tell(value); - } catch (Exception e) { - e.printStackTrace(); - } - }); - getMetricAnalysisData().asMap().clear(); - } - - protected abstract WorkerRefs aggWorkRefs(); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/MetricPersistenceMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/MetricPersistenceMember.java deleted file mode 100644 index 684517531..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/MetricPersistenceMember.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import java.util.List; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.client.Client; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.MetricData; -import org.skywalking.apm.collector.worker.storage.MetricPersistenceData; - -/** - * @author pengys5 - */ -public abstract class MetricPersistenceMember extends PersistenceMember { - - private Logger logger = LogManager.getFormatterLogger(MetricPersistenceMember.class); - - public MetricPersistenceMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public MetricPersistenceData initializeData() { - return new MetricPersistenceData(); - } - - @Override final public void analyse(Object message) { - if (message instanceof MetricData) { - MetricData metricData = (MetricData)message; - MetricPersistenceData data = getPersistenceData(); - data.hold(); - data.getOrCreate(metricData.getId()).merge(metricData); - data.release(); - } else { - logger.error("unhandled message, message instance must MetricData, but is %s", message.getClass().toString()); - } - } - - @Override final protected void prepareIndex(List builderList) { - Map lastData = getPersistenceData().getLast().asMap(); - extractData(lastData); - - Client client = EsClient.INSTANCE.getClient(); - lastData.forEach((key, value) -> { - IndexRequestBuilder builder = client.prepareIndex(esIndex(), esType(), key).setSource(value.asMap()); - builderList.add(builder); - }); - lastData.clear(); - } -} \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/PersistenceMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/PersistenceMember.java deleted file mode 100644 index 7d1de9514..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/PersistenceMember.java +++ /dev/null @@ -1,127 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.action.get.MultiGetItemResponse; -import org.elasticsearch.action.get.MultiGetRequestBuilder; -import org.elasticsearch.action.get.MultiGetResponse; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.client.Client; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.worker.storage.Data; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.FlushAndSwitch; -import org.skywalking.apm.collector.worker.storage.PersistenceData; -import org.skywalking.apm.collector.worker.storage.Window; - -/** - * @author pengys5 - */ -public abstract class PersistenceMember extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(PersistenceMember.class); - - public PersistenceMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - persistenceData = initializeData(); - } - - private T persistenceData; - - public abstract T initializeData(); - - protected T getPersistenceData() { - return persistenceData; - } - - public abstract String esIndex(); - - public abstract String esType(); - - public abstract void analyse(Object message); - - @Override final public void preStart() throws ProviderNotFoundException { - - } - - @Override - protected void onWork(Object request, Object response) throws WorkerException { - if (request instanceof FlushAndSwitch) { - persistenceData.switchPointer(); - while (persistenceData.getLast().isHolding()) { - try { - Thread.sleep(10); - } catch (InterruptedException e) { - throw new WorkerException(e.getMessage(), e); - } - } - - if (response instanceof LinkedList) { - prepareIndex((LinkedList)response); - } else { - logger.error("unhandled response, response instance must LinkedList, but is %s", response.getClass().toString()); - } - - } else { - analyse(request); - } - } - - private MultiGetResponse searchFromEs(Map dataMap) { - Client client = EsClient.INSTANCE.getClient(); - MultiGetRequestBuilder multiGetRequestBuilder = client.prepareMultiGet(); - - HasDataFlag flag = new HasDataFlag(); - dataMap.forEach((key, value) -> { - multiGetRequestBuilder.add(esIndex(), esType(), value.getId()); - flag.doTagHasData(); - }); - - if (flag.isHasData()) { - return multiGetRequestBuilder.get(); - } else { - return null; - } - } - - final void extractData(Map dataMap) { - MultiGetResponse multiGetResponse = searchFromEs(dataMap); - if (multiGetResponse != null) { - for (MultiGetItemResponse itemResponse : multiGetResponse) { - GetResponse response = itemResponse.getResponse(); - if (response != null && response.isExists()) { - if (dataMap.containsKey(response.getId())) { - dataMap.get(response.getId()).merge(response.getSource()); - } - } - } - } - } - - protected abstract void prepareIndex(List builderList); - - class HasDataFlag { - private boolean hasData; - - HasDataFlag() { - hasData = false; - } - - boolean isHasData() { - return hasData; - } - - void doTagHasData() { - this.hasData = true; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/RecordAnalysisMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/RecordAnalysisMember.java deleted file mode 100644 index 072572d86..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/RecordAnalysisMember.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.worker.storage.RecordAnalysisData; - -/** - * @author pengys5 - */ -public abstract class RecordAnalysisMember extends AnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(RecordAnalysisMember.class); - - private RecordAnalysisData recordAnalysisData = new RecordAnalysisData(); - - public RecordAnalysisMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - final public void set(String id, JsonObject record) { - getRecordAnalysisData().getOrCreate(id).set(record); - } - - private RecordAnalysisData getRecordAnalysisData() { - return recordAnalysisData; - } - - @Override final protected void aggregation() { - getRecordAnalysisData().asMap().forEach((key, value) -> { - try { - aggWorkRefs().tell(value); - } catch (WorkerInvokeException e) { - logger.error(e.getMessage(), e); - } - }); - getRecordAnalysisData().asMap().clear(); - } - - protected abstract WorkerRefs aggWorkRefs(); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/RecordPersistenceMember.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/RecordPersistenceMember.java deleted file mode 100644 index b27003251..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/RecordPersistenceMember.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import java.util.List; -import java.util.Map; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.client.Client; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.storage.RecordPersistenceData; - -/** - * @author pengys5 - */ -public abstract class RecordPersistenceMember extends PersistenceMember { - - public RecordPersistenceMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override final public RecordPersistenceData initializeData() { - return new RecordPersistenceData(); - } - - @Override - public void analyse(Object message) { - if (message instanceof RecordData) { - RecordData recordData = (RecordData)message; - logger().debug("set: id: %s, data: %s", recordData.getId(), recordData.get()); - RecordPersistenceData data = getPersistenceData(); - data.hold(); - data.getOrCreate(recordData.getId()).set(recordData.get()); - data.release(); - } else { - logger().error("message unhandled"); - } - } - - @Override final protected void prepareIndex(List builderList) { - Map lastData = getPersistenceData().getLast().asMap(); - extractData(lastData); - - Client client = EsClient.INSTANCE.getClient(); - lastData.forEach((key, value) -> { - IndexRequestBuilder builder = client.prepareIndex(esIndex(), esType(), key).setSource(value.get().toString()); - builderList.add(builder); - }); - lastData.clear(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/TimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/TimeSlice.java deleted file mode 100644 index e1fed1ab5..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/TimeSlice.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.skywalking.apm.collector.worker; - -/** - * @author pengys5 - */ -public abstract class TimeSlice { - private String sliceType; - private long startTime; - private long endTime; - - public TimeSlice(String sliceType, long startTime, long endTime) { - this.startTime = startTime; - this.endTime = endTime; - this.sliceType = sliceType; - } - - public String getSliceType() { - return sliceType; - } - - public long getStartTime() { - return startTime; - } - - public long getEndTime() { - return endTime; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/CacheSizeConfig.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/CacheSizeConfig.java deleted file mode 100644 index c682905b0..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/CacheSizeConfig.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -/** - * @author pengys5 - */ -public class CacheSizeConfig { - - public static class Cache { - public static class Analysis { - public static int SIZE = 1024; - } - - public static class Persistence { - public static int SIZE = 5000; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigProvider.java deleted file mode 100644 index 4c9b0f411..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigProvider.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.skywalking.apm.collector.config.ConfigProvider; - -/** - * @author pengys5 - */ -public class CacheSizeConfigProvider implements ConfigProvider { - - @Override - public Class configClass() { - return CacheSizeConfig.class; - } - - @Override - public void cliArgs() { - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/EsConfig.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/EsConfig.java deleted file mode 100644 index 6025d16ec..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/EsConfig.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -/** - * @author pengys5 - */ -public class EsConfig { - - public static class Es { - public static class Cluster { - public static String NAME = ""; - public static String NODES = ""; - - public static class Transport { - public static String SNIFFER = ""; - } - } - - public static class Persistence { - public static class Timer { - public static Integer VALUE = 3; - } - } - - public static class Index { - - public static class Initialize { - public static IndexInitMode MODE; - } - - public static class Shards { - public static String NUMBER = ""; - } - - public static class Replicas { - public static String NUMBER = ""; - } - - public static class RefreshInterval { - public static class GlobalTraceIndex { - public static Integer VALUE = 1; - } - - public static class NodeCompIndex { - public static Integer VALUE = 1; - } - - public static class NodeMappingIndex { - public static Integer VALUE = 1; - } - - public static class NodeRefIndex { - public static Integer VALUE = 1; - } - - public static class NodeRefResSumIndex { - public static Integer VALUE = 1; - } - - public static class SegmentCostIndex { - public static Integer VALUE = 10; - } - - public static class SegmentExceptionIndex { - public static Integer VALUE = 10; - } - - public static class SegmentIndex { - public static Integer VALUE = 10; - } - } - } - } - - public enum IndexInitMode { - AUTO, - FORCED, - MANUAL - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/EsConfigProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/EsConfigProvider.java deleted file mode 100644 index 47e1f150e..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/EsConfigProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.skywalking.apm.util.StringUtil; -import org.skywalking.apm.collector.config.ConfigProvider; - -/** - * @author pengys5 - */ -public class EsConfigProvider implements ConfigProvider { - - @Override - public Class configClass() { - return EsConfig.class; - } - - @Override - public void cliArgs() { - if (!StringUtil.isEmpty(System.getProperty("es.cluster.NAME"))) { - EsConfig.Es.Cluster.NAME = System.getProperty("es.cluster.NAME"); - } - if (!StringUtil.isEmpty(System.getProperty("es.cluster.NODES"))) { - EsConfig.Es.Cluster.NODES = System.getProperty("es.cluster.NODES"); - } - if (!StringUtil.isEmpty(System.getProperty("es.cluster.transport.SNIFFER"))) { - EsConfig.Es.Cluster.Transport.SNIFFER = System.getProperty("es.cluster.transport.SNIFFER"); - } - - if (!StringUtil.isEmpty(System.getProperty("es.index.shards.NUMBER"))) { - EsConfig.Es.Index.Shards.NUMBER = System.getProperty("es.index.shards.NUMBER"); - } - if (!StringUtil.isEmpty(System.getProperty("es.index.replicas.NUMBER"))) { - EsConfig.Es.Index.Replicas.NUMBER = System.getProperty("es.index.replicas.NUMBER"); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/GRPCConfig.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/GRPCConfig.java deleted file mode 100644 index 55133999e..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/GRPCConfig.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -/** - * @author pengys5 - */ -public class GRPCConfig { - - public static class GRPC { - public static String HOSTNAME = ""; - public static String PORT = ""; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/GRPCConfigProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/GRPCConfigProvider.java deleted file mode 100644 index 5b59f21c1..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/GRPCConfigProvider.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.skywalking.apm.collector.config.ConfigProvider; -import org.skywalking.apm.util.StringUtil; - -/** - * @author pengys5 - */ -public class GRPCConfigProvider implements ConfigProvider { - - @Override public Class configClass() { - return GRPCConfig.class; - } - - @Override public void cliArgs() { - if (!StringUtil.isEmpty(System.getProperty("grpc.HOSTNAME"))) { - GRPCConfig.GRPC.HOSTNAME = System.getProperty("grpc.HOSTNAME"); - } - if (!StringUtil.isEmpty(System.getProperty("grpc.PORT"))) { - GRPCConfig.GRPC.PORT = System.getProperty("grpc.PORT"); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/HttpConfig.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/HttpConfig.java deleted file mode 100644 index dce2ea0a6..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/HttpConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -/** - * @author pengys5 - */ -public class HttpConfig { - - public static class Http { - public static String HOSTNAME = ""; - public static String PORT = ""; - public static String CONTEXTPATH = ""; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/HttpConfigProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/HttpConfigProvider.java deleted file mode 100644 index 1bf719bc1..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/HttpConfigProvider.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.skywalking.apm.util.StringUtil; -import org.skywalking.apm.collector.config.ConfigProvider; - -/** - * @author pengys5 - */ -public class HttpConfigProvider implements ConfigProvider { - - @Override - public Class configClass() { - return HttpConfig.class; - } - - @Override - public void cliArgs() { - if (!StringUtil.isEmpty(System.getProperty("http.HOSTNAME"))) { - HttpConfig.Http.HOSTNAME = System.getProperty("http.HOSTNAME"); - } - if (!StringUtil.isEmpty(System.getProperty("http.PORT"))) { - HttpConfig.Http.PORT = System.getProperty("http.PORT"); - } - if (!StringUtil.isEmpty(System.getProperty("http.CONTEXTPATH"))) { - HttpConfig.Http.CONTEXTPATH = System.getProperty("http.CONTEXTPATH"); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/WorkerConfig.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/WorkerConfig.java deleted file mode 100644 index 95d4e1fdb..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/WorkerConfig.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -/** - * @author pengys5 - */ -public class WorkerConfig { - - public static class WorkerNum { - public static class GRPC { - public static class GRPCAddressRegister { - public static int VALUE = 1; - } - } - - public static class Node { - public static class NodeCompAgg { - public static int VALUE = 2; - } - - public static class NodeMappingDayAgg { - public static int VALUE = 2; - } - - public static class NodeMappingHourAgg { - public static int VALUE = 2; - } - - public static class NodeMappingMinuteAgg { - public static int VALUE = 2; - } - } - - public static class NodeRef { - public static class NodeRefDayAgg { - public static int VALUE = 2; - } - - public static class NodeRefHourAgg { - public static int VALUE = 2; - } - - public static class NodeRefMinuteAgg { - public static int VALUE = 2; - } - - public static class NodeRefResSumDayAgg { - public static int VALUE = 2; - } - - public static class NodeRefResSumHourAgg { - public static int VALUE = 2; - } - - public static class NodeRefResSumMinuteAgg { - public static int VALUE = 2; - } - } - - public static class GlobalTrace { - public static class GlobalTraceAgg { - public static int VALUE = 2; - } - } - } - - public static class Queue { - public static class GlobalTrace { - public static class GlobalTraceAnalysis { - public static int SIZE = 1024; - } - } - - public static class Segment { - public static class SegmentAnalysis { - public static int SIZE = 1024; - } - - public static class SegmentCostAnalysis { - public static int SIZE = 4096; - } - - public static class SegmentExceptionAnalysis { - public static int SIZE = 4096; - } - } - - public static class Node { - public static class NodeCompAnalysis { - public static int SIZE = 1024; - } - - public static class NodeMappingDayAnalysis { - public static int SIZE = 1024; - } - - public static class NodeMappingHourAnalysis { - public static int SIZE = 1024; - } - - public static class NodeMappingMinuteAnalysis { - public static int SIZE = 1024; - } - } - - public static class NodeRef { - public static class NodeRefDayAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefHourAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefMinuteAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefResSumDayAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefResSumHourAnalysis { - public static int SIZE = 1024; - } - - public static class NodeRefResSumMinuteAnalysis { - public static int SIZE = 1024; - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/WorkerConfigProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/WorkerConfigProvider.java deleted file mode 100644 index a317b8c8c..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/config/WorkerConfigProvider.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.skywalking.apm.collector.config.ConfigProvider; - -/** - * @author pengys5 - */ -public class WorkerConfigProvider implements ConfigProvider { - - @Override - public Class configClass() { - return WorkerConfig.class; - } - - @Override - public void cliArgs() { - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/discovery/InstanceDiscoveryServiceImpl.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/discovery/InstanceDiscoveryServiceImpl.java deleted file mode 100644 index 64d8ecd2f..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/discovery/InstanceDiscoveryServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.discovery; - -import io.grpc.stub.StreamObserver; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.worker.grpcserver.WorkerCaller; -import org.skywalking.apm.network.proto.ApplicationInstance; -import org.skywalking.apm.network.proto.ApplicationInstanceMapping; -import org.skywalking.apm.network.proto.Downstream; -import org.skywalking.apm.network.proto.InstanceDiscoveryServiceGrpc; - -/** - * @author pengys5 - */ -public class InstanceDiscoveryServiceImpl extends InstanceDiscoveryServiceGrpc.InstanceDiscoveryServiceImplBase implements WorkerCaller { - - @Override public void preStart() throws ProviderNotFoundException { - } - - @Override public void inject(ClusterWorkerContext clusterWorkerContext) { - } - - @Override - public void register(ApplicationInstance request, StreamObserver responseObserver) { - super.register(request, responseObserver); - } - - @Override - public void registerRecover(ApplicationInstanceMapping request, StreamObserver responseObserver) { - super.registerRecover(request, responseObserver); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/discovery/ServiceNameDisCoveryServiceImpl.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/discovery/ServiceNameDisCoveryServiceImpl.java deleted file mode 100644 index 3e8d96ba4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/discovery/ServiceNameDisCoveryServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.discovery; - -import io.grpc.stub.StreamObserver; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.worker.grpcserver.WorkerCaller; -import org.skywalking.apm.network.proto.ServiceNameCollection; -import org.skywalking.apm.network.proto.ServiceNameDiscoveryServiceGrpc; -import org.skywalking.apm.network.proto.ServiceNameMappingCollection; - -/** - * @author pengys5 - */ -public class ServiceNameDisCoveryServiceImpl extends ServiceNameDiscoveryServiceGrpc.ServiceNameDiscoveryServiceImplBase implements WorkerCaller { - @Override public void preStart() throws ProviderNotFoundException { - } - - @Override public void inject(ClusterWorkerContext clusterWorkerContext) { - } - - @Override public void discovery(ServiceNameCollection request, - StreamObserver responseObserver) { - super.discovery(request, responseObserver); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceGetWithGlobalId.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceGetWithGlobalId.java deleted file mode 100644 index 3c13ec3c3..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceGetWithGlobalId.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Arrays; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceSearchWithGlobalId; -import org.skywalking.apm.collector.worker.httpserver.AbstractGet; -import org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.tools.ParameterTools; - -/** - * @author pengys5 - */ -public class GlobalTraceGetWithGlobalId extends AbstractGet { - - private Logger logger = LogManager.getFormatterLogger(GlobalTraceGetWithGlobalId.class); - - GlobalTraceGetWithGlobalId(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE).create(this); - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - if (!parameter.containsKey("globalId")) { - throw new IllegalArgumentException("the request parameter must contains globalId"); - } - - if (logger.isDebugEnabled()) { - logger.debug("globalId: %s", Arrays.toString(parameter.get("globalId"))); - } - - String globalId = ParameterTools.INSTANCE.toString(parameter, "globalId"); - - getSelfContext().lookup(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE).ask(globalId, response); - } - - public static class Factory extends AbstractGetProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public GlobalTraceGetWithGlobalId workerInstance(ClusterWorkerContext clusterContext) { - return new GlobalTraceGetWithGlobalId(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public String servletPath() { - return "/globalTrace/globalId"; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return GlobalTraceGetWithGlobalId.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceIndex.java deleted file mode 100644 index b3775c441..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceIndex.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class GlobalTraceIndex extends AbstractIndex { - - public static final String INDEX = "global_trace_idx"; - public static final String SUB_SEG_IDS = "subSegIds"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return true; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.GlobalTraceIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(SUB_SEG_IDS) - .field("type", "keyword") - .endObject() - .endObject() - .endObject(); - return mappingBuilder; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/analysis/GlobalTraceAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/analysis/GlobalTraceAnalysis.java deleted file mode 100644 index c3ee83e28..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/analysis/GlobalTraceAnalysis.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.JoinAndSplitAnalysisMember; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.globaltrace.GlobalTraceIndex; -import org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class GlobalTraceAnalysis extends JoinAndSplitAnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(GlobalTraceAnalysis.class); - - GlobalTraceAnalysis(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - String subSegmentId = segment.getTraceSegmentId(); - - segmentWithTimeSlice.getGlobalTraceIds().forEach(globalTraceId -> { - set(globalTraceId, GlobalTraceIndex.SUB_SEG_IDS, subSegmentId); - }); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(GlobalTraceAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", GlobalTraceAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public GlobalTraceAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new GlobalTraceAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.GlobalTrace.GlobalTraceAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return GlobalTraceAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceAgg.java deleted file mode 100644 index 3b519dbeb..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceAgg.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.*; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitData; - -/** - * @author pengys5 - */ -public class GlobalTraceAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(GlobalTraceAgg.class); - - GlobalTraceAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(GlobalTraceSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof JoinAndSplitData) { - getSelfContext().lookup(GlobalTraceSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must JoinAndSplitData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public GlobalTraceAgg workerInstance(ClusterWorkerContext clusterContext) { - return new GlobalTraceAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.GlobalTrace.GlobalTraceAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return GlobalTraceAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSave.java deleted file mode 100644 index c7f923235..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.JoinAndSplitPersistenceMember; -import org.skywalking.apm.collector.worker.globaltrace.GlobalTraceIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class GlobalTraceSave extends JoinAndSplitPersistenceMember { - - GlobalTraceSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return GlobalTraceIndex.INDEX; - } - - @Override - public String esType() { - return GlobalTraceIndex.TYPE_RECORD; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public GlobalTraceSave workerInstance(ClusterWorkerContext clusterContext) { - GlobalTraceSave worker = new GlobalTraceSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return GlobalTraceSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalId.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalId.java deleted file mode 100644 index ee76a8925..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalId.java +++ /dev/null @@ -1,193 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.persistence; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.get.GetResponse; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.globaltrace.GlobalTraceIndex; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.segment.entity.SegmentDeserialize; -import org.skywalking.apm.collector.worker.segment.entity.SpanView; -import org.skywalking.apm.collector.worker.storage.GetResponseFromEs; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitData; -import org.skywalking.apm.collector.worker.tools.CollectionTools; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.network.proto.TraceSegmentReference; -import org.skywalking.apm.util.StringUtil; - -/** - * @author pengys5 - */ -public class GlobalTraceSearchWithGlobalId extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(this.getClass()); - - private Gson gson = new Gson(); - - public GlobalTraceSearchWithGlobalId(Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - protected void onWork(Object request, Object response) throws WorkerException { - if (request instanceof String) { - String globalId = (String)request; - String globalTraceData = GetResponseFromEs.INSTANCE.get(GlobalTraceIndex.INDEX, GlobalTraceIndex.TYPE_RECORD, globalId).getSourceAsString(); - JsonObject globalTraceObj = gson.fromJson(globalTraceData, JsonObject.class); - logger.debug("globalTraceObj: %s", globalTraceObj); - - String subSegIdsStr = globalTraceObj.get(GlobalTraceIndex.SUB_SEG_IDS).getAsString(); - String[] subSegIds = subSegIdsStr.split(JoinAndSplitData.SPLIT); - - List spanViewList = new ArrayList<>(); - for (String subSegId : subSegIds) { - logger.debug("subSegId: %s", subSegId); - GetResponse getResponse = GetResponseFromEs.INSTANCE.get(SegmentIndex.INDEX, SegmentIndex.TYPE_RECORD, subSegId); - String segmentObjBlob = (String)getResponse.getSource().get(SegmentIndex.SEGMENT_OBJ_BLOB); - - TraceSegmentObject segment = SegmentDeserialize.INSTANCE.deserializeSingle(segmentObjBlob); - String segmentId = segment.getTraceSegmentId(); - List refsList = segment.getRefsList(); - - for (SpanObject span : segment.getSpansList()) { - logger.debug(span.getOperationName()); - spansDataBuild(span, segment.getTraceSegmentId(), segmentId, spanViewList, refsList); - } - } - - JsonObject responseObj = (JsonObject)response; - responseObj.addProperty("result", buildTree(spanViewList)); - } else { - logger.error("unhandled message, message instance must String, but is %s", request.getClass().toString()); - } - } - - private String buildTree(List spanViewList) { - SpanView rootSpan = findRoot(spanViewList); - assert rootSpan != null; - findChild(rootSpan, spanViewList, rootSpan.getStartTime()); - - List viewList = new ArrayList<>(); - viewList.add(rootSpan); - - Gson gson = new Gson(); - return gson.toJson(viewList); - } - - private SpanView findRoot(List spanViewList) { - for (SpanView spanView : spanViewList) { - if (StringUtil.isEmpty(spanView.getParentSpanSegId())) { - spanView.setRelativeStartTime(0); - spanView.setParentSpanSegId("-1"); - return spanView; - } - } - return null; - } - - private void findChild(SpanView parentSpan, List spanViewList, long rootStartTime) { - String spanSegId = parentSpan.getSpanSegId(); - logger.debug("findChild spanSegId: %s", spanSegId); - - List childSpanSort = sortChildSpan(spanViewList, spanSegId); - for (SpanView spanView : childSpanSort) { - spanView.setRelativeStartTime(spanView.getStartTime() - rootStartTime); - parentSpan.addChild(spanView); - findChild(spanView, spanViewList, rootStartTime); - } - } - - private List sortChildSpan(List spanViewList, String parentSpanId) { - List tempList = new ArrayList<>(); - - for (SpanView spanView : spanViewList) { - if (parentSpanId.equals(spanView.getParentSpanSegId())) { - tempList.add(spanView); - } - } - - Collections.sort(tempList); - return tempList; - } - - private void spansDataBuild(SpanObject span, String appCode, String segmentId, List spanViewList, - List refsList) { - int spanId = span.getSpanId(); - String spanSegId = segmentId + "--" + String.valueOf(spanId); - - SpanView spanView = new SpanView(); - spanView.setSpanId(spanId); - spanView.setSegId(segmentId); - spanView.setSpanSegId(spanSegId); - spanView.setStartTime(span.getStartTime()); - spanView.setOperationName(span.getOperationName()); - spanView.setAppCode(appCode); - long cost = span.getEndTime() - span.getStartTime(); - if (cost == 0) { - spanView.setCost(1); - } else { - spanView.setCost(cost); - } - - if (spanId == 0) { - if (CollectionTools.isNotEmpty(refsList)) { - if (refsList.size() > 1) { - throw new UnsupportedOperationException("not support batch call"); - } else { - TraceSegmentReference segmentRef = refsList.get(0); - int parentSpanId = segmentRef.getParentSpanId(); - String parentSegId = segmentRef.getParentTraceSegmentId(); - - String parentSpanSegId = parentSegId + "--" + String.valueOf(parentSpanId); - spanView.setParentSpanSegId(parentSpanSegId); - } - } - } else { - int parentSpanId = span.getParentSpanId(); - String parentSpanSegId = segmentId + "--" + String.valueOf(parentSpanId); - spanView.setParentSpanSegId(parentSpanSegId); - } - - spanViewList.add(spanView); - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public GlobalTraceSearchWithGlobalId workerInstance(ClusterWorkerContext clusterContext) { - return new GlobalTraceSearchWithGlobalId(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return GlobalTraceSearchWithGlobalId.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/AbstractReceiver.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/AbstractReceiver.java deleted file mode 100644 index f48d8b13d..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/AbstractReceiver.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.skywalking.apm.collector.worker.grpcserver; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; - -/** - * @author pengys5 - */ -public abstract class AbstractReceiver extends AbstractLocalSyncWorker { - - public AbstractReceiver(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - final @Override protected void onWork(Object request, Object response) throws WorkerException { - onReceive(request); - } - - protected abstract void onReceive( - Object request) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException; -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/AbstractReceiverProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/AbstractReceiverProvider.java deleted file mode 100644 index f4ecba238..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/AbstractReceiverProvider.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.skywalking.apm.collector.worker.grpcserver; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; - -/** - * @author pengys5 - */ -public abstract class AbstractReceiverProvider extends AbstractLocalSyncWorkerProvider { - -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCAddressGet.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCAddressGet.java deleted file mode 100644 index b09eca632..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCAddressGet.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.skywalking.apm.collector.worker.grpcserver; - -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import java.util.Map; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.httpserver.AbstractGet; -import org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; - -/** - * @author pengys5 - */ -public class GRPCAddressGet extends AbstractGet { - - protected GRPCAddressGet(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonArray.class; - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - ((ClusterWorkerContext)getClusterContext()).getRpcContext().rpcAddressCollection().forEach(rpcAddress -> { - ((JsonArray)response).add(rpcAddress.getAddress() + ":" + rpcAddress.getPort()); - }); - } - - public static class Factory extends AbstractGetProvider { - public static Factory INSTANCE = new Factory(); - - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public GRPCAddressGet workerInstance(ClusterWorkerContext clusterContext) { - return new GRPCAddressGet(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public String servletPath() { - return "/grpc/addresses"; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return GRPCAddressGet.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCAddressRegister.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCAddressRegister.java deleted file mode 100644 index e23e446b2..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCAddressRegister.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.skywalking.apm.collector.worker.grpcserver; - -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.rpc.RPCAddress; -import org.skywalking.apm.collector.worker.config.GRPCConfig; -import org.skywalking.apm.collector.worker.config.WorkerConfig; - -/** - * @author pengys5 - */ -public class GRPCAddressRegister extends AbstractClusterWorker { - - GRPCAddressRegister(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override public void preStart() throws ProviderNotFoundException { - - } - - @Override protected void onWork(Object message) throws WorkerException { - } - - public static class Factory extends AbstractClusterWorkerProvider { - public static Factory INSTANCE = new Factory(); - - @Override - public GRPCAddressRegister.Role role() { - return Role.INSTANCE; - } - - @Override public int workerNum() { - return WorkerConfig.WorkerNum.GRPC.GRPCAddressRegister.VALUE; - } - - @Override public RPCAddress config() { - return new RPCAddress(GRPCConfig.GRPC.HOSTNAME, Integer.valueOf(GRPCConfig.GRPC.PORT)); - } - - @Override public GRPCAddressRegister workerInstance(ClusterWorkerContext clusterContext) { - return new GRPCAddressRegister(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return GRPCAddressRegister.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCServer.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCServer.java deleted file mode 100644 index 7ccdc2838..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/GRPCServer.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.skywalking.apm.collector.worker.grpcserver; - -import io.grpc.Server; -import io.grpc.netty.NettyServerBuilder; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.worker.config.GRPCConfig; - -/** - * @author pengys5 - */ -public enum GRPCServer { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(GRPCServer.class); - - private Server server; - - public void boot(ClusterWorkerContext clusterContext) throws Exception { - start(clusterContext); - blockUntilShutdown(); - } - - private void start(ClusterWorkerContext clusterContext) throws Exception { - int port = Integer.valueOf(GRPCConfig.GRPC.PORT); - NettyServerBuilder nettyServerBuilder = NettyServerBuilder.forPort(port); - ServicesCreator.INSTANCE.boot(nettyServerBuilder, clusterContext); - server = nettyServerBuilder.build().start(); - logger.info("Server started, listening on " + port); - } - - /** - * Await termination on the main thread since the grpc library uses daemon threads. - */ - private void blockUntilShutdown() throws InterruptedException { - if (server != null) { - server.awaitTermination(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/ServicesCreator.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/ServicesCreator.java deleted file mode 100644 index 6ca0e0092..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/ServicesCreator.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.skywalking.apm.collector.worker.grpcserver; - -import io.grpc.BindableService; -import io.grpc.netty.NettyServerBuilder; -import java.util.ServiceLoader; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * @author pengys5 - */ -public enum ServicesCreator { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(ServicesCreator.class); - - public void boot(NettyServerBuilder nettyServerBuilder, - ClusterWorkerContext clusterContext) throws IllegalArgumentException, ProviderNotFoundException { - ServiceLoader grpcServiceLoader = java.util.ServiceLoader.load(BindableService.class); - for (BindableService service : grpcServiceLoader) { - logger.info("add grpc service %s into netty server builder ", service.getClass().getSimpleName()); - nettyServerBuilder.addService(service); - ((WorkerCaller)service).inject(clusterContext); - ((WorkerCaller)service).preStart(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/WorkerCaller.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/WorkerCaller.java deleted file mode 100644 index ecfad1c31..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/grpcserver/WorkerCaller.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.worker.grpcserver; - -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * @author pengys5 - */ -public interface WorkerCaller { - void preStart() throws ProviderNotFoundException; - - void inject(ClusterWorkerContext clusterWorkerContext); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractGet.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractGet.java deleted file mode 100644 index bd707236b..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractGet.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonElement; -import java.io.IOException; -import java.util.Map; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalSyncWorkerRef; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; - -/** - * The AbstractGet implementations represent workers, which called by the server to allow a servlet to - * handle a GET request. - * - *

verride the {@link #onReceive(Map, JsonElement)} method to support a search service. - * - * @author pengys5 - * @since v3.0-2017 - */ -public abstract class AbstractGet extends AbstractServlet { - - protected AbstractGet(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - /** - * Forbid the subclasses override this method. - * - * @param parameter {@link Object} data structure of the map - * @param response {@link Object} is a out parameter - * @throws Exception - */ - @Override final protected void onWork(Object parameter, - Object response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - super.onWork(parameter, response); - } - - static class GetWithHttpServlet extends HttpServlet { - - private Logger logger = LogManager.getFormatterLogger(GetWithHttpServlet.class); - - private final LocalSyncWorkerRef ownerWorkerRef; - - GetWithHttpServlet(LocalSyncWorkerRef ownerWorkerRef) { - this.ownerWorkerRef = ownerWorkerRef; - } - - /** - * Override the {@link HttpServlet#doGet(HttpServletRequest, HttpServletResponse)} method, receive the parameter - * from request then send parameter to the owner worker. - * - * @param request an {@link HttpServletRequest} object that contains the request the client has made of the - * servlet - * @param response an {@link HttpServletResponse} object that contains the response the servlet sends to the - * client - * @throws ServletException if the request for the GET could not be handled - * @throws IOException if an input or output error is detected when the servlet handles the GET request - */ - @Override final protected void doGet(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - try { - Map parameter = request.getParameterMap(); - ownerWorkerRef.ask(parameter, response); - } catch (Exception e) { - logger.error(e, e); - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetProvider.java deleted file mode 100644 index 6b34c0857..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.LocalSyncWorkerRef; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * The AbstractGetProvider implementations represent providers, which use to create {@link AbstractGet} - * worker instances. - * - * @author pengys5 - * @since v3.0-2017 - */ -public abstract class AbstractGetProvider extends AbstractLocalSyncWorkerProvider { - - public abstract String servletPath(); - - /** - * Create worker instance, http servlet and set the worker reference into servlet. - * - * @param context use to create a mapping between url and worker. - * @throws IllegalArgumentException - * @throws ProviderNotFoundException - */ - final protected void create( - ServletContextHandler context) throws IllegalArgumentException, ProviderNotFoundException { - LocalSyncWorkerRef workerRef = (LocalSyncWorkerRef)super.create(AbstractWorker.noOwner()); - AbstractGet.GetWithHttpServlet getWithHttpServlet = new AbstractGet.GetWithHttpServlet(workerRef); - context.addServlet(new ServletHolder(getWithHttpServlet), servletPath()); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPost.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPost.java deleted file mode 100644 index 2cc428d51..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPost.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonObject; -import java.io.IOException; -import java.util.Map; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalSyncWorkerRef; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; - -/** - * The AbstractGet implementations represent workers, which called by the server to allow a servlet to - * handle a POST request. - * - *

verride the {@link #onReceive(Map, JsonObject)} method to support a search service. - * - * @author pengys5 - * @since v3.0-2017 - */ -public abstract class AbstractPost extends AbstractServlet { - - public AbstractPost(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - /** - * Add final modifier to avoid the subclass override this method. - * - * @param parameter {@link Object} data structure of the map - * @param response {@link Object} is a out parameter - * @throws ArgumentsParseException if the key could not contains in parameter - * @throws WorkerInvokeException if any error is detected when call(or ask) worker - * @throws WorkerNotFoundException if the worker reference could not found in context. - */ - @Override final protected void onWork(Object parameter, - Object response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - super.onWork(parameter, response); - } - - static class PostWithHttpServlet extends HttpServlet { - - private Logger logger = LogManager.getFormatterLogger(PostWithHttpServlet.class); - - private final LocalSyncWorkerRef ownerWorkerRef; - - PostWithHttpServlet(LocalSyncWorkerRef ownerWorkerRef) { - this.ownerWorkerRef = ownerWorkerRef; - } - - /** - * Override the {@link HttpServlet#doPost(HttpServletRequest, HttpServletResponse)} method, receive the - * parameter from request then send parameter to the owner worker. - * - * @param request an {@link HttpServletRequest} object that contains the request the client has made of the - * servlet - * @param response {@link HttpServletResponse} object that contains the response the servlet sends to the - * client - * @throws ServletException if the request for the POST could not be handled - * @throws IOException if an input or output error is detected when the servlet handles the request - */ - @Override final protected void doPost(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - try { - Map parameter = request.getParameterMap(); - ownerWorkerRef.ask(parameter, response); - } catch (Exception e) { - logger.error(e, e); - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostProvider.java deleted file mode 100644 index 8a2b7b52d..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.LocalSyncWorkerRef; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * The AbstractPostProvider implementations represent providers, which use to create {@link AbstractPost} - * worker instances. - * - * @author pengys5 - * @since v3.0-2017 - */ -public abstract class AbstractPostProvider extends AbstractLocalSyncWorkerProvider { - - public abstract String servletPath(); - - /** - * Create worker instance, http servlet and set the worker reference into servlet. - * - * @param context use to create a mapping between url and worker. - * @throws IllegalArgumentException - * @throws ProviderNotFoundException - */ - final protected void create( - ServletContextHandler context) throws IllegalArgumentException, ProviderNotFoundException { - LocalSyncWorkerRef workerRef = (LocalSyncWorkerRef)super.create(AbstractWorker.noOwner()); - AbstractPost.PostWithHttpServlet postWithHttpServlet = new AbstractPost.PostWithHttpServlet(workerRef); - context.addServlet(new ServletHolder(postWithHttpServlet), servletPath()); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractServlet.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractServlet.java deleted file mode 100644 index c51036cac..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractServlet.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonElement; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; - -/** - * The AbstractServlet implementations represent workers, which called by the server to allow a servlet to - * handle a request at least one method, e.g. doGet, doPost, doPut, doDelete. - *

Provide default {@link #onWork(Object, Object)} implementation, support the data structure of the map from a http - * call. - * - * @author pengys5 - * @since v3.1-2017 - */ -public abstract class AbstractServlet extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(AbstractServlet.class); - - public AbstractServlet(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - protected abstract Class responseClass(); - - /** - * Override this method to implementing business logic. - * - * @param parameter {@link Object} data structure of the map - * @param response {@link Object} is a out parameter - * @throws ArgumentsParseException if the key could not contains in parameter - * @throws WorkerInvokeException if any error is detected when call(or ask) worker - * @throws WorkerNotFoundException if the worker reference could not found in context. - */ - @Override protected void onWork(Object parameter, - Object response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - try { - JsonElement resJson = responseClass().newInstance(); - onReceive((Map)parameter, resJson); - onSuccessResponse((HttpServletResponse)response, resJson); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } catch (InstantiationException e) { - logger.error(e.getMessage(), e); - } catch (IllegalAccessException e) { - logger.error(e.getMessage(), e); - } - } - - /** - * Override this method to implementing business logic. - * - * @param parameter {@link Map}, get the request parameter by key. - * @param response {@link JsonElement}, set the response data as json object. - * @throws ArgumentsParseException if the key could not contains in parameter - * @throws WorkerInvokeException if any error is detected when call(or ask) worker - * @throws WorkerNotFoundException if the worker reference could not found in context. - */ - protected abstract void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException; - - /** - * Set the worker response and the success status into the servlet response object - * - * @param response {@link HttpServletResponse} object that contains the response the servlet reply to the client - * @param resJson {@link JsonElement} that contains the response from worker - * @throws IOException if any error is detected when the servlet handles the response. - */ - protected void onSuccessResponse(HttpServletResponse response, JsonElement resJson) throws IOException { - reply(response, resJson, HttpServletResponse.SC_OK); - } - - /** - * Reply the error message and server error code to client. - * - * @param exception a {@link Exception} when the worker handles the request - * @param response {@link HttpServletResponse} object that contains the response the servlet reply to the client - */ - protected void onErrorResponse(Exception exception, HttpServletResponse response) { - response.setHeader("reason", exception.getMessage()); - try { - reply(response, responseClass().newInstance(), HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } catch (IllegalAccessException e) { - logger.error(e.getMessage(), e); - } catch (InstantiationException e) { - logger.error(e.getMessage(), e); - } - } - - /** - * Build the response head and body - * - * @param response {@link HttpServletResponse} object that contains the response the servlet reply to the client - * @param resJson {@link JsonElement} that contains the response from worker - * @param status http status code - * @throws IOException if an input or output error is detected when the servlet handles the response - */ - private void reply(HttpServletResponse response, JsonElement resJson, int status) throws IOException { - response.setContentType("text/json"); - response.setCharacterEncoding("utf-8"); - response.setStatus(status); - - PrintWriter out = response.getWriter(); - out.print(resJson); - out.flush(); - out.close(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractStreamPost.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractStreamPost.java deleted file mode 100644 index c762d7803..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractStreamPost.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.io.BufferedReader; -import java.io.IOException; -import java.util.Map; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalSyncWorkerRef; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; - -/** - * The AbstractStreamPost implementations represent workers, which called by the server to allow a servlet - * to handle a post request and get post the data by {@link BufferedReader}. - * - *

verride the {@link #onReceive(BufferedReader, JsonObject)} method to deserialize the json construct data by buffer - * reader. - * - * @author pengys5 - * @since v3.1-2017 - */ -public abstract class AbstractStreamPost extends AbstractServlet { - - public AbstractStreamPost(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - /** - * Call the {@link #onReceive(BufferedReader, JsonObject)} method, build response data to writer if success or build - * error response data to writer if detected exception. - * - * @param reader {@link BufferedReader} json construct - * @param response {@link Object} is a out parameter - * @throws ArgumentsParseException if the key could not contains in parameter - * @throws WorkerInvokeException if any error is detected when call(or ask) worker - * @throws WorkerNotFoundException if the worker reference could not found in context. - */ - @Override final protected void onWork(Object reader, - Object response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - JsonObject resJson = new JsonObject(); - try { - onReceive((BufferedReader)reader, resJson); - onSuccessResponse((HttpServletResponse)response, resJson); - } catch (Exception e) { - onErrorResponse(e, (HttpServletResponse)response); - } - } - - /** - * Override the default implementation, forbidden to call this method. - * - * @param parameter {@link Map}, get the request parameter by key. - * @param response {@link JsonElement}, set the response data as json object. - * @throws ArgumentsParseException if the key could not contains in parameter - * @throws WorkerInvokeException if any error is detected when call(or ask) worker - * @throws WorkerNotFoundException if the worker reference could not found in context. - */ - @Override final protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - throw new WorkerInvokeException("Use the other method with buffer reader parameter"); - } - - /** - * Override this method to implementing business logic. - * - * @param reader {@link BufferedReader} json construct - * @param response {@link Object} is a out parameter - * @throws ArgumentsParseException if the key could not contains in parameter - * @throws WorkerInvokeException if any error is detected when call(or ask) worker - * @throws WorkerNotFoundException if the worker reference could not found in context. - */ - protected abstract void onReceive(BufferedReader reader, - JsonObject response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException; - - static class StreamPostWithHttpServlet extends HttpServlet { - - private Logger logger = LogManager.getFormatterLogger(AbstractPost.PostWithHttpServlet.class); - - private final LocalSyncWorkerRef ownerWorkerRef; - - StreamPostWithHttpServlet(LocalSyncWorkerRef ownerWorkerRef) { - this.ownerWorkerRef = ownerWorkerRef; - } - - /** - * Override the {@link HttpServlet#doPost(HttpServletRequest, HttpServletResponse)} method, receive the - * buffer from request then send buffer to the owner worker. - * - * @param request an {@link HttpServletRequest} object that contains the request the client has made of the - * servlet - * @param response {@link HttpServletResponse} object that contains the response the servlet sends to the - * client - * @throws ServletException if the request for the POST could not be handled - * @throws IOException if an input or output error is detected when the servlet handles the request - */ - @Override final protected void doPost(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - try { - BufferedReader reader = request.getReader(); - ownerWorkerRef.ask(reader, response); - } catch (Exception e) { - logger.error(e, e); - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractStreamPostProvider.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractStreamPostProvider.java deleted file mode 100644 index d2c6af40c..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/AbstractStreamPostProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.LocalSyncWorkerRef; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * The AbstractStreamPostProvider implementations represent providers, which use to create {@link - * AbstractStreamPost} worker instances. - * - * @author pengys5 - * @since v3.1-2017 - */ -public abstract class AbstractStreamPostProvider extends AbstractLocalSyncWorkerProvider { - - public abstract String servletPath(); - - /** - * Create worker instance, http servlet and set the worker reference into servlet. - * - * @param context use to create a mapping between url and worker. - * @throws IllegalArgumentException - * @throws ProviderNotFoundException - */ - final protected void create( - ServletContextHandler context) throws IllegalArgumentException, ProviderNotFoundException { - LocalSyncWorkerRef workerRef = (LocalSyncWorkerRef)super.create(AbstractWorker.noOwner()); - AbstractStreamPost.StreamPostWithHttpServlet postWithHttpServlet = new AbstractStreamPost.StreamPostWithHttpServlet(workerRef); - context.addServlet(new ServletHolder(postWithHttpServlet), servletPath()); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/ArgumentsParseException.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/ArgumentsParseException.java deleted file mode 100644 index 6b2d2a1f2..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/ArgumentsParseException.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.skywalking.apm.collector.actor.WorkerException; - -/** - * This exception is raised when can't find the required argument or data type conversion fails from request. - * - * @author pengys5 - * @since v3.1-2017 - */ -public class ArgumentsParseException extends WorkerException { - - public ArgumentsParseException(String message) { - super(message); - } - - public ArgumentsParseException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/HttpServer.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/HttpServer.java deleted file mode 100644 index 00212e117..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/HttpServer.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.worker.config.HttpConfig; - -import java.net.InetSocketAddress; - -/** - * @author pengys5 - */ -public enum HttpServer { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(HttpServer.class); - - public void boot(ClusterWorkerContext clusterContext) throws Exception { - Server server = new Server(new InetSocketAddress(HttpConfig.Http.HOSTNAME, Integer.valueOf(HttpConfig.Http.PORT))); - - String contextPath = HttpConfig.Http.CONTEXTPATH; - ServletContextHandler servletContextHandler = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); - servletContextHandler.setContextPath(contextPath); - logger.info("http server root context path: %s", contextPath); - - ServletsCreator.INSTANCE.boot(servletContextHandler, clusterContext); - - server.setHandler(servletContextHandler); - server.start(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/ServletsCreator.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/ServletsCreator.java deleted file mode 100644 index b79124de1..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/httpserver/ServletsCreator.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import java.util.ServiceLoader; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * The ServletsCreator is a servlet workers starter. Use SPI to create the instances implement {@link - * AbstractGetProvider}, {@link AbstractPostProvider}, {@link AbstractStreamPostProvider}. - * - * @author pengys5 - * @since v3.1-2017 - */ -public enum ServletsCreator { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(ServletsCreator.class); - - /** - * Use SPI to find the servlet workers provider then use the provider to create worker instances. - * - * @param servletContextHandler add a mapping between url and worker. - * @param clusterContext the context contains remote worker reference. - * @throws IllegalArgumentException - * @throws ProviderNotFoundException - */ - public void boot(ServletContextHandler servletContextHandler, - ClusterWorkerContext clusterContext) throws IllegalArgumentException, ProviderNotFoundException { - ServiceLoader postServletLoader = java.util.ServiceLoader.load(AbstractPostProvider.class); - for (AbstractPostProvider provider : postServletLoader) { - provider.setClusterContext(clusterContext); - provider.create(servletContextHandler); - logger.info("add post servlet mapping path: %s ", provider.servletPath()); - } - - ServiceLoader streamPostServletLoader = java.util.ServiceLoader.load(AbstractStreamPostProvider.class); - for (AbstractStreamPostProvider provider : streamPostServletLoader) { - provider.setClusterContext(clusterContext); - provider.create(servletContextHandler); - logger.info("add stream post servlet mapping path: %s ", provider.servletPath()); - } - - ServiceLoader getServletLoader = java.util.ServiceLoader.load(AbstractGetProvider.class); - for (AbstractGetProvider provider : getServletLoader) { - provider.setClusterContext(clusterContext); - provider.create(servletContextHandler); - logger.info("add get servlet mapping path: %s ", provider.servletPath()); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/NodeCompIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/NodeCompIndex.java deleted file mode 100644 index af8d1517e..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/NodeCompIndex.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.node; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeCompIndex extends AbstractIndex { - - public static final String INDEX = "node_comp_idx"; - public static final String NAME = "name"; - public static final String PEERS = "peers"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return false; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.NodeCompIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(NAME) - .field("type", "keyword") - .endObject() - .startObject(PEERS) - .field("type", "keyword") - .endObject() - .startObject(AGG_COLUMN) - .field("type", "keyword") - .endObject() - .endObject() - .endObject(); - return mappingBuilder; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/NodeMappingIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/NodeMappingIndex.java deleted file mode 100644 index cb4c291d7..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/NodeMappingIndex.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.node; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeMappingIndex extends AbstractIndex { - - public static final String INDEX = "node_mapping_idx"; - public static final String CODE = "code"; - public static final String PEERS = "peers"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return false; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.NodeMappingIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(CODE) - .field("type", "string") - .field("index", "not_analyzed") - .endObject() - .startObject(PEERS) - .field("type", "string") - .field("index", "not_analyzed") - .endObject() - .startObject(AGG_COLUMN) - .field("type", "string") - .field("index", "not_analyzed") - .endObject() - .startObject(TIME_SLICE) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .endObject() - .endObject(); - return mappingBuilder; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/AbstractNodeCompAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/AbstractNodeCompAnalysis.java deleted file mode 100644 index 60065a023..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/AbstractNodeCompAnalysis.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import com.google.gson.JsonObject; -import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.worker.RecordAnalysisMember; -import org.skywalking.apm.collector.worker.node.NodeCompIndex; -import org.skywalking.apm.collector.worker.tools.CollectionTools; -import org.skywalking.apm.collector.worker.tools.SpanPeersTools; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.SpanType; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -abstract class AbstractNodeCompAnalysis extends RecordAnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(AbstractNodeCompAnalysis.class); - - AbstractNodeCompAnalysis(Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - final void analyseSpans(TraceSegmentObject segment) { - List spanList = segment.getSpansList(); - logger.debug("node analysis span isNotEmpty %s", CollectionTools.isNotEmpty(spanList)); - - if (CollectionTools.isNotEmpty(spanList)) { - logger.debug("node analysis span list SIZE: %s", spanList.size()); - for (SpanObject span : spanList) { - if (SpanType.Exit.equals(span.getSpanType())) { - int peers = SpanPeersTools.INSTANCE.getPeers(span); - - JsonObject compJsonObj = new JsonObject(); - compJsonObj.addProperty(NodeCompIndex.PEERS, peers); - compJsonObj.addProperty(NodeCompIndex.NAME, span.getComponent()); - - set(String.valueOf(peers), compJsonObj); - } else if (SpanType.Entry.equals(span.getSpanType()) && span.getParentSpanId() == -1) { - int peers = segment.getApplicationId(); - - JsonObject compJsonObj = new JsonObject(); - compJsonObj.addProperty(NodeCompIndex.PEERS, peers); - compJsonObj.addProperty(NodeCompIndex.NAME, span.getComponent()); - - set(String.valueOf(peers), compJsonObj); - } - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/AbstractNodeMappingAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/AbstractNodeMappingAnalysis.java deleted file mode 100644 index 23521ffc8..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/AbstractNodeMappingAnalysis.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import com.google.gson.JsonObject; -import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.RecordAnalysisMember; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; -import org.skywalking.apm.collector.worker.tools.CollectionTools; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.network.proto.TraceSegmentReference; - -/** - * @author pengys5 - */ -abstract class AbstractNodeMappingAnalysis extends RecordAnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(AbstractNodeMappingAnalysis.class); - - AbstractNodeMappingAnalysis(Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - final void analyseRefs(TraceSegmentObject segment, long timeSlice) { - List segmentRefList = segment.getRefsList(); - logger.debug("node mapping analysis refs isNotEmpty %s", CollectionTools.isNotEmpty(segmentRefList)); - - if (CollectionTools.isNotEmpty(segmentRefList)) { - logger.debug("node mapping analysis refs list SIZE: %s", segmentRefList.size()); - for (TraceSegmentReference segmentRef : segmentRefList) { - String peers = Const.PEERS_FRONT_SPLIT + segmentRef.getNetworkAddress() + Const.PEERS_BEHIND_SPLIT; - int code = segment.getApplicationId(); - - JsonObject nodeMappingJsonObj = new JsonObject(); - nodeMappingJsonObj.addProperty(NodeMappingIndex.CODE, code); - nodeMappingJsonObj.addProperty(NodeMappingIndex.PEERS, peers); - nodeMappingJsonObj.addProperty(NodeMappingIndex.TIME_SLICE, timeSlice); - - String id = timeSlice + Const.ID_SPLIT + code + Const.ID_SPLIT + peers; - set(id, nodeMappingJsonObj); - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeCompAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeCompAnalysis.java deleted file mode 100644 index 356303cff..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeCompAnalysis.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.node.persistence.NodeCompAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class NodeCompAnalysis extends AbstractNodeCompAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeCompAnalysis.class); - - NodeCompAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - analyseSpans(segment); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeCompAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeCompAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeCompAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeCompAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.Node.NodeCompAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeCompAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingDayAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingDayAnalysis.java deleted file mode 100644 index 750f470a4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingDayAnalysis.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingDayAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class NodeMappingDayAnalysis extends AbstractNodeMappingAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeMappingDayAnalysis.class); - - public NodeMappingDayAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - analyseRefs(segment, segmentWithTimeSlice.getDay()); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeMappingDayAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeMappingDayAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingDayAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeMappingDayAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.Node.NodeMappingDayAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingDayAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingHourAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingHourAnalysis.java deleted file mode 100644 index 2274a8388..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingHourAnalysis.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingHourAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class NodeMappingHourAnalysis extends AbstractNodeMappingAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeMappingHourAnalysis.class); - - NodeMappingHourAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - analyseRefs(segment, segmentWithTimeSlice.getHour()); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeMappingHourAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeMappingHourAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingHourAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeMappingHourAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.Node.NodeMappingHourAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingHourAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingMinuteAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingMinuteAnalysis.java deleted file mode 100644 index bf0351116..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingMinuteAnalysis.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingMinuteAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class NodeMappingMinuteAnalysis extends AbstractNodeMappingAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeMappingMinuteAnalysis.class); - - NodeMappingMinuteAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - analyseRefs(segment, segmentWithTimeSlice.getMinute()); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeMappingMinuteAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeMappingMinuteAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingMinuteAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeMappingMinuteAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.Node.NodeMappingMinuteAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingMinuteAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompAgg.java deleted file mode 100644 index a73052a8f..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public class NodeCompAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeCompAgg.class); - - NodeCompAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeCompSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof RecordData) { - getSelfContext().lookup(NodeCompSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must RecordData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeCompAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeCompAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.Node.NodeCompAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeCompAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompLoad.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompLoad.java deleted file mode 100644 index 7414b362a..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompLoad.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.search.SearchHit; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.node.NodeCompIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeCompLoad extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeCompLoad.class); - - NodeCompLoad(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void onWork(Object request, Object response) throws WorkerException { - SearchRequestBuilder searchRequestBuilder = EsClient.INSTANCE.getClient().prepareSearch(NodeCompIndex.INDEX); - searchRequestBuilder.setTypes(NodeCompIndex.TYPE_RECORD); - searchRequestBuilder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH); - searchRequestBuilder.setSize(100); - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - - SearchHit[] searchHits = searchResponse.getHits().getHits(); - - JsonArray nodeCompArray = new JsonArray(); - for (SearchHit searchHit : searchHits) { - JsonObject nodeCompObj = new JsonObject(); - nodeCompObj.addProperty(NodeCompIndex.NAME, (String)searchHit.getSource().get(NodeCompIndex.NAME)); - nodeCompObj.addProperty(NodeCompIndex.PEERS, (String)searchHit.getSource().get(NodeCompIndex.PEERS)); - nodeCompArray.add(nodeCompObj); - logger.debug("node: %s", nodeCompObj.toString()); - } - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add("result", nodeCompArray); - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public NodeCompLoad workerInstance(ClusterWorkerContext clusterContext) { - return new NodeCompLoad(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return NodeCompLoad.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompSave.java deleted file mode 100644 index 7dbcdfdad..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.node.NodeCompIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeCompSave extends RecordPersistenceMember { - - NodeCompSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeCompIndex.INDEX; - } - - @Override - public String esType() { - return NodeCompIndex.TYPE_RECORD; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeCompSave workerInstance(ClusterWorkerContext clusterContext) { - NodeCompSave worker = new NodeCompSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeCompSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDayAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDayAgg.java deleted file mode 100644 index f94101054..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDayAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public class NodeMappingDayAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeMappingDayAgg.class); - - NodeMappingDayAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeMappingDaySave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof RecordData) { - getSelfContext().lookup(NodeMappingDaySave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must RecordData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingDayAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeMappingDayAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.Node.NodeMappingDayAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingDayAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDaySave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDaySave.java deleted file mode 100644 index 6d6a2bbc3..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDaySave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeMappingDaySave extends RecordPersistenceMember { - - NodeMappingDaySave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeMappingIndex.INDEX; - } - - @Override - public String esType() { - return NodeMappingIndex.TYPE_DAY; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingDaySave workerInstance(ClusterWorkerContext clusterContext) { - NodeMappingDaySave worker = new NodeMappingDaySave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingDaySave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourAgg.java deleted file mode 100644 index 74d43b2fd..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public class NodeMappingHourAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeMappingHourAgg.class); - - NodeMappingHourAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeMappingHourSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof RecordData) { - getSelfContext().lookup(NodeMappingHourSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must RecordData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingHourAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeMappingHourAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.Node.NodeMappingHourAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingHourAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourSave.java deleted file mode 100644 index 4aaad9083..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeMappingHourSave extends RecordPersistenceMember { - - NodeMappingHourSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeMappingIndex.INDEX; - } - - @Override - public String esType() { - return NodeMappingIndex.TYPE_HOUR; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingHourSave workerInstance(ClusterWorkerContext clusterContext) { - NodeMappingHourSave worker = new NodeMappingHourSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingHourSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteAgg.java deleted file mode 100644 index d8f6e58e1..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteAgg.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.*; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public class NodeMappingMinuteAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeMappingMinuteAgg.class); - - NodeMappingMinuteAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeMappingMinuteSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof RecordData) { - getSelfContext().lookup(NodeMappingMinuteSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must RecordData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingMinuteAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeMappingMinuteAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.Node.NodeMappingMinuteAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingMinuteAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteSave.java deleted file mode 100644 index 48d7bf520..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeMappingMinuteSave extends RecordPersistenceMember { - - NodeMappingMinuteSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeMappingIndex.INDEX; - } - - @Override - public String esType() { - return NodeMappingIndex.TYPE_MINUTE; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeMappingMinuteSave workerInstance(ClusterWorkerContext clusterContext) { - NodeMappingMinuteSave worker = new NodeMappingMinuteSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingMinuteSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingSearchWithTimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingSearchWithTimeSlice.java deleted file mode 100644 index 343de3671..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingSearchWithTimeSlice.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.bucket.terms.Terms; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.TimeSlice; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeMappingSearchWithTimeSlice extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeMappingSearchWithTimeSlice.class); - - NodeMappingSearchWithTimeSlice(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void onWork(Object request, Object response) throws WorkerException { - if (request instanceof RequestEntity) { - RequestEntity search = (RequestEntity)request; - - SearchRequestBuilder searchRequestBuilder = EsClient.INSTANCE.getClient().prepareSearch(NodeMappingIndex.INDEX); - searchRequestBuilder.setTypes(search.getSliceType()); - searchRequestBuilder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH); - searchRequestBuilder.setQuery(QueryBuilders.rangeQuery(NodeMappingIndex.TIME_SLICE).gte(search.getStartTime()).lte(search.getEndTime())); - searchRequestBuilder.setSize(0); - - searchRequestBuilder.addAggregation(AggregationBuilders.terms(NodeMappingIndex.AGG_COLUMN).field(NodeMappingIndex.AGG_COLUMN).size(100)); - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - - Terms genders = searchResponse.getAggregations().get(NodeMappingIndex.AGG_COLUMN); - - JsonArray nodeMappingArray = new JsonArray(); - for (Terms.Bucket entry : genders.getBuckets()) { - String aggId = entry.getKeyAsString(); - String[] aggIds = aggId.split(Const.IDS_SPLIT); - String code = aggIds[0]; - String peers = aggIds[1]; - - JsonObject nodeMappingObj = new JsonObject(); - nodeMappingObj.addProperty(NodeMappingIndex.CODE, code); - nodeMappingObj.addProperty(NodeMappingIndex.PEERS, peers); - nodeMappingArray.add(nodeMappingObj); - } - logger.debug("node mapping data: %s", nodeMappingArray.toString()); - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add(Const.RESULT, nodeMappingArray); - } else { - logger.error("unhandled message, message instance must NodeMappingSearchWithTimeSlice.RequestEntity, but is %s", request.getClass().toString()); - } - } - - public static class RequestEntity extends TimeSlice { - public RequestEntity(String sliceType, long startTime, long endTime) { - super(sliceType, startTime, endTime); - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public NodeMappingSearchWithTimeSlice workerInstance(ClusterWorkerContext clusterContext) { - return new NodeMappingSearchWithTimeSlice(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return NodeMappingSearchWithTimeSlice.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefIndex.java deleted file mode 100644 index 9d8b23dd4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefIndex.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeRefIndex extends AbstractIndex { - public static final String INDEX = "node_ref_idx"; - public static final String FRONT = "front"; - public static final String FRONT_IS_REAL_CODE = "frontIsRealCode"; - public static final String BEHIND = "behind"; - public static final String BEHIND_IS_REAL_CODE = "behindIsRealCode"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return false; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.NodeRefIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(FRONT) - .field("type", "keyword") - .endObject() - .startObject(FRONT_IS_REAL_CODE) - .field("type", "boolean") - .field("index", "not_analyzed") - .endObject() - .startObject(BEHIND) - .field("type", "keyword") - .endObject() - .startObject(BEHIND_IS_REAL_CODE) - .field("type", "boolean") - .field("index", "not_analyzed") - .endObject() - .startObject(AGG_COLUMN) - .field("type", "keyword") - .endObject() - .startObject(TIME_SLICE) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .endObject() - .endObject(); - return mappingBuilder; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSlice.java deleted file mode 100644 index 30b5e797a..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSlice.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Arrays; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.httpserver.AbstractGet; -import org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumGroupWithTimeSlice; -import org.skywalking.apm.collector.worker.tools.ParameterTools; - -/** - * @author pengys5 - */ -public class NodeRefResSumGetGroupWithTimeSlice extends AbstractGet { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumGetGroupWithTimeSlice.class); - - NodeRefResSumGetGroupWithTimeSlice(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeRefResSumGroupWithTimeSlice.WorkerRole.INSTANCE).create(this); - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - if (!parameter.containsKey("startTime") || !parameter.containsKey("endTime") || !parameter.containsKey("timeSliceType")) { - throw new ArgumentsParseException("the request parameter must contains startTime,endTime,timeSliceType"); - } - - if (logger.isDebugEnabled()) { - logger.debug("startTime: %s, endTime: %s, timeSliceType: %s", Arrays.toString(parameter.get("startTime")), - Arrays.toString(parameter.get("endTime")), Arrays.toString(parameter.get("timeSliceType"))); - } - - long startTime; - try { - startTime = Long.valueOf(ParameterTools.INSTANCE.toString(parameter, "startTime")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter startTime must be a long"); - } - - long endTime; - try { - endTime = Long.valueOf(ParameterTools.INSTANCE.toString(parameter, "endTime")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter endTime must be a long"); - } - - NodeRefResSumGroupWithTimeSlice.RequestEntity requestEntity; - requestEntity = new NodeRefResSumGroupWithTimeSlice.RequestEntity(ParameterTools.INSTANCE.toString(parameter, "timeSliceType"), startTime, endTime); - getSelfContext().lookup(NodeRefResSumGroupWithTimeSlice.WorkerRole.INSTANCE).ask(requestEntity, response); - } - - public static class Factory extends AbstractGetProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public NodeRefResSumGetGroupWithTimeSlice workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumGetGroupWithTimeSlice(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public String servletPath() { - return "/nodeRef/resSum/groupTimeSlice"; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumGetGroupWithTimeSlice.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumIndex.java deleted file mode 100644 index 6740614eb..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumIndex.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeRefResSumIndex extends AbstractIndex { - public static final String INDEX = "node_ref_res_sum_idx"; - public static final String ONE_SECOND_LESS = "oneSecondLess"; - public static final String THREE_SECOND_LESS = "threeSecondLess"; - public static final String FIVE_SECOND_LESS = "fiveSecondLess"; - public static final String FIVE_SECOND_GREATER = "fiveSecondGreater"; - public static final String ERROR = "error"; - public static final String SUMMARY = "summary"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return false; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.NodeRefResSumIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(ONE_SECOND_LESS) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(THREE_SECOND_LESS) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(FIVE_SECOND_LESS) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(FIVE_SECOND_GREATER) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(ERROR) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(SUMMARY) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(AGG_COLUMN) - .field("type", "keyword") - .endObject() - .startObject(TIME_SLICE) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .endObject() - .endObject(); - return mappingBuilder; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefAnalysis.java deleted file mode 100644 index 3251ef251..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefAnalysis.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import com.google.gson.JsonObject; -import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.RecordAnalysisMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.tools.CollectionTools; -import org.skywalking.apm.collector.worker.tools.SpanPeersTools; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.SpanType; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -abstract class AbstractNodeRefAnalysis extends RecordAnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(AbstractNodeRefAnalysis.class); - - AbstractNodeRefAnalysis(Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - final void analyseNodeRef(TraceSegmentObject segment, long timeSlice, long minute, long hour, long day, - int second) { - List spanList = segment.getSpansList(); - if (CollectionTools.isNotEmpty(spanList)) { - for (SpanObject span : spanList) { - JsonObject dataJsonObj = new JsonObject(); - dataJsonObj.addProperty(NodeRefIndex.TIME_SLICE, timeSlice); - dataJsonObj.addProperty(NodeRefIndex.FRONT_IS_REAL_CODE, true); - dataJsonObj.addProperty(NodeRefIndex.BEHIND_IS_REAL_CODE, true); - - if (SpanType.Exit.equals(span.getSpanType())) { - int front = segment.getApplicationId(); - dataJsonObj.addProperty(NodeRefIndex.FRONT, front); - - int behind = SpanPeersTools.INSTANCE.getPeers(span); - dataJsonObj.addProperty(NodeRefIndex.BEHIND, behind); - dataJsonObj.addProperty(NodeRefIndex.BEHIND_IS_REAL_CODE, false); - - String id = timeSlice + Const.ID_SPLIT + front + Const.ID_SPLIT + behind; - logger.debug("dag node ref: %s", dataJsonObj.toString()); - set(id, dataJsonObj); - buildNodeRefResRecordData(id, span, minute, hour, day, second); - } else if (SpanType.Entry.equals(span.getSpanType())) { - if (span.getParentSpanId() == -1 && segment.getRefsCount() == 0) { - int behind = segment.getApplicationId(); - dataJsonObj.addProperty(NodeRefIndex.BEHIND, behind); - - String front = Const.USER_CODE; - dataJsonObj.addProperty(NodeRefIndex.FRONT, front); - - String id = timeSlice + Const.ID_SPLIT + front + Const.ID_SPLIT + behind; - set(id, dataJsonObj); - buildNodeRefResRecordData(id, span, minute, hour, day, second); - } - } - } - } - } - - private void buildNodeRefResRecordData(String nodeRefId, SpanObject span, long minute, long hour, long day, - int second) { - AbstractNodeRefResSumAnalysis.NodeRefResRecord refResRecord = new AbstractNodeRefResSumAnalysis.NodeRefResRecord(minute, hour, day, second); - refResRecord.setStartTime(span.getStartTime()); - refResRecord.setEndTime(span.getEndTime()); - refResRecord.setNodeRefId(nodeRefId); - refResRecord.setError(span.getIsError()); - sendToResSumAnalysis(refResRecord); - } - - protected abstract void sendToResSumAnalysis( - AbstractNodeRefResSumAnalysis.NodeRefResRecord refResRecord); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefResSumAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefResSumAnalysis.java deleted file mode 100644 index 6525eec0f..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefResSumAnalysis.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.worker.MetricAnalysisMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; -import org.skywalking.apm.collector.worker.storage.AbstractTimeSlice; - -/** - * @author pengys5 - */ -abstract class AbstractNodeRefResSumAnalysis extends MetricAnalysisMember { - - AbstractNodeRefResSumAnalysis(Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - final void analyseResSum(NodeRefResRecord nodeRefRes) { - long startTime = nodeRefRes.startTime; - long endTime = nodeRefRes.endTime; - boolean isError = nodeRefRes.isError; - long cost = endTime - startTime; - - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.ONE_SECOND_LESS, 0L); - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.THREE_SECOND_LESS, 0L); - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.FIVE_SECOND_LESS, 0L); - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.FIVE_SECOND_GREATER, 0L); - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.ERROR, 0L); - if (cost <= 1000 && !isError) { - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.ONE_SECOND_LESS, 1L); - } else if (1000 < cost && cost <= 3000 && !isError) { - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.THREE_SECOND_LESS, 1L); - } else if (3000 < cost && cost <= 5000 && !isError) { - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.FIVE_SECOND_LESS, 1L); - } else if (5000 < cost && !isError) { - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.FIVE_SECOND_GREATER, 1L); - } else { - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.ERROR, 1L); - } - set(nodeRefRes.nodeRefId, NodeRefResSumIndex.SUMMARY, 1L); - } - - public static class NodeRefResRecord extends AbstractTimeSlice { - private String nodeRefId; - private long startTime; - private long endTime; - private Boolean isError; - - NodeRefResRecord(long minute, long hour, long day, int second) { - super(minute, hour, day, second); - } - - void setNodeRefId(String nodeRefId) { - this.nodeRefId = nodeRefId; - } - - void setStartTime(long startTime) { - this.startTime = startTime; - } - - void setEndTime(long endTime) { - this.endTime = endTime; - } - - void setError(Boolean error) { - isError = error; - } - - String getNodeRefId() { - return nodeRefId; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefDayAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefDayAnalysis.java deleted file mode 100644 index cfe84bcf0..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefDayAnalysis.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefDayAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class NodeRefDayAnalysis extends AbstractNodeRefAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeRefDayAnalysis.class); - - protected NodeRefDayAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - getClusterContext().findProvider(NodeRefResSumDayAnalysis.Role.INSTANCE).create(this); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - - long minute = segmentWithTimeSlice.getMinute(); - long hour = segmentWithTimeSlice.getHour(); - long day = segmentWithTimeSlice.getDay(); - int second = segmentWithTimeSlice.getSecond(); - analyseNodeRef(segment, segmentWithTimeSlice.getDay(), minute, hour, day, second); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected void sendToResSumAnalysis(AbstractNodeRefResSumAnalysis.NodeRefResRecord refResRecord) { - try { - getSelfContext().lookup(NodeRefResSumDayAnalysis.Role.INSTANCE).tell(refResRecord); - } catch (WorkerInvokeException | WorkerNotFoundException e) { - logger.error(e.getMessage(), e); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeRefDayAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeRefDayAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefDayAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefDayAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.NodeRef.NodeRefDayAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefDayAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefHourAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefHourAnalysis.java deleted file mode 100644 index 336081d60..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefHourAnalysis.java +++ /dev/null @@ -1,102 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefHourAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class NodeRefHourAnalysis extends AbstractNodeRefAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeRefHourAnalysis.class); - - protected NodeRefHourAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - getClusterContext().findProvider(NodeRefResSumHourAnalysis.Role.INSTANCE).create(this); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - - long minute = segmentWithTimeSlice.getMinute(); - long hour = segmentWithTimeSlice.getHour(); - long day = segmentWithTimeSlice.getDay(); - int second = segmentWithTimeSlice.getSecond(); - analyseNodeRef(segment, segmentWithTimeSlice.getHour(), minute, hour, day, second); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected void sendToResSumAnalysis(AbstractNodeRefResSumAnalysis.NodeRefResRecord refResRecord) { - try { - getSelfContext().lookup(NodeRefResSumHourAnalysis.Role.INSTANCE).tell(refResRecord); - } catch (WorkerInvokeException | WorkerNotFoundException e) { - logger.error(e.getMessage(), e); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeRefHourAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeRefHourAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefHourAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefHourAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.NodeRef.NodeRefHourAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefHourAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefMinuteAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefMinuteAnalysis.java deleted file mode 100644 index eb9822a0b..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefMinuteAnalysis.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefMinuteAgg; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class NodeRefMinuteAnalysis extends AbstractNodeRefAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeRefMinuteAnalysis.class); - - protected NodeRefMinuteAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - getClusterContext().findProvider(NodeRefResSumMinuteAnalysis.Role.INSTANCE).create(this); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - long minute = segmentWithTimeSlice.getMinute(); - long hour = segmentWithTimeSlice.getHour(); - long day = segmentWithTimeSlice.getDay(); - int second = segmentWithTimeSlice.getSecond(); - analyseNodeRef(segment, segmentWithTimeSlice.getMinute(), minute, hour, day, second); - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected void sendToResSumAnalysis(AbstractNodeRefResSumAnalysis.NodeRefResRecord refResRecord) { - try { - getSelfContext().lookup(NodeRefResSumMinuteAnalysis.Role.INSTANCE).tell(refResRecord); - } catch (WorkerInvokeException | WorkerNotFoundException e) { - logger.error(e.getMessage(), e); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeRefMinuteAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeRefMinuteAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefMinuteAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefMinuteAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.NodeRef.NodeRefMinuteAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefMinuteAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumDayAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumDayAnalysis.java deleted file mode 100644 index 7f4c8ccc3..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumDayAnalysis.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumDayAgg; - -/** - * @author pengys5 - */ -public class NodeRefResSumDayAnalysis extends AbstractNodeRefResSumAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumDayAnalysis.class); - - NodeRefResSumDayAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof NodeRefResRecord) { - NodeRefResRecord refResRecord = (NodeRefResRecord)message; - analyseResSum(refResRecord); - } else { - logger.error("unhandled message, message instance must NodeRefResRecord, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeRefResSumDayAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeRefResSumDayAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumDayAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumDayAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.NodeRef.NodeRefResSumDayAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumDayAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumHourAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumHourAnalysis.java deleted file mode 100644 index 2b32b8c51..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumHourAnalysis.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumHourAgg; - -/** - * @author pengys5 - */ -public class NodeRefResSumHourAnalysis extends AbstractNodeRefResSumAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumHourAnalysis.class); - - NodeRefResSumHourAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof NodeRefResRecord) { - NodeRefResRecord refResRecord = (NodeRefResRecord)message; - analyseResSum(refResRecord); - } else { - logger.error("unhandled message, message instance must NodeRefResRecord, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeRefResSumHourAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeRefResSumHourAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumHourAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumHourAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.NodeRef.NodeRefResSumHourAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumHourAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumMinuteAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumMinuteAnalysis.java deleted file mode 100644 index f7af17697..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumMinuteAnalysis.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumMinuteAgg; - -/** - * @author pengys5 - */ -public class NodeRefResSumMinuteAnalysis extends AbstractNodeRefResSumAnalysis { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumMinuteAnalysis.class); - - NodeRefResSumMinuteAnalysis(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - if (message instanceof NodeRefResRecord) { - NodeRefResRecord refResRecord = (NodeRefResRecord)message; - analyseResSum(refResRecord); - } else { - logger.error("unhandled message, message instance must NodeRefResRecord, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getClusterContext().lookup(NodeRefResSumMinuteAgg.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", NodeRefResSumMinuteAgg.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumMinuteAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumMinuteAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.NodeRef.NodeRefResSumMinuteAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumMinuteAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDayAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDayAgg.java deleted file mode 100644 index 69c2bc298..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDayAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public class NodeRefDayAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefDayAgg.class); - - NodeRefDayAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeRefDaySave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof RecordData) { - getSelfContext().lookup(NodeRefDaySave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must RecordData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefDayAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefDayAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.NodeRef.NodeRefDayAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefDayAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDaySave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDaySave.java deleted file mode 100644 index 33daea9e8..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDaySave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeRefDaySave extends RecordPersistenceMember { - - NodeRefDaySave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeRefIndex.INDEX; - } - - @Override - public String esType() { - return NodeRefIndex.TYPE_DAY; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefDaySave workerInstance(ClusterWorkerContext clusterContext) { - NodeRefDaySave worker = new NodeRefDaySave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefDaySave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourAgg.java deleted file mode 100644 index 0196a8c7a..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public class NodeRefHourAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefHourAgg.class); - - NodeRefHourAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeRefHourSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof RecordData) { - getSelfContext().lookup(NodeRefHourSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must RecordData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefHourAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefHourAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.NodeRef.NodeRefHourAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefHourAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourSave.java deleted file mode 100644 index 35fdd2ea7..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeRefHourSave extends RecordPersistenceMember { - - NodeRefHourSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeRefIndex.INDEX; - } - - @Override - public String esType() { - return NodeRefIndex.TYPE_HOUR; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefHourSave workerInstance(ClusterWorkerContext clusterContext) { - NodeRefHourSave worker = new NodeRefHourSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefHourSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteAgg.java deleted file mode 100644 index 7dae8e0e3..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public class NodeRefMinuteAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefMinuteAgg.class); - - NodeRefMinuteAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeRefMinuteSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof RecordData) { - getSelfContext().lookup(NodeRefMinuteSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must RecordData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefMinuteAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefMinuteAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.NodeRef.NodeRefMinuteAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefMinuteAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteSave.java deleted file mode 100644 index 236f8d410..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeRefMinuteSave extends RecordPersistenceMember { - - NodeRefMinuteSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeRefIndex.INDEX; - } - - @Override - public String esType() { - return NodeRefIndex.TYPE_MINUTE; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefMinuteSave workerInstance(ClusterWorkerContext clusterContext) { - NodeRefMinuteSave worker = new NodeRefMinuteSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefMinuteSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDayAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDayAgg.java deleted file mode 100644 index 1e9c5cd0a..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDayAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.MetricData; - -/** - * @author pengys5 - */ -public class NodeRefResSumDayAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumDayAgg.class); - - NodeRefResSumDayAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeRefResSumDaySave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof MetricData) { - getSelfContext().lookup(NodeRefResSumDaySave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must MetricData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumDayAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumDayAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.NodeRef.NodeRefResSumDayAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumDayAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDaySave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDaySave.java deleted file mode 100644 index 43bb87321..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDaySave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.MetricPersistenceMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeRefResSumDaySave extends MetricPersistenceMember { - - NodeRefResSumDaySave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeRefResSumIndex.INDEX; - } - - @Override - public String esType() { - return NodeRefResSumIndex.TYPE_DAY; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumDaySave workerInstance(ClusterWorkerContext clusterContext) { - NodeRefResSumDaySave worker = new NodeRefResSumDaySave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumDaySave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumGroupWithTimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumGroupWithTimeSlice.java deleted file mode 100644 index 40ce53334..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumGroupWithTimeSlice.java +++ /dev/null @@ -1,123 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.bucket.terms.Terms; -import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.sum.Sum; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.TimeSlice; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeRefResSumGroupWithTimeSlice extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumGroupWithTimeSlice.class); - - NodeRefResSumGroupWithTimeSlice(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void onWork(Object request, Object response) throws WorkerException { - if (request instanceof RequestEntity) { - RequestEntity search = (RequestEntity)request; - - SearchRequestBuilder searchRequestBuilder = EsClient.INSTANCE.getClient().prepareSearch(NodeRefResSumIndex.INDEX); - searchRequestBuilder.setTypes(search.getSliceType()); - searchRequestBuilder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH); - searchRequestBuilder.setQuery(QueryBuilders.rangeQuery(NodeRefResSumIndex.TIME_SLICE).gte(search.getStartTime()).lte(search.getEndTime())); - searchRequestBuilder.setSize(0); - - TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms(NodeRefResSumIndex.TIME_SLICE).field(NodeRefResSumIndex.TIME_SLICE); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.ONE_SECOND_LESS).field(NodeRefResSumIndex.ONE_SECOND_LESS)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.THREE_SECOND_LESS).field(NodeRefResSumIndex.THREE_SECOND_LESS)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.FIVE_SECOND_LESS).field(NodeRefResSumIndex.FIVE_SECOND_LESS)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.FIVE_SECOND_GREATER).field(NodeRefResSumIndex.FIVE_SECOND_GREATER)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.ERROR).field(NodeRefResSumIndex.ERROR)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.SUMMARY).field(NodeRefResSumIndex.SUMMARY)); - - searchRequestBuilder.addAggregation(aggregationBuilder); - - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - - JsonArray nodeRefResSumArray = new JsonArray(); - Terms aggTerms = searchResponse.getAggregations().get(NodeRefResSumIndex.TIME_SLICE); - for (Terms.Bucket bucket : aggTerms.getBuckets()) { - String aggId = String.valueOf(bucket.getKey()); - Sum oneSecondLess = bucket.getAggregations().get(NodeRefResSumIndex.ONE_SECOND_LESS); - Sum threeSecondLess = bucket.getAggregations().get(NodeRefResSumIndex.THREE_SECOND_LESS); - Sum fiveSecondLess = bucket.getAggregations().get(NodeRefResSumIndex.FIVE_SECOND_LESS); - Sum fiveSecondGreater = bucket.getAggregations().get(NodeRefResSumIndex.FIVE_SECOND_GREATER); - Sum error = bucket.getAggregations().get(NodeRefResSumIndex.ERROR); - Sum summary = bucket.getAggregations().get(NodeRefResSumIndex.SUMMARY); - logger.debug("aggId: %s, oneSecondLess: %s, threeSecondLess: %s, fiveSecondLess: %s, fiveSecondGreater: %s, error: %s, summary: %s", aggId, - oneSecondLess.getValue(), threeSecondLess.getValue(), fiveSecondLess.getValue(), fiveSecondGreater.getValue(), error.getValue(), summary.getValue()); - - JsonObject nodeRefResSumObj = new JsonObject(); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.TIME_SLICE, aggId); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.ONE_SECOND_LESS, oneSecondLess.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.THREE_SECOND_LESS, threeSecondLess.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.FIVE_SECOND_LESS, fiveSecondLess.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.FIVE_SECOND_GREATER, fiveSecondGreater.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.ERROR, error.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.SUMMARY, summary.getValue()); - nodeRefResSumArray.add(nodeRefResSumObj); - } - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add("result", nodeRefResSumArray); - } else { - logger.error("unhandled message, message instance must NodeRefResSumGroupWithTimeSlice.RequestEntity, but is %s", request.getClass().toString()); - } - } - - public static class RequestEntity extends TimeSlice { - public RequestEntity(String sliceType, long startTime, long endTime) { - super(sliceType, startTime, endTime); - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public NodeRefResSumGroupWithTimeSlice workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumGroupWithTimeSlice(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumGroupWithTimeSlice.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourAgg.java deleted file mode 100644 index 15b054d08..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.MetricData; - -/** - * @author pengys5 - */ -public class NodeRefResSumHourAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumHourAgg.class); - - NodeRefResSumHourAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeRefResSumHourSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof MetricData) { - getSelfContext().lookup(NodeRefResSumHourSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must MetricData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumHourAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumHourAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.NodeRef.NodeRefResSumHourAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumHourAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourSave.java deleted file mode 100644 index 3e55477a6..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.MetricPersistenceMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeRefResSumHourSave extends MetricPersistenceMember { - - NodeRefResSumHourSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeRefResSumIndex.INDEX; - } - - @Override - public String esType() { - return NodeRefResSumIndex.TYPE_HOUR; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumHourSave workerInstance(ClusterWorkerContext clusterContext) { - NodeRefResSumHourSave worker = new NodeRefResSumHourSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumHourSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteAgg.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteAgg.java deleted file mode 100644 index 44411cad4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteAgg.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.storage.MetricData; - -/** - * @author pengys5 - */ -public class NodeRefResSumMinuteAgg extends AbstractClusterWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumMinuteAgg.class); - - NodeRefResSumMinuteAgg(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeRefResSumMinuteSave.Role.INSTANCE).create(this); - } - - @Override - protected void onWork(Object message) throws WorkerException { - if (message instanceof MetricData) { - getSelfContext().lookup(NodeRefResSumMinuteSave.Role.INSTANCE).tell(message); - } else { - logger.error("unhandled message, message instance must MetricData, but is %s", message.getClass().toString()); - } - } - - public static class Factory extends AbstractClusterWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumMinuteAgg workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumMinuteAgg(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int workerNum() { - return WorkerConfig.WorkerNum.NodeRef.NodeRefResSumMinuteAgg.VALUE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumMinuteAgg.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteSave.java deleted file mode 100644 index 9a1fd2409..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.MetricPersistenceMember; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class NodeRefResSumMinuteSave extends MetricPersistenceMember { - - NodeRefResSumMinuteSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return NodeRefResSumIndex.INDEX; - } - - @Override - public String esType() { - return NodeRefResSumIndex.TYPE_MINUTE; - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public NodeRefResSumMinuteSave workerInstance(ClusterWorkerContext clusterContext) { - NodeRefResSumMinuteSave worker = new NodeRefResSumMinuteSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumMinuteSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new HashCodeSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumSearchWithTimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumSearchWithTimeSlice.java deleted file mode 100644 index 9a3adeaee..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumSearchWithTimeSlice.java +++ /dev/null @@ -1,130 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.bucket.terms.Terms; -import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.sum.Sum; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.TimeSlice; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeRefResSumSearchWithTimeSlice extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefResSumSearchWithTimeSlice.class); - - NodeRefResSumSearchWithTimeSlice(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void onWork(Object request, Object response) throws WorkerException { - if (request instanceof RequestEntity) { - RequestEntity search = (RequestEntity)request; - - SearchRequestBuilder searchRequestBuilder = EsClient.INSTANCE.getClient().prepareSearch(NodeRefResSumIndex.INDEX); - searchRequestBuilder.setTypes(search.getSliceType()); - searchRequestBuilder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH); - searchRequestBuilder.setQuery(QueryBuilders.rangeQuery(NodeRefResSumIndex.TIME_SLICE).gte(search.getStartTime()).lte(search.getEndTime())); - searchRequestBuilder.setSize(0); - - TermsAggregationBuilder aggregationBuilder = AggregationBuilders.terms(NodeRefResSumIndex.AGG_COLUMN).field(NodeRefResSumIndex.AGG_COLUMN); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.ONE_SECOND_LESS).field(NodeRefResSumIndex.ONE_SECOND_LESS)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.THREE_SECOND_LESS).field(NodeRefResSumIndex.THREE_SECOND_LESS)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.FIVE_SECOND_LESS).field(NodeRefResSumIndex.FIVE_SECOND_LESS)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.FIVE_SECOND_GREATER).field(NodeRefResSumIndex.FIVE_SECOND_GREATER)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.ERROR).field(NodeRefResSumIndex.ERROR)); - aggregationBuilder.subAggregation(AggregationBuilders.sum(NodeRefResSumIndex.SUMMARY).field(NodeRefResSumIndex.SUMMARY)); - - searchRequestBuilder.addAggregation(aggregationBuilder); - - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - - JsonArray nodeRefResSumArray = new JsonArray(); - Terms aggTerms = searchResponse.getAggregations().get(NodeRefResSumIndex.AGG_COLUMN); - for (Terms.Bucket bucket : aggTerms.getBuckets()) { - String aggId = String.valueOf(bucket.getKey()); - Sum oneSecondLess = bucket.getAggregations().get(NodeRefResSumIndex.ONE_SECOND_LESS); - Sum threeSecondLess = bucket.getAggregations().get(NodeRefResSumIndex.THREE_SECOND_LESS); - Sum fiveSecondLess = bucket.getAggregations().get(NodeRefResSumIndex.FIVE_SECOND_LESS); - Sum fiveSecondGreater = bucket.getAggregations().get(NodeRefResSumIndex.FIVE_SECOND_GREATER); - Sum error = bucket.getAggregations().get(NodeRefResSumIndex.ERROR); - Sum summary = bucket.getAggregations().get(NodeRefResSumIndex.SUMMARY); - logger.debug("aggId: %s, oneSecondLess: %s, threeSecondLess: %s, fiveSecondLess: %s, fiveSecondGreater: %s, error: %s, summary: %s", aggId, - oneSecondLess.getValue(), threeSecondLess.getValue(), fiveSecondLess.getValue(), fiveSecondGreater.getValue(), error.getValue(), summary.getValue()); - - JsonObject nodeRefResSumObj = new JsonObject(); - String[] ids = aggId.split(Const.IDS_SPLIT); - String front = ids[0]; - String behind = ids[1]; - - nodeRefResSumObj.addProperty("front", front); - nodeRefResSumObj.addProperty("behind", behind); - - nodeRefResSumObj.addProperty(NodeRefResSumIndex.ONE_SECOND_LESS, oneSecondLess.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.THREE_SECOND_LESS, threeSecondLess.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.FIVE_SECOND_LESS, fiveSecondLess.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.FIVE_SECOND_GREATER, fiveSecondGreater.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.ERROR, error.getValue()); - nodeRefResSumObj.addProperty(NodeRefResSumIndex.SUMMARY, summary.getValue()); - nodeRefResSumArray.add(nodeRefResSumObj); - } - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add("result", nodeRefResSumArray); - } else { - logger.error("unhandled message, message instance must NodeRefResSumSearchWithTimeSlice.RequestEntity, but is %s", request.getClass().toString()); - } - } - - public static class RequestEntity extends TimeSlice { - public RequestEntity(String sliceType, long startTime, long endTime) { - super(sliceType, startTime, endTime); - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public NodeRefResSumSearchWithTimeSlice workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefResSumSearchWithTimeSlice(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefResSumSearchWithTimeSlice.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefSearchWithTimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefSearchWithTimeSlice.java deleted file mode 100644 index 2c803882c..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefSearchWithTimeSlice.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.bucket.terms.Terms; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.TimeSlice; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeRefSearchWithTimeSlice extends AbstractLocalSyncWorker { - - private Logger logger = LogManager.getFormatterLogger(NodeRefSearchWithTimeSlice.class); - - NodeRefSearchWithTimeSlice(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void onWork(Object request, Object response) throws WorkerException { - if (request instanceof RequestEntity) { - RequestEntity search = (RequestEntity)request; - - SearchRequestBuilder searchRequestBuilder = EsClient.INSTANCE.getClient().prepareSearch(NodeRefIndex.INDEX); - searchRequestBuilder.setTypes(search.getSliceType()); - searchRequestBuilder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH); - searchRequestBuilder.setQuery(QueryBuilders.rangeQuery(NodeRefIndex.TIME_SLICE).gte(search.getStartTime()).lte(search.getEndTime())); - searchRequestBuilder.setSize(0); - - searchRequestBuilder.addAggregation(AggregationBuilders.terms(NodeRefIndex.AGG_COLUMN).field(NodeRefIndex.AGG_COLUMN).size(100)); - - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - - Terms genders = searchResponse.getAggregations().get(NodeRefIndex.AGG_COLUMN); - - JsonArray nodeRefArray = new JsonArray(); - for (Terms.Bucket entry : genders.getBuckets()) { - String aggId = entry.getKeyAsString(); - String[] aggIds = aggId.split(Const.IDS_SPLIT); - String front = aggIds[0]; - String behind = aggIds[1]; - - JsonObject nodeRefObj = new JsonObject(); - nodeRefObj.addProperty(NodeRefIndex.FRONT, front); - nodeRefObj.addProperty(NodeRefIndex.BEHIND, behind); - nodeRefArray.add(nodeRefObj); - } - logger.debug("node ref data: %s", nodeRefArray.toString()); - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add("result", nodeRefArray); - } else { - logger.error("unhandled message, message instance must NodeRefSearchWithTimeSlice.RequestEntity, but is %s", request.getClass().toString()); - } - } - - public static class RequestEntity extends TimeSlice { - public RequestEntity(String sliceType, long startTime, long endTime) { - super(sliceType, startTime, endTime); - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public NodeRefSearchWithTimeSlice workerInstance(ClusterWorkerContext clusterContext) { - return new NodeRefSearchWithTimeSlice(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return NodeRefSearchWithTimeSlice.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/register/ApplicationRegisterServiceImpl.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/register/ApplicationRegisterServiceImpl.java deleted file mode 100644 index ec06f7676..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/register/ApplicationRegisterServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.skywalking.apm.collector.worker.register; - -import io.grpc.stub.StreamObserver; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRef; -import org.skywalking.apm.collector.worker.grpcserver.WorkerCaller; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.network.proto.Application; -import org.skywalking.apm.network.proto.ApplicationMapping; -import org.skywalking.apm.network.proto.ApplicationRegisterServiceGrpc; - -/** - * @author pengys5 - */ -public class ApplicationRegisterServiceImpl extends ApplicationRegisterServiceGrpc.ApplicationRegisterServiceImplBase implements WorkerCaller { - - private Logger logger = LogManager.getFormatterLogger(ApplicationRegisterServiceImpl.class); - - private ClusterWorkerContext clusterWorkerContext; - private WorkerRef segmentReceiverWorkRef; - - @Override public void preStart() throws ProviderNotFoundException { - segmentReceiverWorkRef = clusterWorkerContext.findProvider(SegmentReceiver.WorkerRole.INSTANCE).create(AbstractWorker.noOwner()); - - } - - @Override public void inject(ClusterWorkerContext clusterWorkerContext) { - this.clusterWorkerContext = clusterWorkerContext; - } - - @Override public void register(Application request, StreamObserver responseObserver) { - - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentCostIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentCostIndex.java deleted file mode 100644 index 87e879cea..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentCostIndex.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import java.io.IOException; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -/** - * @author pengys5 - */ -public class SegmentCostIndex extends AbstractIndex { - - public static final String INDEX = "segment_cost_idx"; - public static final String SEG_ID = "segId"; - public static final String START_TIME = "startTime"; - public static final String END_TIME = "endTime"; - public static final String GLOBAL_TRACE_ID = "globalTraceId"; - public static final String OPERATION_NAME = "operationName"; - public static final String COST = "cost"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return true; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.SegmentCostIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - return XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(SEG_ID) - .field("type", "keyword") - .endObject() - .startObject(START_TIME) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(END_TIME) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .startObject(GLOBAL_TRACE_ID) - .field("type", "keyword") - .endObject() - .startObject(OPERATION_NAME) - .field("type", "text") - .endObject() - .startObject(COST) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .endObject() - .endObject(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentExceptionIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentExceptionIndex.java deleted file mode 100644 index 9cd9def54..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentExceptionIndex.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class SegmentExceptionIndex extends AbstractIndex { - public static final String INDEX = "segment_exp_idx"; - public static final String SEG_ID = "segId"; - public static final String IS_ERROR = "isError"; - public static final String ERROR_KIND = "errorKind"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return true; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.SegmentExceptionIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(SEG_ID) - .field("type", "keyword") - .endObject() - .startObject(IS_ERROR) - .field("type", "boolean") - .field("index", "not_analyzed") - .endObject() - .startObject(ERROR_KIND) - .field("type", "keyword") - .endObject() - .endObject() - .endObject(); - return mappingBuilder; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentIndex.java deleted file mode 100644 index f2917da81..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentIndex.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import java.io.IOException; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.skywalking.apm.collector.worker.config.EsConfig; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; - -/** - * @author pengys5 - */ -public class SegmentIndex extends AbstractIndex { - - public static final String INDEX = "segment_idx"; - public static final String TRACE_SEGMENT_ID = "traceSegmentId"; - public static final String SEGMENT_OBJ_BLOB = "segmentObjBlob"; - - @Override - public String index() { - return INDEX; - } - - @Override - public boolean isRecord() { - return true; - } - - @Override - public int refreshInterval() { - return EsConfig.Es.Index.RefreshInterval.SegmentIndex.VALUE; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - return XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(TRACE_SEGMENT_ID) - .field("type", "keyword") - .endObject() - .startObject(TYPE_MINUTE) - .field("type", "long") - .endObject() - .startObject(TYPE_HOUR) - .field("type", "long") - .endObject() - .startObject(TYPE_DAY) - .field("type", "long") - .endObject() - .startObject(SEGMENT_OBJ_BLOB) - .field("type", "binary") - .endObject() - .endObject() - .endObject(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentReceiver.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentReceiver.java deleted file mode 100644 index d1199de08..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentReceiver.java +++ /dev/null @@ -1,200 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import com.google.protobuf.ByteString; -import com.google.protobuf.InvalidProtocolBufferException; -import java.util.List; -import org.apache.commons.codec.binary.Base64; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.globaltrace.analysis.GlobalTraceAnalysis; -import org.skywalking.apm.collector.worker.grpcserver.AbstractReceiver; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.node.analysis.NodeCompAnalysis; -import org.skywalking.apm.collector.worker.node.analysis.NodeMappingDayAnalysis; -import org.skywalking.apm.collector.worker.node.analysis.NodeMappingHourAnalysis; -import org.skywalking.apm.collector.worker.node.analysis.NodeMappingMinuteAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefDayAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefHourAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefMinuteAnalysis; -import org.skywalking.apm.collector.worker.segment.analysis.SegmentAnalysis; -import org.skywalking.apm.collector.worker.segment.analysis.SegmentCostAnalysis; -import org.skywalking.apm.collector.worker.segment.analysis.SegmentExceptionAnalysis; -import org.skywalking.apm.collector.worker.segment.entity.SegmentAndBase64; -import org.skywalking.apm.collector.worker.storage.AbstractTimeSlice; -import org.skywalking.apm.collector.worker.tools.DateTools; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.network.proto.UpstreamSegment; -import org.skywalking.apm.util.StringUtil; - -/** - * @author pengys5 - */ -public class SegmentReceiver extends AbstractReceiver { - private static final Logger logger = LogManager.getFormatterLogger(SegmentReceiver.class); - - public SegmentReceiver(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(GlobalTraceAnalysis.Role.INSTANCE).create(this); - - getClusterContext().findProvider(SegmentAnalysis.Role.INSTANCE).create(this); - getClusterContext().findProvider(SegmentCostAnalysis.Role.INSTANCE).create(this); - getClusterContext().findProvider(SegmentExceptionAnalysis.Role.INSTANCE).create(this); - - getClusterContext().findProvider(NodeRefMinuteAnalysis.Role.INSTANCE).create(this); - getClusterContext().findProvider(NodeRefHourAnalysis.Role.INSTANCE).create(this); - getClusterContext().findProvider(NodeRefDayAnalysis.Role.INSTANCE).create(this); - - getClusterContext().findProvider(NodeCompAnalysis.Role.INSTANCE).create(this); - - getClusterContext().findProvider(NodeMappingDayAnalysis.Role.INSTANCE).create(this); - getClusterContext().findProvider(NodeMappingHourAnalysis.Role.INSTANCE).create(this); - getClusterContext().findProvider(NodeMappingMinuteAnalysis.Role.INSTANCE).create(this); - } - - /** - * Read segment's buffer from buffer reader by stream mode. when finish read one segment then send to analysis. - * This method in there, so post servlet just can receive segments data. - */ - @Override protected void onReceive( - Object request) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - if (request instanceof UpstreamSegment) { - UpstreamSegment upstreamSegment = (UpstreamSegment)request; - ByteString segmentByte = upstreamSegment.getSegment(); - List globalTraceIds = upstreamSegment.getGlobalTraceIdsList(); - - String segmentBase64 = new String(Base64.encodeBase64(segmentByte.toByteArray())); - - TraceSegmentObject segment; - try { - segment = TraceSegmentObject.parseFrom(segmentByte); - } catch (InvalidProtocolBufferException e) { - throw new ArgumentsParseException(e.getMessage(), e); - } - tellWorkers(new SegmentAndBase64(segment, segmentBase64), globalTraceIds); - } - } - - private void tellWorkers( - SegmentAndBase64 segmentAndBase64, - List globalTraceIds) throws WorkerNotFoundException, WorkerInvokeException { - TraceSegmentObject segment = segmentAndBase64.getObject(); - try { - validateData(segment); - } catch (ArgumentsParseException e) { - logger.error(e.getMessage(), e); - return; - } - - logger.debug("receive message instanceof TraceSegment, traceSegmentId is %s", segment.getTraceSegmentId()); - SpanObject firstSpan = segment.getSpans(segment.getSpansCount() - 1); - - long minuteSlice = DateTools.getMinuteSlice(firstSpan.getStartTime()); - long hourSlice = DateTools.getHourSlice(firstSpan.getStartTime()); - long daySlice = DateTools.getDaySlice(firstSpan.getStartTime()); - int second = DateTools.getSecond(firstSpan.getStartTime()); - logger.debug("minuteSlice: %s, hourSlice: %s, daySlice: %s, second:%s", minuteSlice, hourSlice, daySlice, second); - - SegmentWithTimeSlice segmentWithTimeSlice = new SegmentWithTimeSlice(segment, globalTraceIds, minuteSlice, hourSlice, daySlice, second); - getSelfContext().lookup(SegmentAnalysis.Role.INSTANCE).tell(segmentAndBase64); - - getSelfContext().lookup(SegmentCostAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - getSelfContext().lookup(GlobalTraceAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - getSelfContext().lookup(SegmentExceptionAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - - getSelfContext().lookup(NodeCompAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - - tellNodeRef(segmentWithTimeSlice); - tellNodeMapping(segmentWithTimeSlice); - } - - private void tellNodeRef( - SegmentWithTimeSlice segmentWithTimeSlice) throws WorkerNotFoundException, WorkerInvokeException { - getSelfContext().lookup(NodeRefMinuteAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - getSelfContext().lookup(NodeRefHourAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - getSelfContext().lookup(NodeRefDayAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - } - - private void tellNodeMapping( - SegmentWithTimeSlice segmentWithTimeSlice) throws WorkerNotFoundException, WorkerInvokeException { - getSelfContext().lookup(NodeMappingMinuteAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - getSelfContext().lookup(NodeMappingHourAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - getSelfContext().lookup(NodeMappingDayAnalysis.Role.INSTANCE).tell(segmentWithTimeSlice); - } - - private void validateData(TraceSegmentObject segment) throws ArgumentsParseException { - if (StringUtil.isEmpty(segment.getTraceSegmentId())) { - throw new ArgumentsParseException("traceSegmentId required"); - } - if (segment.getSpansCount() < 1) { - throw new ArgumentsParseException("must contain at least one span"); - } - SpanObject firstSpan = segment.getSpans(segment.getSpansCount() - 1); - if (firstSpan.getSpanId() != 0 && firstSpan.getParentSpanId() != -1) { - throw new ArgumentsParseException("first span id must equals 0 and parent span id must equals -1"); - } - if (0 == firstSpan.getStartTime()) { - throw new ArgumentsParseException("startTime required"); - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public SegmentReceiver workerInstance(ClusterWorkerContext clusterContext) { - return new SegmentReceiver(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentReceiver.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } - - public static class SegmentWithTimeSlice extends AbstractTimeSlice { - private final TraceSegmentObject segment; - - private final List globalTraceIds; - - public SegmentWithTimeSlice(TraceSegmentObject segment, List globalTraceIds, long minute, long hour, - long day, int second) { - super(minute, hour, day, second); - this.segment = segment; - this.globalTraceIds = globalTraceIds; - } - - public TraceSegmentObject getSegment() { - return segment; - } - - public List getGlobalTraceIds() { - return globalTraceIds; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentTopGet.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentTopGet.java deleted file mode 100644 index 9896b59c6..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/SegmentTopGet.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Arrays; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.httpserver.AbstractGet; -import org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentTopSearch; -import org.skywalking.apm.collector.worker.tools.ParameterTools; - -/** - * @author pengys5 - */ -public class SegmentTopGet extends AbstractGet { - - private Logger logger = LogManager.getFormatterLogger(SegmentTopGet.class); - - SegmentTopGet(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(SegmentTopSearch.WorkerRole.INSTANCE).create(this); - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - if (!parameter.containsKey("startTime") || !parameter.containsKey("endTime") || !parameter.containsKey("from") || !parameter.containsKey("limit")) { - throw new ArgumentsParseException("the request parameter must contains startTime, endTime, from, limit"); - } - - if (logger.isDebugEnabled()) { - logger.debug("startTime: %s, endTime: %s, from: %s", Arrays.toString(parameter.get("startTime")), - Arrays.toString(parameter.get("endTime")), Arrays.toString(parameter.get("from"))); - } - - long startTime; - try { - startTime = Long.valueOf(ParameterTools.INSTANCE.toString(parameter, "startTime")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter startTime must be a long"); - } - - long endTime; - try { - endTime = Long.valueOf(ParameterTools.INSTANCE.toString(parameter, "endTime")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter endTime must be a long"); - } - - int from; - try { - from = Integer.valueOf(ParameterTools.INSTANCE.toString(parameter, "from")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter from must be an integer"); - } - - int limit; - try { - limit = Integer.valueOf(ParameterTools.INSTANCE.toString(parameter, "limit")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter from must be an integer"); - } - - int minCost = -1; - if (parameter.containsKey("minCost")) { - minCost = Integer.valueOf(ParameterTools.INSTANCE.toString(parameter, "minCost")); - } - int maxCost = -1; - if (parameter.containsKey("maxCost")) { - maxCost = Integer.valueOf(ParameterTools.INSTANCE.toString(parameter, "maxCost")); - } - - String globalTraceId = null; - if (parameter.containsKey("globalTraceId")) { - globalTraceId = ParameterTools.INSTANCE.toString(parameter, "globalTraceId"); - } - - String operationName = null; - if (parameter.containsKey("operationName")) { - operationName = ParameterTools.INSTANCE.toString(parameter, "operationName"); - } - - SegmentTopSearch.RequestEntity requestEntity; - requestEntity = new SegmentTopSearch.RequestEntity(from, limit, startTime, endTime, globalTraceId, operationName); - requestEntity.setMinCost(minCost); - requestEntity.setMaxCost(maxCost); - getSelfContext().lookup(SegmentTopSearch.WorkerRole.INSTANCE).ask(requestEntity, response); - } - - public static class Factory extends AbstractGetProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public SegmentTopGet workerInstance(ClusterWorkerContext clusterContext) { - return new SegmentTopGet(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public String servletPath() { - return "/segments/top"; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentTopGet.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentAnalysis.java deleted file mode 100644 index ffc568d04..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentAnalysis.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.analysis; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordAnalysisMember; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.segment.entity.SegmentAndBase64; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentSave; - -/** - * @author pengys5 - */ -public class SegmentAnalysis extends RecordAnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(SegmentAnalysis.class); - - SegmentAnalysis(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(SegmentSave.Role.INSTANCE).create(this); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentAndBase64) { - SegmentAndBase64 segmentAndBase64 = (SegmentAndBase64)message; - - try { - getSelfContext().lookup(SegmentSave.Role.INSTANCE).tell(segmentAndBase64); - } catch (WorkerInvokeException | WorkerNotFoundException e) { - e.printStackTrace(); - logger.error(e.getMessage(), e); - } - } else { - logger.error("unhandled message, message instance must Segment, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return SegmentAnalysis.Role.INSTANCE; - } - - @Override - public SegmentAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new SegmentAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.Segment.SegmentAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentCostAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentCostAnalysis.java deleted file mode 100644 index 72161f8a2..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentCostAnalysis.java +++ /dev/null @@ -1,115 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.analysis; - -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordAnalysisMember; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.segment.SegmentCostIndex; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentCostSave; -import org.skywalking.apm.collector.worker.tools.CollectionTools; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class SegmentCostAnalysis extends RecordAnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(SegmentCostAnalysis.class); - - SegmentCostAnalysis(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(SegmentCostSave.Role.INSTANCE).create(this); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - - if (CollectionTools.isNotEmpty(segment.getSpansList())) { - for (SpanObject span : segment.getSpansList()) { - if (span.getParentSpanId() == -1) { - for (String globalTraceId : segmentWithTimeSlice.getGlobalTraceIds()) { - segment.getGlobalTraceIdsList(); - JsonObject dataJsonObj = new JsonObject(); - dataJsonObj.addProperty(SegmentCostIndex.SEG_ID, segment.getTraceSegmentId()); - dataJsonObj.addProperty(SegmentCostIndex.START_TIME, span.getStartTime()); - dataJsonObj.addProperty(SegmentCostIndex.END_TIME, span.getEndTime()); - dataJsonObj.addProperty(SegmentCostIndex.GLOBAL_TRACE_ID, globalTraceId); - dataJsonObj.addProperty(SegmentCostIndex.OPERATION_NAME, span.getOperationName()); - dataJsonObj.addProperty(SegmentCostIndex.TIME_SLICE, segmentWithTimeSlice.getMinute()); - - long startTime = span.getStartTime(); - long endTime = span.getEndTime(); - long cost = endTime - startTime; - if (cost == 0) { - cost = 1; - } - dataJsonObj.addProperty(SegmentCostIndex.COST, cost); - set(segment.getTraceSegmentId(), dataJsonObj); - } - } - } - } - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getSelfContext().lookup(SegmentCostSave.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", SegmentCostSave.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return SegmentCostAnalysis.Role.INSTANCE; - } - - @Override - public SegmentCostAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new SegmentCostAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.Segment.SegmentCostAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentCostAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentExceptionAnalysis.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentExceptionAnalysis.java deleted file mode 100644 index 09df42fdd..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentExceptionAnalysis.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.analysis; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.AbstractLocalAsyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordAnalysisMember; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.segment.SegmentExceptionIndex; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentExceptionSave; -import org.skywalking.apm.collector.worker.tools.CollectionTools; -import org.skywalking.apm.network.proto.LogMessage; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class SegmentExceptionAnalysis extends RecordAnalysisMember { - - private Logger logger = LogManager.getFormatterLogger(SegmentExceptionAnalysis.class); - - SegmentExceptionAnalysis(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(SegmentExceptionSave.Role.INSTANCE).create(this); - } - - @Override - public void analyse(Object message) { - if (message instanceof SegmentReceiver.SegmentWithTimeSlice) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)message; - TraceSegmentObject segment = segmentWithTimeSlice.getSegment(); - - if (CollectionTools.isNotEmpty(segment.getSpansList())) { - for (SpanObject span : segment.getSpansList()) { - boolean isError = span.getIsError(); - - JsonObject dataJsonObj = new JsonObject(); - dataJsonObj.addProperty(SegmentExceptionIndex.IS_ERROR, isError); - dataJsonObj.addProperty(SegmentExceptionIndex.SEG_ID, segment.getTraceSegmentId()); - - JsonArray errorKind = new JsonArray(); - if (isError) { - List logMessages = span.getLogsList(); - for (LogMessage logMessage : logMessages) { -// if (logMessage.getFields().containsKey("error.kind")) { -// errorKind.add(String.valueOf(logData.getFields().get("error.kind"))); -// } - } - } - dataJsonObj.add(SegmentExceptionIndex.ERROR_KIND, errorKind); - set(segment.getTraceSegmentId(), dataJsonObj); - } - } - } else { - logger.error("unhandled message, message instance must SegmentReceiver.SegmentWithTimeSlice, but is %s", message.getClass().toString()); - } - } - - @Override - protected WorkerRefs aggWorkRefs() { - try { - return getSelfContext().lookup(SegmentExceptionSave.Role.INSTANCE); - } catch (WorkerNotFoundException e) { - logger.error("The role of %s worker not found", SegmentExceptionSave.Role.INSTANCE.roleName()); - } - return null; - } - - public static class Factory extends AbstractLocalAsyncWorkerProvider { - @Override - public Role role() { - return SegmentExceptionAnalysis.Role.INSTANCE; - } - - @Override - public SegmentExceptionAnalysis workerInstance(ClusterWorkerContext clusterContext) { - return new SegmentExceptionAnalysis(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public int queueSize() { - return WorkerConfig.Queue.Segment.SegmentExceptionAnalysis.SIZE; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentExceptionAnalysis.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentAndBase64.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentAndBase64.java deleted file mode 100644 index 38e4ac7b4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentAndBase64.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.entity; - -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class SegmentAndBase64 { - - private final TraceSegmentObject object; - private final String base64; - - public SegmentAndBase64(TraceSegmentObject object, String base64) { - this.object = object; - this.base64 = base64; - } - - public TraceSegmentObject getObject() { - return object; - } - - public String getBase64() { - return base64; - } - - public String getSegmentJsonStr() { - JsonObject segmentJson = new JsonObject(); - segmentJson.addProperty(SegmentIndex.TRACE_SEGMENT_ID, object.getTraceSegmentId()); - segmentJson.addProperty(SegmentIndex.SEGMENT_OBJ_BLOB, base64); - return segmentJson.toString(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserialize.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserialize.java deleted file mode 100644 index b9c64f05b..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserialize.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.entity; - -import com.sun.org.apache.xml.internal.security.utils.Base64; -import java.io.IOException; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * The SegmentDeserialize provides single segment json string deserialize and segment array file - * deserialize. - * - * @author pengys5 - * @since v3.0-2017 - */ -public enum SegmentDeserialize { - INSTANCE; - - private final Logger logger = LogManager.getFormatterLogger(SegmentDeserialize.class); - - /** - * Segment object binary value as a base64 encoded string deserialize. - * - * @param segmentObjBlob , to be a binary value as a base64 encoded string - * @return an {@link TraceSegmentObject} - */ - public TraceSegmentObject deserializeSingle(String segmentObjBlob) { - try { - byte[] decode = Base64.decode(segmentObjBlob); - return TraceSegmentObject.parseFrom(decode); - } catch (Exception e) { - logger.error(e.getMessage(), e); - } - return null; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SpanView.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SpanView.java deleted file mode 100644 index 0d7f965ad..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/entity/SpanView.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.entity; - -import java.util.HashSet; -import java.util.Set; - -/** - * @author pengys5 - */ -public class SpanView implements Comparable { - - private int spanId; - private String segId; - private String appCode; - private String spanSegId; - private String parentSpanSegId; - private long startTime; - private long relativeStartTime; - private long cost; - private String operationName; - private Set childSpans; - - public SpanView() { - childSpans = new HashSet<>(); - } - - public int getSpanId() { - return spanId; - } - - public void setSpanId(int spanId) { - this.spanId = spanId; - } - - public String getSegId() { - return segId; - } - - public void setSegId(String segId) { - this.segId = segId; - } - - public String getAppCode() { - return appCode; - } - - public void setAppCode(String appCode) { - this.appCode = appCode; - } - - public String getSpanSegId() { - return spanSegId; - } - - public void setSpanSegId(String spanSegId) { - this.spanSegId = spanSegId; - } - - public String getParentSpanSegId() { - return parentSpanSegId; - } - - public long getStartTime() { - return startTime; - } - - public void setStartTime(long startTime) { - this.startTime = startTime; - } - - public void setParentSpanSegId(String parentSpanSegId) { - this.parentSpanSegId = parentSpanSegId; - } - - public long getRelativeStartTime() { - return relativeStartTime; - } - - public void setRelativeStartTime(long relativeStartTime) { - this.relativeStartTime = relativeStartTime; - } - - public long getCost() { - return cost; - } - - public void setCost(long cost) { - this.cost = cost; - } - - public String getOperationName() { - return operationName; - } - - public void setOperationName(String operationName) { - this.operationName = operationName; - } - - public void addChild(SpanView childSpan) { - childSpans.add(childSpan); - } - - @Override - public int compareTo(SpanView o) { - return Long.valueOf(this.startTime - o.getStartTime()).intValue(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentCostSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentCostSave.java deleted file mode 100644 index d39845d5f..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentCostSave.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.segment.SegmentCostIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class SegmentCostSave extends RecordPersistenceMember { - @Override - public String esIndex() { - return SegmentCostIndex.INDEX; - } - - @Override - public String esType() { - return SegmentCostIndex.TYPE_RECORD; - } - - protected SegmentCostSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public SegmentCostSave workerInstance(ClusterWorkerContext clusterContext) { - SegmentCostSave worker = new SegmentCostSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentCostSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionSave.java deleted file mode 100644 index 3b6887d44..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionSave.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.RecordPersistenceMember; -import org.skywalking.apm.collector.worker.segment.SegmentExceptionIndex; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; - -/** - * @author pengys5 - */ -public class SegmentExceptionSave extends RecordPersistenceMember { - @Override - public String esIndex() { - return SegmentExceptionIndex.INDEX; - } - - @Override - public String esType() { - return AbstractIndex.TYPE_RECORD; - } - - protected SegmentExceptionSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public SegmentExceptionSave workerInstance(ClusterWorkerContext clusterContext) { - SegmentExceptionSave worker = new SegmentExceptionSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentExceptionSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionWithSegId.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionWithSegId.java deleted file mode 100644 index 4dacc6b03..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionWithSegId.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import com.google.gson.JsonObject; -import org.elasticsearch.action.get.GetResponse; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.segment.SegmentExceptionIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class SegmentExceptionWithSegId extends AbstractLocalSyncWorker { - - private SegmentExceptionWithSegId(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - protected void onWork(Object request, Object response) throws WorkerException { - if (request instanceof RequestEntity) { - RequestEntity search = (RequestEntity)request; - - GetResponse getResponse = EsClient.INSTANCE.getClient().prepareGet(SegmentExceptionIndex.INDEX, SegmentExceptionIndex.TYPE_RECORD, search.segId).get(); - - JsonObject dataJson = new JsonObject(); - dataJson.addProperty(SegmentExceptionIndex.SEG_ID, (String)getResponse.getSource().get(SegmentExceptionIndex.SEG_ID)); - dataJson.addProperty(SegmentExceptionIndex.IS_ERROR, (Boolean)getResponse.getSource().get(SegmentExceptionIndex.IS_ERROR)); - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add("result", dataJson); - } - } - - public static class RequestEntity { - private String segId; - - public RequestEntity(String segId) { - this.segId = segId; - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public SegmentExceptionWithSegId workerInstance(ClusterWorkerContext clusterContext) { - return new SegmentExceptionWithSegId(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentExceptionWithSegId.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentSave.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentSave.java deleted file mode 100644 index a74072fed..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentSave.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import com.google.gson.JsonObject; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.client.Client; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.PersistenceMember; -import org.skywalking.apm.collector.worker.config.CacheSizeConfig; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.segment.entity.SegmentAndBase64; -import org.skywalking.apm.collector.worker.storage.AbstractIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.PersistenceWorkerListener; -import org.skywalking.apm.collector.worker.storage.SegmentData; -import org.skywalking.apm.collector.worker.storage.SegmentPersistenceData; - -/** - * @author pengys5 - */ -public class SegmentSave extends PersistenceMember { - - @Override - public String esIndex() { - return SegmentIndex.INDEX; - } - - @Override - public String esType() { - return AbstractIndex.TYPE_RECORD; - } - - public SegmentSave(org.skywalking.apm.collector.actor.Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public SegmentPersistenceData initializeData() { - return new SegmentPersistenceData(); - } - - @Override final public void analyse(Object message) { - if (message instanceof SegmentAndBase64) { - SegmentAndBase64 segmentAndBase64 = (SegmentAndBase64)message; - SegmentPersistenceData data = getPersistenceData(); - data.hold(); - data.getOrCreate(segmentAndBase64.getObject().getTraceSegmentId()).setSegmentStr(segmentAndBase64.getSegmentJsonStr()); - if (data.size() >= CacheSizeConfig.Cache.Persistence.SIZE) { - persistence(data.asMap()); - } - data.release(); - } else { - logger().error("unhandled message, message instance must Segment, but is %s", message.getClass().toString()); - } - } - - private void persistence(Map dataMap) { - List builderList = new LinkedList<>(); - Client client = EsClient.INSTANCE.getClient(); - dataMap.forEach((key, value) -> { - IndexRequestBuilder builder = client.prepareIndex(esIndex(), esType(), key).setSource(value.getSegmentStr()); - builderList.add(builder); - }); - EsClient.INSTANCE.bulk(builderList); - dataMap.clear(); - } - - @Override final protected void prepareIndex(List builderList) { - Map lastData = getPersistenceData().getLast().asMap(); - - Client client = EsClient.INSTANCE.getClient(); - lastData.forEach((key, value) -> { - IndexRequestBuilder builder = client.prepareIndex(esIndex(), esType(), key).setSource(value.getSegmentStr()); - builderList.add(builder); - }); - lastData.clear(); - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return Role.INSTANCE; - } - - @Override - public SegmentSave workerInstance(ClusterWorkerContext clusterContext) { - SegmentSave worker = new SegmentSave(role(), clusterContext, new LocalWorkerContext()); - PersistenceWorkerListener.INSTANCE.register(worker); - return worker; - } - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentSave.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentTopSearch.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentTopSearch.java deleted file mode 100644 index 00d1631a3..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentTopSearch.java +++ /dev/null @@ -1,217 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.util.List; -import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.action.search.SearchType; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.index.query.RangeQueryBuilder; -import org.elasticsearch.search.SearchHit; -import org.elasticsearch.search.sort.SortOrder; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.segment.SegmentCostIndex; -import org.skywalking.apm.collector.worker.segment.SegmentExceptionIndex; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.segment.entity.SegmentDeserialize; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.tools.CollectionTools; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.util.StringUtil; - -/** - * @author pengys5 - */ -public class SegmentTopSearch extends AbstractLocalSyncWorker { - - private SegmentTopSearch(Role role, ClusterWorkerContext clusterContext, - LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(SegmentExceptionWithSegId.WorkerRole.INSTANCE).create(this); - } - - @Override - protected void onWork(Object request, Object response) throws WorkerException { - if (request instanceof RequestEntity) { - RequestEntity search = (RequestEntity)request; - - SearchRequestBuilder searchRequestBuilder = EsClient.INSTANCE.getClient().prepareSearch(SegmentCostIndex.INDEX); - searchRequestBuilder.setTypes(SegmentCostIndex.TYPE_RECORD); - searchRequestBuilder.setSearchType(SearchType.DFS_QUERY_THEN_FETCH); - BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); - searchRequestBuilder.setQuery(boolQueryBuilder); - List mustQueryList = boolQueryBuilder.must(); - - mustQueryList.add(QueryBuilders.rangeQuery(SegmentCostIndex.TIME_SLICE).gte(search.startTime).lte(search.endTime)); - if (search.minCost != -1 || search.maxCost != -1) { - RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(SegmentCostIndex.COST); - if (search.minCost != -1) { - rangeQueryBuilder.gte(search.minCost); - } - if (search.maxCost != -1) { - rangeQueryBuilder.lte(search.maxCost); - } - boolQueryBuilder.must().add(rangeQueryBuilder); - } - if (!StringUtil.isEmpty(search.operationName)) { - mustQueryList.add(QueryBuilders.matchQuery(SegmentCostIndex.OPERATION_NAME, search.operationName)); - } - if (!StringUtil.isEmpty(search.globalTraceId)) { - mustQueryList.add(QueryBuilders.matchQuery(SegmentCostIndex.GLOBAL_TRACE_ID, search.globalTraceId)); - } - - searchRequestBuilder.addSort(SegmentCostIndex.COST, SortOrder.DESC); - searchRequestBuilder.setSize(search.limit); - searchRequestBuilder.setFrom(search.from); - - SearchResponse searchResponse = searchRequestBuilder.execute().actionGet(); - - JsonObject topSegPaging = new JsonObject(); - topSegPaging.addProperty("recordsTotal", searchResponse.getHits().totalHits()); - - JsonArray topSegArray = new JsonArray(); - topSegPaging.add("data", topSegArray); - - int num = search.from; - for (SearchHit searchHit : searchResponse.getHits().getHits()) { - JsonObject topSegmentJson = new JsonObject(); - topSegmentJson.addProperty("num", num); - String segId = (String)searchHit.getSource().get(SegmentCostIndex.SEG_ID); - topSegmentJson.addProperty(SegmentCostIndex.SEG_ID, segId); - topSegmentJson.addProperty(SegmentCostIndex.START_TIME, (Number)searchHit.getSource().get(SegmentCostIndex.START_TIME)); - if (searchHit.getSource().containsKey(SegmentCostIndex.END_TIME)) { - topSegmentJson.addProperty(SegmentCostIndex.END_TIME, (Number)searchHit.getSource().get(SegmentCostIndex.END_TIME)); - } - - topSegmentJson.addProperty(SegmentCostIndex.OPERATION_NAME, (String)searchHit.getSource().get(SegmentCostIndex.OPERATION_NAME)); - topSegmentJson.addProperty(SegmentCostIndex.COST, (Number)searchHit.getSource().get(SegmentCostIndex.COST)); - - GetResponse getResponse = EsClient.INSTANCE.getClient().prepareGet(SegmentIndex.INDEX, SegmentIndex.TYPE_RECORD, segId).get(); - String segmentObjBlob = (String)getResponse.getSource().get(SegmentIndex.SEGMENT_OBJ_BLOB); - - TraceSegmentObject segment = SegmentDeserialize.INSTANCE.deserializeSingle(segmentObjBlob); - List distributedTraceIdList = segment.getGlobalTraceIdsList(); - - JsonArray distributedTraceIdArray = new JsonArray(); - if (CollectionTools.isNotEmpty(distributedTraceIdList)) { - for (String distributedTraceId : distributedTraceIdList) { - distributedTraceIdArray.add(distributedTraceId); - } - } - topSegmentJson.add("traceIds", distributedTraceIdArray); - - boolean isError = false; - JsonObject resJsonObj = new JsonObject(); - getSelfContext().lookup(SegmentExceptionWithSegId.WorkerRole.INSTANCE).ask(new SegmentExceptionWithSegId.RequestEntity(segId), resJsonObj); - if (resJsonObj.has("result")) { - JsonObject segExJson = resJsonObj.get("result").getAsJsonObject(); - if (segExJson.has(SegmentExceptionIndex.IS_ERROR)) { - isError = segExJson.get(SegmentExceptionIndex.IS_ERROR).getAsBoolean(); - } - } - topSegmentJson.addProperty(SegmentExceptionIndex.IS_ERROR, isError); - - num++; - topSegArray.add(topSegmentJson); - } - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add("result", topSegPaging); - } - } - - public static class RequestEntity { - private int from; - private int limit; - private long startTime; - private long endTime; - private int minCost; - private int maxCost; - private String globalTraceId; - private String operationName; - - public RequestEntity(int from, int limit, long startTime, long endTime, String globalTraceId, - String operationName) { - this.from = from; - this.limit = limit; - this.startTime = startTime; - this.endTime = endTime; - this.globalTraceId = globalTraceId; - this.operationName = operationName; - } - - public void setMinCost(int minCost) { - this.minCost = minCost; - } - - public void setMaxCost(int maxCost) { - this.maxCost = maxCost; - } - - public int getFrom() { - return from; - } - - public int getLimit() { - return limit; - } - - public long getStartTime() { - return startTime; - } - - public long getEndTime() { - return endTime; - } - - public int getMinCost() { - return minCost; - } - - public int getMaxCost() { - return maxCost; - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public SegmentTopSearch workerInstance(ClusterWorkerContext clusterContext) { - return new SegmentTopSearch(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return SegmentTopSearch.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/span/SpanGetWithId.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/span/SpanGetWithId.java deleted file mode 100644 index 0e41c43b4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/span/SpanGetWithId.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.skywalking.apm.collector.worker.span; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Arrays; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.httpserver.AbstractGet; -import org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.span.persistence.SpanSearchWithId; -import org.skywalking.apm.collector.worker.tools.ParameterTools; - -/** - * @author pengys5 - */ -public class SpanGetWithId extends AbstractGet { - - private Logger logger = LogManager.getFormatterLogger(SpanGetWithId.class); - - SpanGetWithId(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(SpanSearchWithId.WorkerRole.INSTANCE).create(this); - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - if (!parameter.containsKey("segId") || !parameter.containsKey("spanId")) { - throw new ArgumentsParseException("the request parameter must contains segId, spanId"); - } - - if (logger.isDebugEnabled()) { - logger.debug("segId: %s, spanId: %s", Arrays.toString(parameter.get("segId")), Arrays.toString(parameter.get("spanId"))); - } - - String segId = ParameterTools.INSTANCE.toString(parameter, "segId"); - String spanId = ParameterTools.INSTANCE.toString(parameter, "spanId"); - - SpanSearchWithId.RequestEntity requestEntity = new SpanSearchWithId.RequestEntity(segId, spanId); - getSelfContext().lookup(SpanSearchWithId.WorkerRole.INSTANCE).ask(requestEntity, response); - } - - public static class Factory extends AbstractGetProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public SpanGetWithId workerInstance(ClusterWorkerContext clusterContext) { - return new SpanGetWithId(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public String servletPath() { - return "/span/spanId"; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return SpanGetWithId.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithId.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithId.java deleted file mode 100644 index d62ab7907..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithId.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.skywalking.apm.collector.worker.span.persistence; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import java.util.List; -import org.elasticsearch.action.get.GetResponse; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorkerProvider; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.segment.entity.SegmentDeserialize; -import org.skywalking.apm.collector.worker.storage.GetResponseFromEs; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public class SpanSearchWithId extends AbstractLocalSyncWorker { - - private Gson gson = new Gson(); - - SpanSearchWithId(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - protected void onWork(Object request, Object response) throws WorkerException { - if (request instanceof RequestEntity) { - RequestEntity search = (RequestEntity)request; - GetResponse getResponse = GetResponseFromEs.INSTANCE.get(SegmentIndex.INDEX, SegmentIndex.TYPE_RECORD, search.segId); - String segmentObjBlob = (String)getResponse.getSource().get(SegmentIndex.SEGMENT_OBJ_BLOB); - - TraceSegmentObject segment = SegmentDeserialize.INSTANCE.deserializeSingle(segmentObjBlob); - List spanList = segment.getSpansList(); - - getResponse.getSource(); - JsonObject dataJson = new JsonObject(); - - for (SpanObject span : spanList) { - if (String.valueOf(span.getSpanId()).equals(search.spanId)) { - String spanJsonStr = gson.toJson(span); - dataJson = gson.fromJson(spanJsonStr, JsonObject.class); - } - } - - JsonObject resJsonObj = (JsonObject)response; - resJsonObj.add(Const.RESULT, dataJson); - } - } - - public static class RequestEntity { - private String segId; - private String spanId; - - public RequestEntity(String segId, String spanId) { - this.segId = segId; - this.spanId = spanId; - } - - public String getSegId() { - return segId; - } - - public String getSpanId() { - return spanId; - } - } - - public static class Factory extends AbstractLocalSyncWorkerProvider { - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public SpanSearchWithId workerInstance(ClusterWorkerContext clusterContext) { - return new SpanSearchWithId(role(), clusterContext, new LocalWorkerContext()); - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return SpanSearchWithId.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/AbstractIndex.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/AbstractIndex.java deleted file mode 100644 index 6e2eba69f..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/AbstractIndex.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.admin.indices.create.CreateIndexResponse; -import org.elasticsearch.action.admin.indices.delete.DeleteIndexResponse; -import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse; -import org.elasticsearch.action.admin.indices.mapping.put.PutMappingResponse; -import org.elasticsearch.client.IndicesAdminClient; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.elasticsearch.index.IndexNotFoundException; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public abstract class AbstractIndex { - private static final Logger logger = LogManager.getFormatterLogger(AbstractIndex.class); - - public static final String TYPE_MINUTE = "minute"; - public static final String TYPE_HOUR = "hour"; - public static final String TYPE_DAY = "day"; - public static final String TYPE_RECORD = "record"; - public static final String AGG_COLUMN = "aggId"; - public static final String TIME_SLICE = "timeSlice"; - - final XContentBuilder createSettingBuilder() throws IOException { - return XContentFactory.jsonBuilder() - .startObject() - .field("index.number_of_shards", EsConfig.Es.Index.Shards.NUMBER) - .field("index.number_of_replicas", EsConfig.Es.Index.Replicas.NUMBER) - .field("index.refresh_interval", String.valueOf(refreshInterval()) + "s") - .endObject(); - } - - public abstract int refreshInterval(); - - public abstract boolean isRecord(); - - public abstract XContentBuilder createMappingBuilder() throws IOException; - - final void createIndex() { - // settings - String settingSource = ""; - - // mapping - XContentBuilder mappingBuilder = null; - try { - XContentBuilder settingsBuilder = createSettingBuilder(); - - settingSource = settingsBuilder.string(); - - mappingBuilder = createMappingBuilder(); - logger.info("mapping builder str: %s", mappingBuilder.string()); - } catch (Exception e) { - logger.error("create %s index mapping builder error", index()); - } - Settings settings = Settings.builder().loadFromSource(settingSource).build(); - IndicesAdminClient client = EsClient.INSTANCE.getClient().admin().indices(); - - if (isRecord()) { - CreateIndexResponse response = client.prepareCreate(index()).setSettings(settings).addMapping(TYPE_RECORD, mappingBuilder).get(); - logger.info("create %s index with type of %s finished, isAcknowledged: %s", index(), TYPE_RECORD, response.isAcknowledged()); - } else { - CreateIndexResponse response = client.prepareCreate(index()).setSettings(settings).addMapping(TYPE_MINUTE, mappingBuilder).get(); - logger.info("create %s index with type of %s finished, isAcknowledged: %s", index(), TYPE_MINUTE, response.isAcknowledged()); - PutMappingResponse putMappingResponse = client.preparePutMapping(index()).setType(TYPE_HOUR).setSource(mappingBuilder).get(); - logger.info("create %s index with type of %s finished, isAcknowledged: %s", index(), TYPE_HOUR, putMappingResponse.isAcknowledged()); - putMappingResponse = client.preparePutMapping(index()).setType(TYPE_DAY).setSource(mappingBuilder).get(); - logger.info("create %s index with type of %s finished, isAcknowledged: %s", index(), TYPE_DAY, putMappingResponse.isAcknowledged()); - } - } - - final boolean deleteIndex() { - IndicesAdminClient client = EsClient.INSTANCE.getClient().admin().indices(); - try { - DeleteIndexResponse response = client.prepareDelete(index()).get(); - logger.info("delete %s index finished, isAcknowledged: %s", index(), response.isAcknowledged()); - return response.isAcknowledged(); - } catch (IndexNotFoundException e) { - logger.info("%s index not found", index()); - } - return false; - } - - final boolean isExists() { - IndicesAdminClient client = EsClient.INSTANCE.getClient().admin().indices(); - IndicesExistsResponse response = client.prepareExists(index()).get(); - return response.isExists(); - } - - public abstract String index(); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/AbstractTimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/AbstractTimeSlice.java deleted file mode 100644 index 2dce8f3b4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/AbstractTimeSlice.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -/** - * @author pengys5 - */ -public abstract class AbstractTimeSlice { - private final long minute; - private final long hour; - private final long day; - private final int second; - - public AbstractTimeSlice(long minute, long hour, long day, int second) { - this.minute = minute; - this.hour = hour; - this.day = day; - this.second = second; - } - - public long getMinute() { - return minute; - } - - public long getHour() { - return hour; - } - - public long getDay() { - return day; - } - - public int getSecond() { - return second; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/Data.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/Data.java deleted file mode 100644 index be6164c1a..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/Data.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.Map; - -/** - * @author pengys5 - */ -public interface Data { - String getId(); - - void merge(Map dbData); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/EsClient.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/EsClient.java deleted file mode 100644 index 00370a32f..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/EsClient.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.elasticsearch.action.admin.indices.refresh.RefreshRequest; -import org.elasticsearch.action.admin.indices.refresh.RefreshResponse; -import org.elasticsearch.action.bulk.BulkRequestBuilder; -import org.elasticsearch.action.bulk.BulkResponse; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.client.Client; -import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.transport.InetSocketTransportAddress; -import org.elasticsearch.transport.client.PreBuiltTransportClient; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * @author pengys5 - */ -public enum EsClient { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(EsClient.class); - - private Client client; - - public void boot() throws UnknownHostException { - Settings settings = Settings.builder() - .put("cluster.name", EsConfig.Es.Cluster.NAME) - .put("client.transport.sniff", EsConfig.Es.Cluster.Transport.SNIFFER) - .build(); - - client = new PreBuiltTransportClient(settings); - - List pairsList = parseClusterNodes(EsConfig.Es.Cluster.NODES); - for (AddressPairs pairs : pairsList) { - ((PreBuiltTransportClient) client).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(pairs.ip), pairs.port)); - } - } - - public Client getClient() { - return client; - } - - public void indexRefresh(String... indexName) { - RefreshResponse response = client.admin().indices().refresh(new RefreshRequest(indexName)).actionGet(); - if (response.getShardFailures().length == response.getTotalShards()) { - logger.error("All elasticsearch shard index refresh failure, reason: %s", Arrays.toString(response.getShardFailures())); - } else if (response.getShardFailures().length > 0) { - logger.error("In parts of elasticsearch shard index refresh failure, reason: %s", Arrays.toString(response.getShardFailures())); - } - logger.info("elasticsearch index refresh success"); - } - - private List parseClusterNodes(String nodes) { - List pairsList = new ArrayList<>(); - logger.info("es NODES: %s", nodes); - String[] nodesSplit = nodes.split(","); - for (int i = 0; i < nodesSplit.length; i++) { - String node = nodesSplit[i]; - String ip = node.split(":")[0]; - String port = node.split(":")[1]; - pairsList.add(new AddressPairs(ip, Integer.valueOf(port))); - } - - return pairsList; - } - - class AddressPairs { - private String ip; - private Integer port; - - public AddressPairs(String ip, Integer port) { - this.ip = ip; - this.port = port; - } - } - - public void bulk(List dataList) { - Client client = EsClient.INSTANCE.getClient(); - BulkRequestBuilder bulkRequest = client.prepareBulk(); - - logger.info("bulk data size: %s", dataList.size()); - if (dataList.size() > 0) { - for (IndexRequestBuilder builder : dataList) { - bulkRequest.add(builder); - } - - BulkResponse bulkResponse = bulkRequest.execute().actionGet(); - if (bulkResponse.hasFailures()) { - logger.error(bulkResponse.buildFailureMessage()); - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/FlushAndSwitch.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/FlushAndSwitch.java deleted file mode 100644 index 0c52f38db..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/FlushAndSwitch.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -/** - * @author pengys5 - */ -public class FlushAndSwitch { -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/GetResponseFromEs.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/GetResponseFromEs.java deleted file mode 100644 index 2e579c773..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/GetResponseFromEs.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.elasticsearch.action.get.GetResponse; - -/** - * @author pengys5 - */ -public enum GetResponseFromEs { - INSTANCE; - - public GetResponse get(String index, String type, String id) { - return EsClient.INSTANCE.getClient().prepareGet(index, type, id).get(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/IndexCreator.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/IndexCreator.java deleted file mode 100644 index 30a6b84d6..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/IndexCreator.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.util.HashSet; -import java.util.ServiceLoader; -import java.util.Set; - -/** - * @author pengys5 - */ -public enum IndexCreator { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(IndexCreator.class); - - public void create() { - if (!EsConfig.IndexInitMode.MANUAL.equals(EsConfig.Es.Index.Initialize.MODE)) { - Set indexSet = loadIndex(); - for (AbstractIndex index : indexSet) { - boolean isExists = index.isExists(); - if (isExists) { - if (EsConfig.IndexInitMode.FORCED.equals(EsConfig.Es.Index.Initialize.MODE)) { - index.deleteIndex(); - index.createIndex(); - } - } else { - index.createIndex(); - } - } - } - } - - private Set loadIndex() { - Set indexSet = new HashSet<>(); - ServiceLoader indexServiceLoader = ServiceLoader.load(AbstractIndex.class); - for (AbstractIndex index : indexServiceLoader) { - logger.info("index NAME: %s", index.index()); - indexSet.add(index); - } - return indexSet; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitAnalysisData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitAnalysisData.java deleted file mode 100644 index 9defa2df1..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitAnalysisData.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * @author pengys5 - */ -public class JoinAndSplitAnalysisData { - - private WindowData windowData = new WindowData(new LinkedHashMap()); - - public JoinAndSplitData getOrCreate(String id) { - if (!windowData.containsKey(id)) { - windowData.put(id, new JoinAndSplitData(id)); - } - return windowData.get(id); - } - - public Map asMap() { - return windowData.asMap(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitData.java deleted file mode 100644 index 7082b732d..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitData.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.skywalking.apm.collector.actor.selector.AbstractHashMessage; - -import java.util.*; - -/** - * @author pengys5 - */ -public class JoinAndSplitData extends AbstractHashMessage implements Data { - - public static final String SPLIT = ","; - - private String id; - - private Map> data = new HashMap<>(); - - public JoinAndSplitData(String key) { - super(key); - this.id = key; - } - - public String getId() { - return id; - } - - public void set(String attributeName, String value) { - if (!data.containsKey(attributeName)) { - data.put(attributeName, new HashSet<>()); - } - data.get(attributeName).add(value); - } - - public void merge(JoinAndSplitData source) { - source.data.forEach((attributeName, valueSet) -> valueSet.forEach(value -> set(attributeName, value))); - } - - public void merge(Map source) { - source.forEach((column, dbValue) -> { - if (!AbstractIndex.TIME_SLICE.equals(column) && !AbstractIndex.AGG_COLUMN.equals(column)) { - String[] dbValues = String.valueOf(dbValue).split(SPLIT); - for (String value : dbValues) { - set(column, value); - } - } - }); - } - - public Map asMap() { - Map source = new HashMap<>(); - data.forEach((attributeName, valueSet) -> { - Iterator iterator = valueSet.iterator(); - StringBuilder builder = new StringBuilder(); - - int i = 0; - - while (iterator.hasNext()) { - if (i == 0) { - builder.append(iterator.next()); - } else { - builder.append(SPLIT).append(iterator.next()); - } - i++; - } - source.put(attributeName, builder.toString()); - }); - - return source; - } -} \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitPersistenceData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitPersistenceData.java deleted file mode 100644 index 8acf13347..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitPersistenceData.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -/** - * @author pengys5 - */ -public class JoinAndSplitPersistenceData extends Window implements PersistenceData { - - private WindowData lockedWindowData; - - public JoinAndSplitData getOrCreate(String id) { - if (!lockedWindowData.containsKey(id)) { - lockedWindowData.put(id, new JoinAndSplitData(id)); - } - return lockedWindowData.get(id); - } - - public void hold() { - lockedWindowData = getCurrentAndHold(); - } - - public void release() { - lockedWindowData.release(); - lockedWindowData = null; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricAnalysisData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricAnalysisData.java deleted file mode 100644 index 1f5cf3a82..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricAnalysisData.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * @author pengys5 - */ -public class MetricAnalysisData { - - private WindowData windowData = new WindowData(new LinkedHashMap()); - - public MetricData getOrCreate(String id) { - if (!windowData.containsKey(id)) { - windowData.put(id, new MetricData(id)); - } - return windowData.get(id); - } - - public Map asMap() { - return windowData.asMap(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricData.java deleted file mode 100644 index 3be5e78bf..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricData.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.skywalking.apm.collector.actor.selector.AbstractHashMessage; -import org.skywalking.apm.collector.worker.Const; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * @author pengys5 - */ -public class MetricData extends AbstractHashMessage implements Data { - - private String id; - private Map data; - - public MetricData(String id) { - super(id); - this.id = id; - data = new LinkedHashMap<>(); - - String[] ids = id.split(Const.IDS_SPLIT); - String slice = ids[0]; - StringBuilder aggId = new StringBuilder(); - for (int i = 1; i < ids.length; i++) { - if (i == 1) aggId = new StringBuilder(ids[i]); - else aggId.append(Const.ID_SPLIT).append(ids[i]); - } - - data.put(AbstractIndex.TIME_SLICE, Long.valueOf(slice)); - data.put(AbstractIndex.AGG_COLUMN, aggId.toString()); - } - - public void set(String metricName, Long value) { - long valueAdd = value; - if (this.data.containsKey(metricName) && !AbstractIndex.TIME_SLICE.equals(metricName) - && !AbstractIndex.AGG_COLUMN.equals(metricName)) { - valueAdd += (Long) this.data.get(metricName); - } - this.data.put(metricName, valueAdd); - } - - public void merge(MetricData source) { - for (Map.Entry entry : source.data.entrySet()) { - if (!AbstractIndex.TIME_SLICE.equals(entry.getKey()) - && !AbstractIndex.AGG_COLUMN.equals(entry.getKey())) { - set(entry.getKey(), (Long) entry.getValue()); - } - } - } - - @Override - public void merge(Map source) { - for (Map.Entry entry : source.entrySet()) { - if (!AbstractIndex.TIME_SLICE.equals(entry.getKey()) - && !AbstractIndex.AGG_COLUMN.equals(entry.getKey())) { - long dbValue = ((Number) entry.getValue()).longValue(); - set(entry.getKey(), dbValue); - } - } - } - - @Override - public String getId() { - return id; - } - - public Map asMap() { - return data; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricPersistenceData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricPersistenceData.java deleted file mode 100644 index ef2cbd7cd..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/MetricPersistenceData.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -/** - * @author pengys5 - */ -public class MetricPersistenceData extends Window implements PersistenceData { - - private WindowData lockedWindowData; - - public MetricData getOrCreate(String id) { - if (!lockedWindowData.containsKey(id)) { - lockedWindowData.put(id, new MetricData(id)); - } - return lockedWindowData.get(id); - } - - public void hold() { - lockedWindowData = getCurrentAndHold(); - } - - public void release() { - lockedWindowData.release(); - lockedWindowData = null; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceData.java deleted file mode 100644 index 73592aa6f..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceData.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -/** - * @author pengys5 - */ -public interface PersistenceData { - - T getOrCreate(String id); - - void release(); - - void hold(); -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceTimer.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceTimer.java deleted file mode 100644 index 5f4d6bffa..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceTimer.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.message.StringFormattedMessage; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.util.LinkedList; -import java.util.List; - -/** - * @author pengys5 - */ -public enum PersistenceTimer { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(PersistenceTimer.class); - - public void boot() { - logger.info("persistence timer start"); - final long timeInterval = EsConfig.Es.Persistence.Timer.VALUE * 1000; - - Runnable runnable = () -> { - while (true) { - try { - extractDataAndSave(); - Thread.sleep(timeInterval); - } catch (Throwable e) { - logger.error(e, e); - } - } - }; - Thread persistenceThread = new Thread(runnable); - persistenceThread.setName("timerPersistence"); - persistenceThread.start(); - } - - private void extractDataAndSave() { - List dataList = new LinkedList<>(); - - List workers = PersistenceWorkerListener.INSTANCE.getWorkers(); - for (AbstractLocalSyncWorker worker : workers) { - logger.info("worker role name: %s", worker.getRole().roleName()); - try { - worker.allocateJob(new FlushAndSwitch(), dataList); - } catch (Exception e) { - logger.error(new StringFormattedMessage("flush persistence worker data error, worker role name: %s", worker.getRole().roleName()), e); - } - } - EsClient.INSTANCE.bulk(dataList); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceWorkerListener.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceWorkerListener.java deleted file mode 100644 index 70669f0b2..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/PersistenceWorkerListener.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; - -import java.util.LinkedList; -import java.util.List; - -/** - * @author pengys5 - */ -public enum PersistenceWorkerListener { - INSTANCE; - - private List workers = new LinkedList<>(); - - public void register(AbstractLocalSyncWorker worker) { - workers.add(worker); - } - - public List getWorkers() { - return workers; - } - - public void reset() { - workers.clear(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordAnalysisData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordAnalysisData.java deleted file mode 100644 index c13ae7881..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordAnalysisData.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * @author pengys5 - */ -public class RecordAnalysisData { - - private WindowData windowData = new WindowData(new LinkedHashMap()); - - public RecordData getOrCreate(String id) { - if (!windowData.containsKey(id)) { - windowData.put(id, new RecordData(id)); - } - return windowData.get(id); - } - - public Map asMap() { - return windowData.asMap(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordData.java deleted file mode 100644 index ea65af3d4..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordData.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.actor.selector.AbstractHashMessage; -import org.skywalking.apm.collector.worker.Const; - -import java.util.Map; - -/** - * @author pengys5 - */ -public class RecordData extends AbstractHashMessage implements Data { - - private String id; - private String aggId; - private JsonObject data; - - public RecordData(String id) { - super(id); - this.id = id; - String[] ids = this.id.split(Const.IDS_SPLIT); - for (int i = 1; i < ids.length; i++) { - if (i == 1) { - this.aggId = ids[i]; - } else { - this.aggId += Const.ID_SPLIT + ids[i]; - } - } - data = new JsonObject(); - } - - public String getId() { - return id; - } - - public JsonObject get() { - data.addProperty(AbstractIndex.AGG_COLUMN, this.aggId); - return data; - } - - public void set(JsonObject record) { - this.data = record; - } - - @Override - public void merge(Map source) { - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordPersistenceData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordPersistenceData.java deleted file mode 100644 index 617312afb..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/RecordPersistenceData.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -/** - * @author pengys5 - */ -public class RecordPersistenceData extends Window implements PersistenceData { - - private WindowData lockedWindowData; - - public RecordData getOrCreate(String id) { - if (!lockedWindowData.containsKey(id)) { - lockedWindowData.put(id, new RecordData(id)); - } - return lockedWindowData.get(id); - } - - public void hold() { - lockedWindowData = getCurrentAndHold(); - } - - public void release() { - lockedWindowData.release(); - lockedWindowData = null; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/SegmentData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/SegmentData.java deleted file mode 100644 index 2cd9ab11d..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/SegmentData.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.Map; - -/** - * @author pengys5 - */ -public class SegmentData implements Data { - - private String id; - private String segmentStr; - - public SegmentData(String id) { - this.id = id; - } - - public String getId() { - return id; - } - - @Override - public void merge(Map source) { - } - - public String getSegmentStr() { - return segmentStr; - } - - public void setSegmentStr(String segmentStr) { - this.segmentStr = segmentStr; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/SegmentPersistenceData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/SegmentPersistenceData.java deleted file mode 100644 index 4ec045e96..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/SegmentPersistenceData.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.Map; - -/** - * @author pengys5 - */ -public class SegmentPersistenceData extends Window implements PersistenceData { - - private WindowData lockedWindowData; - - public SegmentData getOrCreate(String id) { - if (!lockedWindowData.containsKey(id)) { - lockedWindowData.put(id, new SegmentData(id)); - } - return lockedWindowData.get(id); - } - - public void hold() { - lockedWindowData = getCurrentAndHold(); - } - - public void release() { - lockedWindowData.release(); - lockedWindowData = null; - } - - public int size() { - return lockedWindowData.size(); - } - - public Map asMap() { - return lockedWindowData.asMap(); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/Window.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/Window.java deleted file mode 100644 index 3dfe0551c..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/Window.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.HashMap; - -/** - * @author pengys5 - */ -public abstract class Window { - - private WindowData pointer; - - private WindowData windowDataA; - private WindowData windowDataB; - - public Window() { - windowDataA = new WindowData(new HashMap<>()); - windowDataB = new WindowData(new HashMap<>()); - pointer = windowDataA; - } - - public void switchPointer() { - if (pointer == windowDataA) { - pointer = windowDataB; - } else { - pointer = windowDataA; - } - } - - protected WindowData getCurrentAndHold() { - if (pointer == windowDataA) { - windowDataA.hold(); - return windowDataA; - } else { - windowDataB.hold(); - return windowDataB; - } - } - - public WindowData getLast() { - if (pointer == windowDataA) { - return windowDataB; - } else { - return windowDataA; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/WindowData.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/WindowData.java deleted file mode 100644 index ec123ee92..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/storage/WindowData.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import java.util.Map; - -/** - * @author pengys5 - */ -public class WindowData { - private Map data; - private volatile boolean isHold; - - WindowData(Map data) { - this.data = data; - this.isHold = false; - } - - public void release() { - isHold = false; - } - - public void hold() { - isHold = true; - } - - public boolean isHolding() { - return isHold; - } - - public boolean containsKey(String key) { - return data.containsKey(key); - } - - public void put(String key, T value) { - data.put(key, value); - } - - public T get(String key) { - return data.get(key); - } - - public int size() { - return data.size(); - } - - public void clear() { - data.clear(); - } - - public Map asMap() { - return data; - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/CollectionTools.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/CollectionTools.java deleted file mode 100644 index 5fab5ea8d..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/CollectionTools.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import java.util.List; - -/** - * @author pengys5 - */ -public class CollectionTools { - - public static boolean isEmpty(List list) { - return list == null || list.size() == 0; - } - - public static boolean isNotEmpty(List list) { - return !isEmpty(list); - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/DateTools.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/DateTools.java deleted file mode 100644 index e270debcc..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/DateTools.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class DateTools { - private static final SimpleDateFormat DAY_DATE_FORMAT = new SimpleDateFormat("yyyyMMdd"); - private static final SimpleDateFormat HOUR_DATE_FORMAT = new SimpleDateFormat("yyyyMMddHH"); - private static final SimpleDateFormat MINUTE_DATE_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); - - public static int getSecond(long time) { - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(time); - return calendar.get(Calendar.SECOND); - } - - public static long getMinuteSlice(long time) { - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(time); - String timeStr = MINUTE_DATE_FORMAT.format(calendar.getTime()); - return Long.valueOf(timeStr); - } - - public static long getHourSlice(long time) { - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(time); - String timeStr = HOUR_DATE_FORMAT.format(calendar.getTime()) + "00"; - return Long.valueOf(timeStr); - } - - public static long getDaySlice(long time) { - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(time); - String timeStr = DAY_DATE_FORMAT.format(calendar.getTime()) + "0000"; - return Long.valueOf(timeStr); - } - - public static long changeToUTCSlice(long timeSlice) { - String timeSliceStr = String.valueOf(timeSlice); - - if (TimeZone.getDefault().getID().equals("GMT+08:00") || timeSliceStr.endsWith("0000")) { - return timeSlice; - } else { - return timeSlice - 800; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/ParameterTools.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/ParameterTools.java deleted file mode 100644 index fad83f6cb..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/ParameterTools.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import java.util.Map; - -/** - * @author pengys5 - */ -public enum ParameterTools { - INSTANCE; - - public String toString(Map request, String key) { - if (request.get(key) != null) { - return request.get(key)[0]; - } else { - return ""; - } - } - -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/SpanPeersTools.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/SpanPeersTools.java deleted file mode 100644 index e48cb2106..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tools/SpanPeersTools.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.skywalking.apm.network.proto.SpanObject; - -/** - * @author pengys5 - */ -public enum SpanPeersTools { - INSTANCE; - - public int getPeers(SpanObject span) { - if (span.getPeerId() == 0) { - return 0; //TODO exchange peer to peer id - } else { - return span.getPeerId(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tracedag/TraceDagDataBuilder.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tracedag/TraceDagDataBuilder.java deleted file mode 100644 index ed616bd5c..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tracedag/TraceDagDataBuilder.java +++ /dev/null @@ -1,125 +0,0 @@ -package org.skywalking.apm.collector.worker.tracedag; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.util.HashMap; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.node.NodeCompIndex; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; - -/** - * @author pengys5 - */ -public class TraceDagDataBuilder { - - private Logger logger = LogManager.getFormatterLogger(TraceDagDataBuilder.class); - - private Integer nodeId = new Integer(-1); - private Map mappingMap = new HashMap<>(); - private Map nodeCompMap = new HashMap<>(); - private Map resSumMap = new HashMap<>(); - private Map nodeIdMap = new HashMap<>(); - private JsonArray pointArray = new JsonArray(); - private JsonArray lineArray = new JsonArray(); - - public JsonObject build(JsonArray nodeCompArray, JsonArray nodesMappingArray, JsonArray nodeRefsArray, - JsonArray resSumArray) { - changeMapping2Map(nodesMappingArray); - changeNodeComp2Map(nodeCompArray); - resSumMerge(resSumArray); - - for (int i = 0; i < nodeRefsArray.size(); i++) { - JsonObject nodeRefJsonObj = nodeRefsArray.get(i).getAsJsonObject(); - String front = nodeRefJsonObj.get(NodeRefIndex.FRONT).getAsString(); - String behind = nodeRefJsonObj.get(NodeRefIndex.BEHIND).getAsString(); - - String behindCode = findRealCode(behind); - logger.debug("behind: %s, behindCode: %s", behind, behindCode); - - JsonObject lineJsonObj = new JsonObject(); - lineJsonObj.addProperty("from", findOrCreateNode(front)); - lineJsonObj.addProperty("to", findOrCreateNode(behindCode)); - lineJsonObj.addProperty("resSum", resSumMap.get(front + Const.ID_SPLIT + behindCode)); - - lineArray.add(lineJsonObj); - logger.debug("line: %s", lineJsonObj); - } - - JsonObject dagJsonObj = new JsonObject(); - dagJsonObj.add("nodes", pointArray); - dagJsonObj.add("nodeRefs", lineArray); - return dagJsonObj; - } - - private Integer findOrCreateNode(String peers) { - if (nodeIdMap.containsKey(peers) && !peers.equals(Const.USER_CODE)) { - return nodeIdMap.get(peers); - } else { - nodeId++; - JsonObject nodeJsonObj = new JsonObject(); - nodeJsonObj.addProperty("id", nodeId); - nodeJsonObj.addProperty("peer", peers); - if (peers.equals(Const.USER_CODE)) { - nodeJsonObj.addProperty("component", Const.USER_CODE); - } else { - nodeJsonObj.addProperty("component", nodeCompMap.get(peers)); - } - pointArray.add(nodeJsonObj); - - nodeIdMap.put(peers, nodeId); - logger.debug("node: %s", nodeJsonObj); - } - return nodeId; - } - - private void changeMapping2Map(JsonArray nodesMappingArray) { - for (int i = 0; i < nodesMappingArray.size(); i++) { - JsonObject nodesMappingJsonObj = nodesMappingArray.get(i).getAsJsonObject(); - String code = nodesMappingJsonObj.get(NodeMappingIndex.CODE).getAsString(); - String peers = nodesMappingJsonObj.get(NodeMappingIndex.PEERS).getAsString(); - mappingMap.put(peers, code); - } - } - - private void changeNodeComp2Map(JsonArray nodeCompArray) { - for (int i = 0; i < nodeCompArray.size(); i++) { - JsonObject nodesJsonObj = nodeCompArray.get(i).getAsJsonObject(); - logger.debug(nodesJsonObj); - String component = nodesJsonObj.get(NodeCompIndex.NAME).getAsString(); - String peers = nodesJsonObj.get(NodeCompIndex.PEERS).getAsString(); - nodeCompMap.put(peers, component); - } - } - - private String findRealCode(String peers) { - if (mappingMap.containsKey(peers)) { - return mappingMap.get(peers); - } else { - return peers; - } - } - - private void resSumMerge(JsonArray resSumArray) { - for (int i = 0; i < resSumArray.size(); i++) { - JsonObject resSumJsonObj = resSumArray.get(i).getAsJsonObject(); - String front = resSumJsonObj.get("front").getAsString(); - String behind = resSumJsonObj.get("behind").getAsString(); - Long summary = resSumJsonObj.get("summary").getAsLong(); - - if (mappingMap.containsKey(behind)) { - behind = mappingMap.get(behind); - } - - String id = front + Const.ID_SPLIT + behind; - if (resSumMap.containsKey(id)) { - resSumMap.put(id, summary + resSumMap.get(id)); - } else { - resSumMap.put(id, summary); - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tracedag/TraceDagGetWithTimeSlice.java b/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tracedag/TraceDagGetWithTimeSlice.java deleted file mode 100644 index cecffbebe..000000000 --- a/apm-collector/apm-collector-worker/src/main/java/org/skywalking/apm/collector/worker/tracedag/TraceDagGetWithTimeSlice.java +++ /dev/null @@ -1,141 +0,0 @@ -package org.skywalking.apm.collector.worker.tracedag; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Arrays; -import java.util.Map; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.httpserver.AbstractGet; -import org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.node.persistence.NodeCompLoad; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingSearchWithTimeSlice; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumSearchWithTimeSlice; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefSearchWithTimeSlice; -import org.skywalking.apm.collector.worker.tools.ParameterTools; - -/** - * @author pengys5 - */ -public class TraceDagGetWithTimeSlice extends AbstractGet { - - private Logger logger = LogManager.getFormatterLogger(TraceDagGetWithTimeSlice.class); - - TraceDagGetWithTimeSlice(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - getClusterContext().findProvider(NodeCompLoad.WorkerRole.INSTANCE).create(this); - getClusterContext().findProvider(NodeMappingSearchWithTimeSlice.WorkerRole.INSTANCE).create(this); - getClusterContext().findProvider(NodeRefSearchWithTimeSlice.WorkerRole.INSTANCE).create(this); - getClusterContext().findProvider(NodeRefResSumSearchWithTimeSlice.WorkerRole.INSTANCE).create(this); - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - if (!parameter.containsKey("startTime") || !parameter.containsKey("endTime") || !parameter.containsKey("timeSliceType")) { - throw new ArgumentsParseException("the request parameter must contains startTime,endTime,timeSliceType"); - } - - if (logger.isDebugEnabled()) { - logger.debug("startTime: %s, endTime: %s, timeSliceType: %s", Arrays.toString(parameter.get("startTime")), - Arrays.toString(parameter.get("endTime")), Arrays.toString(parameter.get("timeSliceType"))); - } - - long startTime; - try { - startTime = Long.valueOf(ParameterTools.INSTANCE.toString(parameter, "startTime")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter startTime must be a long"); - } - - long endTime; - try { - endTime = Long.valueOf(ParameterTools.INSTANCE.toString(parameter, "endTime")); - } catch (NumberFormatException e) { - throw new ArgumentsParseException("the request parameter endTime must be a long"); - } - - String timeSliceType = ParameterTools.INSTANCE.toString(parameter, "timeSliceType"); - - JsonObject compResponse = getNewResponse(); - getSelfContext().lookup(NodeCompLoad.WorkerRole.INSTANCE).ask(null, compResponse); - - JsonObject nodeMappingResponse = getNewResponse(); - NodeMappingSearchWithTimeSlice.RequestEntity nodeMappingEntity = new NodeMappingSearchWithTimeSlice.RequestEntity(timeSliceType, startTime, endTime); - getSelfContext().lookup(NodeMappingSearchWithTimeSlice.WorkerRole.INSTANCE).ask(nodeMappingEntity, nodeMappingResponse); - - JsonObject nodeRefResponse = getNewResponse(); - NodeRefSearchWithTimeSlice.RequestEntity nodeReftEntity = new NodeRefSearchWithTimeSlice.RequestEntity(timeSliceType, startTime, endTime); - getSelfContext().lookup(NodeRefSearchWithTimeSlice.WorkerRole.INSTANCE).ask(nodeReftEntity, nodeRefResponse); - - JsonObject resSumResponse = getNewResponse(); - NodeRefResSumSearchWithTimeSlice.RequestEntity resSumEntity = new NodeRefResSumSearchWithTimeSlice.RequestEntity(timeSliceType, startTime, endTime); - getSelfContext().lookup(NodeRefResSumSearchWithTimeSlice.WorkerRole.INSTANCE).ask(resSumEntity, resSumResponse); - - JsonObject result = getBuilder().build(compResponse.get(Const.RESULT).getAsJsonArray(), nodeMappingResponse.get(Const.RESULT).getAsJsonArray(), - nodeRefResponse.get(Const.RESULT).getAsJsonArray(), resSumResponse.get(Const.RESULT).getAsJsonArray()); - - ((JsonObject)response).add(Const.RESULT, result); - } - - private JsonObject getNewResponse() { - JsonObject response = new JsonObject(); - return response; - } - - private TraceDagDataBuilder getBuilder() { - TraceDagDataBuilder builder = new TraceDagDataBuilder(); - return builder; - } - - public static class Factory extends AbstractGetProvider { - - public static Factory INSTANCE = new Factory(); - - @Override - public Role role() { - return WorkerRole.INSTANCE; - } - - @Override - public TraceDagGetWithTimeSlice workerInstance(ClusterWorkerContext clusterContext) { - return new TraceDagGetWithTimeSlice(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public String servletPath() { - return "/traceDag/timeSlice"; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return TraceDagGetWithTimeSlice.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/io.grpc.BindableService b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/io.grpc.BindableService deleted file mode 100644 index 1f128953f..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/io.grpc.BindableService +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.worker.segment.TraceSegmentServiceImpl \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider deleted file mode 100644 index 40be71f4d..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractClusterWorkerProvider +++ /dev/null @@ -1,16 +0,0 @@ -org.skywalking.apm.collector.worker.grpcserver.GRPCAddressRegister$Factory -org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceAgg$Factory - -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefDayAgg$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefHourAgg$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefMinuteAgg$Factory - -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumDayAgg$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumHourAgg$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumMinuteAgg$Factory - -org.skywalking.apm.collector.worker.node.persistence.NodeCompAgg$Factory - -org.skywalking.apm.collector.worker.node.persistence.NodeMappingDayAgg$Factory -org.skywalking.apm.collector.worker.node.persistence.NodeMappingHourAgg$Factory -org.skywalking.apm.collector.worker.node.persistence.NodeMappingMinuteAgg$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractLocalWorkerProvider b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractLocalWorkerProvider deleted file mode 100644 index 9847c2360..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.actor.AbstractLocalWorkerProvider +++ /dev/null @@ -1,48 +0,0 @@ -org.skywalking.apm.collector.worker.segment.analysis.SegmentAnalysis$Factory -org.skywalking.apm.collector.worker.segment.analysis.SegmentCostAnalysis$Factory -org.skywalking.apm.collector.worker.segment.analysis.SegmentExceptionAnalysis$Factory - -org.skywalking.apm.collector.worker.segment.SegmentReceiver$Factory -org.skywalking.apm.collector.worker.segment.persistence.SegmentSave$Factory -org.skywalking.apm.collector.worker.segment.persistence.SegmentCostSave$Factory -org.skywalking.apm.collector.worker.segment.persistence.SegmentExceptionSave$Factory -org.skywalking.apm.collector.worker.segment.persistence.SegmentExceptionWithSegId$Factory -org.skywalking.apm.collector.worker.segment.persistence.SegmentTopSearch$Factory - -org.skywalking.apm.collector.worker.noderef.analysis.NodeRefDayAnalysis$Factory -org.skywalking.apm.collector.worker.noderef.analysis.NodeRefHourAnalysis$Factory -org.skywalking.apm.collector.worker.noderef.analysis.NodeRefMinuteAnalysis$Factory - -org.skywalking.apm.collector.worker.noderef.analysis.NodeRefResSumDayAnalysis$Factory -org.skywalking.apm.collector.worker.noderef.analysis.NodeRefResSumHourAnalysis$Factory -org.skywalking.apm.collector.worker.noderef.analysis.NodeRefResSumMinuteAnalysis$Factory - -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefDaySave$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefHourSave$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefMinuteSave$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefSearchWithTimeSlice$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumSearchWithTimeSlice$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumGroupWithTimeSlice$Factory - -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumDaySave$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumHourSave$Factory -org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumMinuteSave$Factory - -org.skywalking.apm.collector.worker.node.analysis.NodeCompAnalysis$Factory -org.skywalking.apm.collector.worker.node.persistence.NodeCompSave$Factory -org.skywalking.apm.collector.worker.node.persistence.NodeCompLoad$Factory - -org.skywalking.apm.collector.worker.node.analysis.NodeMappingDayAnalysis$Factory -org.skywalking.apm.collector.worker.node.analysis.NodeMappingHourAnalysis$Factory -org.skywalking.apm.collector.worker.node.analysis.NodeMappingMinuteAnalysis$Factory - -org.skywalking.apm.collector.worker.node.persistence.NodeMappingDaySave$Factory -org.skywalking.apm.collector.worker.node.persistence.NodeMappingHourSave$Factory -org.skywalking.apm.collector.worker.node.persistence.NodeMappingMinuteSave$Factory -org.skywalking.apm.collector.worker.node.persistence.NodeMappingSearchWithTimeSlice$Factory - -org.skywalking.apm.collector.worker.globaltrace.analysis.GlobalTraceAnalysis$Factory -org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceSave$Factory -org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceSearchWithGlobalId$Factory - -org.skywalking.apm.collector.worker.span.persistence.SpanSearchWithId$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.config.ConfigProvider b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.config.ConfigProvider deleted file mode 100644 index aec02c4db..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.config.ConfigProvider +++ /dev/null @@ -1,6 +0,0 @@ -org.skywalking.apm.collector.cluster.ClusterConfigProvider -org.skywalking.apm.collector.worker.config.EsConfigProvider -org.skywalking.apm.collector.worker.config.HttpConfigProvider -org.skywalking.apm.collector.worker.config.GRPCConfigProvider -org.skywalking.apm.collector.worker.config.CacheSizeConfigProvider -org.skywalking.apm.collector.worker.config.WorkerConfigProvider \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider deleted file mode 100644 index 3fb933e71..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider +++ /dev/null @@ -1,7 +0,0 @@ -org.skywalking.apm.collector.worker.noderef.NodeRefResSumGetGroupWithTimeSlice$Factory -org.skywalking.apm.collector.worker.segment.SegmentTopGet$Factory -org.skywalking.apm.collector.worker.globaltrace.GlobalTraceGetWithGlobalId$Factory -org.skywalking.apm.collector.worker.span.SpanGetWithId$Factory -org.skywalking.apm.collector.worker.tracedag.TraceDagGetWithTimeSlice$Factory - -org.skywalking.apm.collector.worker.grpcserver.GRPCAddressGet$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractPostProvider b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractPostProvider deleted file mode 100644 index e69de29bb..000000000 diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractStreamPostProvider b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractStreamPostProvider deleted file mode 100644 index e69de29bb..000000000 diff --git a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.storage.AbstractIndex b/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.storage.AbstractIndex deleted file mode 100644 index 5884e353d..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/META-INF/services/org.skywalking.apm.collector.worker.storage.AbstractIndex +++ /dev/null @@ -1,11 +0,0 @@ -org.skywalking.apm.collector.worker.segment.SegmentIndex -org.skywalking.apm.collector.worker.segment.SegmentCostIndex -org.skywalking.apm.collector.worker.segment.SegmentExceptionIndex - -org.skywalking.apm.collector.worker.globaltrace.GlobalTraceIndex - -org.skywalking.apm.collector.worker.node.NodeCompIndex -org.skywalking.apm.collector.worker.node.NodeMappingIndex - -org.skywalking.apm.collector.worker.noderef.NodeRefIndex -org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/main/resources/collector.config b/apm-collector/apm-collector-worker/src/main/resources/collector.config deleted file mode 100644 index abdc725fd..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/collector.config +++ /dev/null @@ -1,50 +0,0 @@ -#"hostname" and "port" are used to receive internal messages from other nodes of cluster。 -# Hostname can be either hostname or IP address. -cluster.current.hostname = 127.0.0.1 -# Listening port. -cluster.current.port = 11800 - -# In this version, all members have same roles, and everyone of them is listening the status of others. -#The routers do not send message to nodes, which is unreachable, caused by network trouble, jvm crash or any other reasons. -cluster.current.roles=WorkersListener,RPCAddressListener - -#Initial contact points of the cluster, e.g. seed_nodes = 127.0.0.1:11800, 127.0.0.1:11801. -#The nodes to join automatically at startup. -#When setting akka configuration, it will be change. -#like: ["akka.tcp://system@127.0.0.1:11800", "akka.tcp://system@127.0.0.1:11801"]. -#This is akka configuration, see: http://doc.akka.io/docs/akka/2.4/general/configuration.html -cluster.seed_nodes=127.0.0.1:11800 - -#elasticsearch configuration, see cluster.name in "config/elasticsearch.yml" - es.cluster.name = CollectorDBCluster - es.cluster.transport.sniffer = true - -# The elasticsearch nodes of cluster, separated by comma, e.g. nodes=ip:port, ip:port -es.cluster.nodes=127.0.0.1:9300 - -#Initialized mode of elasticsearch index, default is auto. -#Options: auto, forced, manual -#auto: create index when it doesn't exist. -# forced: delete and create. -# manual: do nothing. -es.index.initialize.mode=forced -# Config of shards or replicas in Elasticsearch. -es.index.shards.number=2 -es.index.replicas.number=0 - -# "hostname", "port" and "contextPath" are used to provide HTTP RESTful services. -# RESTful services include "receive segment" and "webui query services". -http.hostname=127.0.0.1 -http.port=12800 -# Web context path -http.contextPath=/ - -# GRPC services -grpc.hostname=127.0.0.1 -grpc.port=22800 - -# Cache size of analysis worker. The value determines whether sending to next worker and clear, or not. -cache.analysis.size=1024 -# Cache size of persistence worker. The value determines whether save data and clear, or not. -cache.persistence.size=4096 - diff --git a/apm-collector/apm-collector-worker/src/main/resources/log4j2.xml b/apm-collector/apm-collector-worker/src/main/resources/log4j2.xml deleted file mode 100644 index afee48333..000000000 --- a/apm-collector/apm-collector-worker/src/main/resources/log4j2.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - ../logs - - - - - %d - %c -%-4r [%t] %-5p %x - %m%n - - - - - - - - - - - - - - - - - - - - - - diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/AnalysisMemberTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/AnalysisMemberTestCase.java deleted file mode 100644 index aeece4fae..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/AnalysisMemberTestCase.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.queue.EndOfBatchCommand; - -import static org.mockito.Mockito.anyObject; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest(TestAnalysisMember.class) -@PowerMockIgnore({"javax.management.*"}) -public class AnalysisMemberTestCase { - - @Test - public void testCommandOnWork() throws Exception { - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - TestAnalysisMember member = PowerMockito.spy(new TestAnalysisMember(TestAnalysisMember.Role.INSTANCE, clusterWorkerContext, localWorkerContext)); - - EndOfBatchCommand command = new EndOfBatchCommand(); - member.onWork(command); - verify(member, times(1)).aggregation(); - verify(member, never()).analyse(anyObject()); - } - - @Test - public void testAnalyse() throws Exception { - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - TestAnalysisMember member = PowerMockito.spy(new TestAnalysisMember(TestAnalysisMember.Role.INSTANCE, clusterWorkerContext, localWorkerContext)); - - Object message = new Object(); - member.onWork(message); - verify(member, never()).aggregation(); - verify(member, times(1)).analyse(anyObject()); - } - - @Test - public void testPreStart() throws Exception { - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - TestAnalysisMember member = PowerMockito.spy(new TestAnalysisMember(TestAnalysisMember.Role.INSTANCE, clusterWorkerContext, localWorkerContext)); - member.preStart(); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/JoinAndSplitPersistenceMemberTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/JoinAndSplitPersistenceMemberTestCase.java deleted file mode 100644 index a94261444..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/JoinAndSplitPersistenceMemberTestCase.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.mock.MockEsBulkClient; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitData; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitPersistenceData; - -import static org.powermock.api.mockito.PowerMockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {TestJoinAndSplitPersistenceMember.class, EsClient.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class JoinAndSplitPersistenceMemberTestCase { - - private TestJoinAndSplitPersistenceMember mergePersistenceMember; - private JoinAndSplitPersistenceData persistenceData; - - @Before - public void init() throws Exception { - MockEsBulkClient mockEsBulkClient = new MockEsBulkClient(); - mockEsBulkClient.createMock(); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - mergePersistenceMember = PowerMockito.spy(new TestJoinAndSplitPersistenceMember(TestJoinAndSplitPersistenceMember.Role.INSTANCE, clusterWorkerContext, localWorkerContext)); - - persistenceData = mock(JoinAndSplitPersistenceData.class); - JoinAndSplitData joinAndSplitData = mock(JoinAndSplitData.class); - - when(mergePersistenceMember, "getPersistenceData").thenReturn(persistenceData); - when(persistenceData.getOrCreate(Mockito.anyString())).thenReturn(joinAndSplitData); - - doCallRealMethod().when(mergePersistenceMember).analyse(Mockito.any(JoinAndSplitData.class)); - } - - @Test - public void testAnalyse() throws Exception { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - JoinAndSplitData joinAndSplitData = new JoinAndSplitData(id); - joinAndSplitData.set("Column", "VALUE"); - - mergePersistenceMember.analyse(joinAndSplitData); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/RecordPersistenceMemberTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/RecordPersistenceMemberTestCase.java deleted file mode 100644 index 178f45d8e..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/RecordPersistenceMemberTestCase.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.apache.logging.log4j.Logger; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.storage.RecordPersistenceData; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest(RecordPersistenceMember.class) -public class RecordPersistenceMemberTestCase { - - @Test - public void analyse() throws Exception { - RecordPersistenceMember member = PowerMockito.mock(RecordPersistenceMember.class, CALLS_REAL_METHODS); - Logger logger = mock(Logger.class); - when(member.logger()).thenReturn(logger); - - RecordPersistenceData data = mock(RecordPersistenceData.class); - RecordData recordData = new RecordData("test1"); - when(data.getOrCreate(anyString())).thenReturn(recordData); - - when(member.getPersistenceData()).thenReturn(data); - - RecordData recordData_1 = new RecordData("test2"); - member.analyse(recordData_1); - - verify(data).hold(); - verify(data).release(); - - member.analyse(new Object()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestAnalysisMember.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestAnalysisMember.java deleted file mode 100644 index 094d22b33..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestAnalysisMember.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public class TestAnalysisMember extends AnalysisMember { - TestAnalysisMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override - protected void aggregation() { - - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return null; - } - - @Override - public WorkerSelector workerSelector() { - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestJoinAndSplitAnalysisMember.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestJoinAndSplitAnalysisMember.java deleted file mode 100644 index c777d597c..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestJoinAndSplitAnalysisMember.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public class TestJoinAndSplitAnalysisMember extends JoinAndSplitAnalysisMember { - - TestJoinAndSplitAnalysisMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override - protected WorkerRefs aggWorkRefs() { - return null; - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return null; - } - - @Override - public WorkerSelector workerSelector() { - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestJoinAndSplitPersistenceMember.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestJoinAndSplitPersistenceMember.java deleted file mode 100644 index bc0516c1c..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TestJoinAndSplitPersistenceMember.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public class TestJoinAndSplitPersistenceMember extends JoinAndSplitPersistenceMember { - TestJoinAndSplitPersistenceMember(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public String esIndex() { - return null; - } - - @Override - public String esType() { - return null; - } - - public enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return null; - } - - @Override - public WorkerSelector workerSelector() { - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TimeSliceTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TimeSliceTestCase.java deleted file mode 100644 index f2d0ed81a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/TimeSliceTestCase.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.worker; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class TimeSliceTestCase { - - @Test - public void test() { - TestTimeSlice timeSlice = new TestTimeSlice("A", 10L, 20L); - Assert.assertEquals("A", timeSlice.getSliceType()); - Assert.assertEquals(10L, timeSlice.getStartTime()); - Assert.assertEquals(20L, timeSlice.getEndTime()); - } - - class TestTimeSlice extends TimeSlice { - public TestTimeSlice(String sliceType, long startTime, long endTime) { - super(sliceType, startTime, endTime); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigProviderTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigProviderTestCase.java deleted file mode 100644 index 964512788..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigProviderTestCase.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class CacheSizeConfigProviderTestCase { - - @Test - public void test() { - CacheSizeConfigProvider provider = new CacheSizeConfigProvider(); - provider.cliArgs(); - - Assert.assertEquals(CacheSizeConfig.class, provider.configClass()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigTestCase.java deleted file mode 100644 index 7056df653..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/CacheSizeConfigTestCase.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class CacheSizeConfigTestCase { - - @Test - public void test() { - Assert.assertEquals(1024, CacheSizeConfig.Cache.Analysis.SIZE); - Assert.assertEquals(5000, CacheSizeConfig.Cache.Persistence.SIZE); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/EsConfigProviderTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/EsConfigProviderTestCase.java deleted file mode 100644 index 09e2bd5f6..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/EsConfigProviderTestCase.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class EsConfigProviderTestCase { - - @Test - public void test() { - EsConfigProvider provider = new EsConfigProvider(); - - Assert.assertEquals(EsConfig.class, provider.configClass()); - - System.setProperty("es.cluster.NAME", "A"); - System.setProperty("es.cluster.NODES", "B"); - System.setProperty("es.cluster.transport.SNIFFER", "C"); - System.setProperty("es.index.shards.NUMBER", "10"); - System.setProperty("es.index.replicas.NUMBER", "20"); - provider.cliArgs(); - - Assert.assertEquals("A", EsConfig.Es.Cluster.NAME); - Assert.assertEquals("B", EsConfig.Es.Cluster.NODES); - Assert.assertEquals("C", EsConfig.Es.Cluster.Transport.SNIFFER); - Assert.assertEquals("10", EsConfig.Es.Index.Shards.NUMBER); - Assert.assertEquals("20", EsConfig.Es.Index.Replicas.NUMBER); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/HttpConfigProviderTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/HttpConfigProviderTestCase.java deleted file mode 100644 index d01673b6d..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/HttpConfigProviderTestCase.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class HttpConfigProviderTestCase { - - @Test - public void test() { - HttpConfigProvider provider = new HttpConfigProvider(); - - Assert.assertEquals(HttpConfig.class, provider.configClass()); - - System.setProperty("http.HOSTNAME", "A"); - System.setProperty("http.PORT", "B"); - System.setProperty("http.CONTEXTPATH", "C"); - provider.cliArgs(); - - Assert.assertEquals("A", HttpConfig.Http.HOSTNAME); - Assert.assertEquals("B", HttpConfig.Http.PORT); - Assert.assertEquals("C", HttpConfig.Http.CONTEXTPATH); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/WorkerConfigProviderTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/WorkerConfigProviderTestCase.java deleted file mode 100644 index dff78938d..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/config/WorkerConfigProviderTestCase.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.skywalking.apm.collector.worker.config; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class WorkerConfigProviderTestCase { - - @Test - public void test() { - WorkerConfigProvider provider = new WorkerConfigProvider(); - provider.cliArgs(); - - Assert.assertEquals(WorkerConfig.class, provider.configClass()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/JsonDataMerge.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/JsonDataMerge.java deleted file mode 100644 index cf16da0d6..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/JsonDataMerge.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.skywalking.apm.collector.worker.datamerge; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.skywalking.apm.collector.worker.tools.DateTools; -import org.skywalking.apm.collector.worker.tools.JsonFileReader; - -import java.io.FileNotFoundException; -import java.util.Iterator; -import java.util.Map; - -/** - * @author pengys5 - */ -public enum JsonDataMerge { - INSTANCE; - - private String path = this.getClass().getResource("/").getPath(); - - public void merge(String expectJsonFile, JsonArray actualData) throws FileNotFoundException { - Gson gson = new Gson(); - String jsonStrData = JsonFileReader.INSTANCE.read(path + expectJsonFile); - JsonArray expectJsonArray = gson.fromJson(jsonStrData, JsonArray.class); - - for (int i = 0; i < expectJsonArray.size(); i++) { - JsonObject expectJson = expectJsonArray.get(i).getAsJsonObject(); - mergeData(expectJson, actualData.get(i).getAsJsonObject()); - } - } - - private void mergeData(JsonObject expectData, JsonObject actualData) { - Iterator> iterator = expectData.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); - String key = entry.getKey(); - String value = null; - if (!entry.getValue().isJsonNull()) { - value = entry.getValue().getAsString(); - } - - if (entry.getValue().isJsonNull()) { - Assert.assertEquals(true, actualData.get(key).isJsonNull()); - } else { - if (key.equals("timeSlice") || key.equals("minute") || key.equals("hour") || key.equals("day")) { - value = String.valueOf(DateTools.changeToUTCSlice(Long.valueOf(value))); - } - if (SpecialTimeColumn.INSTANCE.isSpecialTimeColumn(key)) { - String changedValue = SpecialTimeColumn.INSTANCE.specialTimeColumnChange(value); - Assert.assertEquals(changedValue, actualData.get(key).getAsString()); - } else { - Assert.assertEquals(value, actualData.get(key).getAsString()); - } - } - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/MetricDataMergeJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/MetricDataMergeJson.java deleted file mode 100644 index 2ac304c77..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/MetricDataMergeJson.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.skywalking.apm.collector.worker.datamerge; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.storage.MetricData; -import org.skywalking.apm.collector.worker.tools.DateTools; -import org.skywalking.apm.collector.worker.tools.JsonFileReader; - -import java.io.FileNotFoundException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * @author pengys5 - */ -public enum MetricDataMergeJson { - INSTANCE; - - private String path = this.getClass().getResource("/").getPath(); - - public void merge(String expectJsonFile, List metricDataList) throws FileNotFoundException { - Gson gson = new Gson(); - String jsonStrData = JsonFileReader.INSTANCE.read(path + expectJsonFile); - JsonArray expectJsonArray = gson.fromJson(jsonStrData, JsonArray.class); - Assert.assertEquals(expectJsonArray.size(), metricDataList.size()); - - Map recordDataMap = recordData2Map(metricDataList); - - for (int i = 0; i < expectJsonArray.size(); i++) { - JsonObject rowData = expectJsonArray.get(i).getAsJsonObject(); - String id = rowData.get("id").getAsString(); - id = id2UTCSlice(id); - - JsonObject data = rowData.get("data").getAsJsonObject(); - if (recordDataMap.containsKey(id)) { - mergeData(data, recordDataMap.get(id)); - } else { - Assert.fail(); - } - } - } - - private void mergeData(JsonObject expectData, JsonObject actualData) { - Iterator> iterator = expectData.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); - String key = entry.getKey(); - String value = null; - if (!entry.getValue().isJsonNull()) { - value = entry.getValue().getAsString(); - } - - if (entry.getValue().isJsonNull()) { - Assert.assertEquals(true, actualData.get(key).isJsonNull()); - } else { - String actualValue = actualData.get(key).getAsString(); - if (key.equals("timeSlice")) { - value = String.valueOf(DateTools.changeToUTCSlice(Long.valueOf(value))); - actualValue = String.valueOf(DateTools.changeToUTCSlice(Long.valueOf(actualValue))); - } - Assert.assertEquals(value, actualValue); - } - } - } - - private Map recordData2Map(List recordDataList) { - Map recordDataMap = new HashMap<>(); - Gson gson = new Gson(); - for (MetricData metricData : recordDataList) { - JsonObject jsonObject = gson.fromJson(gson.toJson(metricData.asMap()), JsonObject.class); - recordDataMap.put(id2UTCSlice(metricData.getId()), jsonObject); - } - return recordDataMap; - } - - private String id2UTCSlice(String id) { - String[] ids = id.split(Const.IDS_SPLIT); - long changedSlice = DateTools.changeToUTCSlice(Long.valueOf(ids[0])); - - String changedId = ""; - - for (int i = 1; i < ids.length; i++) { - changedId = changedId + Const.ID_SPLIT + ids[i]; - } - changedId = String.valueOf(changedSlice) + changedId; - return changedId; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/RecordDataMergeJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/RecordDataMergeJson.java deleted file mode 100644 index 08dc6eaa7..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/RecordDataMergeJson.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.skywalking.apm.collector.worker.datamerge; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.DateTools; -import org.skywalking.apm.collector.worker.tools.JsonFileReader; - -import java.io.FileNotFoundException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * @author pengys5 - */ -public enum RecordDataMergeJson { - INSTANCE; - - private String path = this.getClass().getResource("/").getPath(); - - public void merge(String expectJsonFile, List recordDataList) throws FileNotFoundException { - Gson gson = new Gson(); - String jsonStrData = JsonFileReader.INSTANCE.read(path + expectJsonFile); - JsonArray expectJsonArray = gson.fromJson(jsonStrData, JsonArray.class); - Assert.assertEquals(expectJsonArray.size(), recordDataList.size()); - - Map recordDataMap = recordData2Map(recordDataList); - - for (int i = 0; i < expectJsonArray.size(); i++) { - JsonObject rowData = expectJsonArray.get(i).getAsJsonObject(); - String id = rowData.get("id").getAsString(); - id = id2UTCSlice(id); - - JsonObject data = rowData.get("data").getAsJsonObject(); - if (recordDataMap.containsKey(id)) { - mergeData(data, recordDataMap.get(id)); - } else { - Assert.fail(); - } - } - } - - private void mergeData(JsonObject expectData, JsonObject actualData) { - Iterator> iterator = expectData.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry entry = iterator.next(); - String key = entry.getKey(); - String value = null; - if (!entry.getValue().isJsonNull()) { - value = entry.getValue().getAsString(); - } - - if (entry.getValue().isJsonNull()) { - Assert.assertEquals(true, actualData.get(key).isJsonNull()); - } else { - if (key.equals("timeSlice")) { - value = String.valueOf(DateTools.changeToUTCSlice(Long.valueOf(value))); - } - Assert.assertEquals(value, actualData.get(key).getAsString()); - } - } - } - - private Map recordData2Map(List recordDataList) { - Map recordDataMap = new HashMap<>(); - for (RecordData recordData : recordDataList) { - recordDataMap.put(recordData.getId(), recordData.get()); - } - return recordDataMap; - } - - private String id2UTCSlice(String id) { - String[] ids = id.split(Const.IDS_SPLIT); - if (ids.length > 1) { - long changedSlice = DateTools.changeToUTCSlice(Long.valueOf(ids[0])); - String changedId = ""; - - for (int i = 1; i < ids.length; i++) { - changedId = changedId + Const.ID_SPLIT + ids[i]; - } - changedId = String.valueOf(changedSlice) + changedId; - return changedId; - } else { - return id; - } - - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/SpecialTimeColumn.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/SpecialTimeColumn.java deleted file mode 100644 index a160e9228..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/datamerge/SpecialTimeColumn.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.datamerge; - -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.tools.DateTools; - -/** - * @author pengys5 - */ -public enum SpecialTimeColumn { - INSTANCE; - - public String specialTimeColumnChange(String value) { - String[] values = value.split(Const.IDS_SPLIT); - long changedTime = DateTools.changeToUTCSlice(Long.valueOf(values[0])); - - String changedValue = ""; - for (int i = 1; i < values.length; i++) { - changedValue = changedValue + Const.ID_SPLIT + values[i]; - } - return String.valueOf(changedTime) + changedValue; - } - - public boolean isSpecialTimeColumn(String columnName) { - String[] specialTimeColumns = {"nodeRefId"}; - for (String column : specialTimeColumns) { - if (column.equals(columnName)) { - return true; - } - } - return false; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceGetWithGlobalIdTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceGetWithGlobalIdTestCase.java deleted file mode 100644 index 9b1e7e4ef..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceGetWithGlobalIdTestCase.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace; - -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceSearchWithGlobalId; - -import java.util.HashMap; -import java.util.Map; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class GlobalTraceGetWithGlobalIdTestCase { - - private GlobalTraceGetWithGlobalId getObj; - private GlobalTraceAnswerGet answer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - answer = new GlobalTraceAnswerGet(); - doAnswer(answer).when(workerRefs).ask(Mockito.anyString(), Mockito.any(JsonObject.class)); - - when(localWorkerContext.lookup(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE)).thenReturn(workerRefs); - getObj = new GlobalTraceGetWithGlobalId(GlobalTraceGetWithGlobalId.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(GlobalTraceGetWithGlobalId.class.getSimpleName(), GlobalTraceGetWithGlobalId.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), GlobalTraceGetWithGlobalId.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - GlobalTraceGetWithGlobalId.Factory factory = new GlobalTraceGetWithGlobalId.Factory(); - Assert.assertEquals(GlobalTraceGetWithGlobalId.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(GlobalTraceGetWithGlobalId.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - Assert.assertEquals("/globalTrace/globalId", factory.servletPath()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE)).thenReturn(new GlobalTraceSearchWithGlobalId.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(GlobalTraceSearchWithGlobalId.WorkerRole.class); - getObj.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnSearch() throws Exception { - Map request = new HashMap<>(); - String[] globalId = {"Test"}; - request.put("globalId", globalId); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = IllegalArgumentException.class) - public void testOnSearchError() throws Exception { - Map request = new HashMap<>(); - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - class GlobalTraceAnswerGet implements Answer { - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - String globalId = (String) invocation.getArguments()[0]; - Assert.assertEquals("Test", globalId); - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceIndexTestCase.java deleted file mode 100644 index 577bf79a6..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class GlobalTraceIndexTestCase { - - @Test - public void test() { - GlobalTraceIndex index = new GlobalTraceIndex(); - Assert.assertEquals("global_trace_idx", index.index()); - Assert.assertEquals(true, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - GlobalTraceIndex index = new GlobalTraceIndex(); - Assert.assertEquals("{\"properties\":{\"subSegIds\":{\"type\":\"keyword\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - GlobalTraceIndex index = new GlobalTraceIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.GlobalTraceIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceSearchTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceSearchTestCase.java deleted file mode 100644 index 12c10d054..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/GlobalTraceSearchTestCase.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace; - -import com.google.gson.JsonObject; -import org.elasticsearch.action.get.GetResponse; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceSearchWithGlobalId; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; -import org.skywalking.apm.collector.worker.storage.GetResponseFromEs; -import org.skywalking.apm.collector.worker.tools.JsonFileReader; - -import static org.powermock.api.mockito.PowerMockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {EsClient.class, GetResponseFromEs.class}) -@PowerMockIgnore("javax.management.*") -public class GlobalTraceSearchTestCase { - - @Test - public void testSearchWithGlobalId() throws Exception { - String globalTraceId = "Global.1"; - String segment_1 = "Segment.1490922929258.927784221.5991.27.1"; - - GetResponseFromEs getResponseFromEs = PowerMockito.mock(GetResponseFromEs.class); - Whitebox.setInternalState(GetResponseFromEs.class, "INSTANCE", getResponseFromEs); - - String globalData = JsonFileReader.INSTANCE.read(this.getClass().getResource("/").getPath() + "/json/globaltrace/persistence/globaltrace_search.json"); - mockSegment(getResponseFromEs, GlobalTraceIndex.INDEX, GlobalTraceIndex.TYPE_RECORD, globalTraceId, globalData); - - String segment_Data = JsonFileReader.INSTANCE.read(this.getClass().getResource("/").getPath() + "/json/globaltrace/persistence/globaltrace_segment.json"); - mockSegment(getResponseFromEs, SegmentIndex.INDEX, SegmentIndex.TYPE_RECORD, segment_1, segment_Data); - - GlobalTraceSearchWithGlobalId search = new GlobalTraceSearchWithGlobalId(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE, null, null); - - JsonObject responseObj = new JsonObject(); -// search.allocateJob(globalTraceId, responseObj); -// System.out.println(responseObj); - } - - private void mockSegment(GetResponseFromEs getResponseFromEs, String index, String type, String id, String source) { - GetResponse getResponse = mock(GetResponse.class); - when(getResponseFromEs.get(index, type, id)).thenReturn(getResponse); - when(getResponse.getSourceAsString()).thenReturn(source); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/analysis/GlobalTraceAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/analysis/GlobalTraceAnalysisTestCase.java deleted file mode 100644 index 2723f9b57..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/analysis/GlobalTraceAnalysisTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.globaltrace.persistence.GlobalTraceAgg; -import org.skywalking.apm.collector.worker.mock.MergeDataAnswer; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitData; - -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class GlobalTraceAnalysisTestCase { - - private GlobalTraceAnalysis analysis; - private SegmentMock segmentMock = new SegmentMock(); - private MergeDataAnswer answer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new MergeDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(JoinAndSplitData.class)); - - when(clusterWorkerContext.lookup(GlobalTraceAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - analysis = new GlobalTraceAnalysis(GlobalTraceAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(GlobalTraceAnalysis.class.getSimpleName(), GlobalTraceAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), GlobalTraceAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - GlobalTraceAnalysis.Factory factory = new GlobalTraceAnalysis.Factory(); - Assert.assertEquals(GlobalTraceAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(GlobalTraceAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.GlobalTrace.GlobalTraceAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - @Test - public void testAnalyse() throws Exception { - segmentMock.executeAnalysis(analysis); - - Assert.assertEquals(1, answer.getJoinAndSplitDataList().size()); - JoinAndSplitData joinAndSplitData = answer.getJoinAndSplitDataList().get(0); - Assert.assertEquals(id, joinAndSplitData.getId()); - String subSegIds = joinAndSplitData.asMap().get("subSegIds").toString(); - Assert.assertEquals(cacheServiceSubSegIds, subSegIds); - } - - private String id = "Trace.1490922929254.1797892356.6003.69.2"; - private String cacheServiceSubSegIds = "Segment.1490922929298.927784221.5991.28.1,Segment.1490922929274.1382198130.5997.47.1,Segment.1490922929258.927784221.5991.27.1,Segment.1490922929254.1797892356.6003.69.1"; -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceAggTestCase.java deleted file mode 100644 index 2433beef5..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceAggTestCase.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.MergeDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.MergeDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class GlobalTraceAggTestCase { - - private GlobalTraceAgg agg; - private MergeDataAnswer mergeDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - mergeDataAnswer = new MergeDataAnswer(); - doAnswer(mergeDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(GlobalTraceSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new GlobalTraceAgg(GlobalTraceAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(GlobalTraceAgg.class.getSimpleName(), GlobalTraceAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), GlobalTraceAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - GlobalTraceAgg.Factory factory = new GlobalTraceAgg.Factory(); - Assert.assertEquals(GlobalTraceAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(GlobalTraceAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.GlobalTrace.GlobalTraceAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(GlobalTraceSave.Role.INSTANCE)).thenReturn(new GlobalTraceSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(GlobalTraceSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - MergeDataAggTools.INSTANCE.testOnWork(agg, mergeDataAnswer); - } - - @Test - public void testOnWorkError() throws Exception { - agg.onWork(new Object()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSaveTestCase.java deleted file mode 100644 index 84f09d5ad..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.globaltrace.GlobalTraceIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class GlobalTraceSaveTestCase { - - private GlobalTraceSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new GlobalTraceSave(GlobalTraceSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(GlobalTraceIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(GlobalTraceIndex.TYPE_RECORD, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(GlobalTraceSave.class.getSimpleName(), GlobalTraceSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), GlobalTraceSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - GlobalTraceSave.Factory factory = new GlobalTraceSave.Factory(); - Assert.assertEquals(GlobalTraceSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(GlobalTraceSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalIdTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalIdTestCase.java deleted file mode 100644 index 653eb8e8e..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalIdTestCase.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.persistence; - -import com.google.gson.JsonObject; -import org.elasticsearch.action.get.GetResponse; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.globaltrace.GlobalTraceIndex; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.storage.GetResponseFromEs; - -import java.util.TimeZone; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {GetResponseFromEs.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class GlobalTraceSearchWithGlobalIdTestCase { - - private GetResponseFromEs getResponseFromEs; - - private String global_Str = "{\"subSegIds\":\"Segment.1491277162066.18986177.70531.27.1\"}"; - private String seg_str = "{\"ts\":\"Segment.1491277162066.18986177.70531.27.1\",\"st\":1491277162066,\"et\":1491277165743,\"ss\":[{\"si\":0,\"ps\":-1,\"st\":1491277162141,\"et\":1491277162144,\"on\":\"Jedis/getClient\",\"ts\":{\"span.layer\":\"db\",\"component\":\"Redis\",\"db.type\":\"Redis\",\"peer.host\":\"127.0.0.1\",\"span.kind\":\"client\"},\"tb\":{},\"ti\":{\"peer.PORT\":6379},\"lo\":[]}],\"ac\":\"cache-service\",\"gt\":[\"Trace.1491277147443.-1562443425.70539.65.2\"],\"sampled\":true,\"minute\":201704041139,\"hour\":201704041100,\"day\":201704040000,\"aggId\":null}"; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - getResponseFromEs = PowerMockito.mock(GetResponseFromEs.class); - Whitebox.setInternalState(GetResponseFromEs.class, "INSTANCE", getResponseFromEs); - } - - @Test - public void testRole() { - Assert.assertEquals(GlobalTraceSearchWithGlobalId.class.getSimpleName(), GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - GlobalTraceSearchWithGlobalId.Factory factory = new GlobalTraceSearchWithGlobalId.Factory(); - Assert.assertEquals(GlobalTraceSearchWithGlobalId.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(GlobalTraceSearchWithGlobalId.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } - - @Test - public void testOnWork() throws Exception { - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - GlobalTraceSearchWithGlobalId globalTraceSearchWithGlobalId = new GlobalTraceSearchWithGlobalId(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - GetResponse getResponse = mock(GetResponse.class); - when(getResponseFromEs.get(GlobalTraceIndex.INDEX, GlobalTraceIndex.TYPE_RECORD, "Trace.1491277147443.-1562443425.70539.65.2")).thenReturn(getResponse); - when(getResponse.getSourceAsString()).thenReturn(global_Str); - - GetResponse segResponse = mock(GetResponse.class); - when(getResponseFromEs.get(SegmentIndex.INDEX, SegmentIndex.TYPE_RECORD, "Segment.1491277162066.18986177.70531.27.1")).thenReturn(segResponse); - when(segResponse.getSourceAsString()).thenReturn(seg_str); - - JsonObject response = new JsonObject(); - globalTraceSearchWithGlobalId.onWork("Trace.1491277147443.-1562443425.70539.65.2", response); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalIdUseDB.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalIdUseDB.java deleted file mode 100644 index d0b6a5630..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/globaltrace/persistence/GlobalTraceSearchWithGlobalIdUseDB.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.skywalking.apm.collector.worker.globaltrace.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class GlobalTraceSearchWithGlobalIdUseDB { - - public static void main(String[] args) throws Exception { - EsClient.INSTANCE.boot(); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - GlobalTraceSearchWithGlobalId globalTraceSearchWithGlobalId = - new GlobalTraceSearchWithGlobalId(GlobalTraceSearchWithGlobalId.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - JsonObject response = new JsonObject(); - globalTraceSearchWithGlobalId.onWork("Trace.1491277147443.-1562443425.70539.65.2", response); - - JsonArray nodeArray = response.get("result").getAsJsonArray(); - for (int i = 0; i < nodeArray.size(); i++) { - JsonObject nodeJsonObj = nodeArray.get(i).getAsJsonObject(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetProviderTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetProviderTestCase.java deleted file mode 100644 index 12617c2f7..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetProviderTestCase.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; -import org.junit.Test; -import org.mockito.Mockito; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * @author pengys5 - */ -public class AbstractGetProviderTestCase { - - @Test - public void testCreate() throws IllegalArgumentException, ProviderNotFoundException { - ServletContextHandler handler = Mockito.mock(ServletContextHandler.class); - - TestAbstractGetProvider provider = new TestAbstractGetProvider(); - provider.create(handler); - Mockito.verify(handler).addServlet(Mockito.any(ServletHolder.class), Mockito.eq("servletPath")); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetTestCase.java deleted file mode 100644 index 11ff8a03a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractGetTestCase.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonObject; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.HashMap; -import java.util.Map; -import javax.servlet.http.HttpServletResponse; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.skywalking.apm.collector.actor.WorkerInvokeException; - -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -/** - * @author pengys5 - */ -public class AbstractGetTestCase { - - private TestAbstractGet get = spy(new TestAbstractGet(TestAbstractGet.WorkerRole.INSTANCE, null, null)); - - private HttpServletResponse response; - private PrintWriter writer; - - @Before - public void init() throws IOException { - writer = mock(PrintWriter.class); - response = mock(HttpServletResponse.class); - when(response.getWriter()).thenReturn(writer); - } - - @Test - public void testOnWork() throws Exception { - Map parameterMap = new HashMap<>(); - get.onWork(parameterMap, response); - verify(get).onReceive(any(Map.class), any(JsonObject.class)); - } - - @Test(expected = WorkerInvokeException.class) - public void testOnWorkError() throws Exception { - Map parameterMap = new HashMap<>(); - - doAnswer(new Answer() { - @Override public Object answer(InvocationOnMock invocation) throws Throwable { - JsonObject response = (JsonObject)invocation.getArguments()[0]; - Assert.assertEquals(false, response.get("isSuccess").getAsBoolean()); - Assert.assertEquals("testOnWorkError", response.get("reason").getAsString()); - return null; - } - }).when(writer).print(any(JsonObject.class)); - - doThrow(new WorkerInvokeException("testOnWorkError")).when(get).onReceive(any(Map.class), any(JsonObject.class)); - get.onWork(parameterMap, response); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostProviderTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostProviderTestCase.java deleted file mode 100644 index 157ccca84..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostProviderTestCase.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; -import org.junit.Test; -import org.mockito.Mockito; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; - -/** - * @author pengys5 - */ -public class AbstractPostProviderTestCase { - - @Test - public void testCreate() throws IllegalArgumentException, ProviderNotFoundException { - ServletContextHandler handler = Mockito.mock(ServletContextHandler.class); - - TestAbstractPostProvider provider = new TestAbstractPostProvider(); - provider.create(handler); - Mockito.verify(handler).addServlet(Mockito.any(ServletHolder.class), Mockito.eq("testPost")); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostTestCase.java deleted file mode 100644 index 43f7771b6..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/AbstractPostTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonObject; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringReader; -import java.io.Writer; -import java.util.HashMap; -import java.util.Map; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; - -import static org.mockito.Mockito.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({TestAbstractPost.class}) -@PowerMockIgnore({"javax.management.*"}) -public class AbstractPostTestCase { - - private TestAbstractPost post; - private HttpServletResponse response; - private PrintWriter writer; - - @Before - public void init() throws IOException { - writer = mock(PrintWriter.class); - response = mock(HttpServletResponse.class); - when(response.getWriter()).thenReturn(writer); - - ClusterWorkerContext clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - post = spy(new TestAbstractPost(TestAbstractPost.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext)); - } - - @Test - public void testOnWork() throws Exception { - Map parameter = new HashMap<>(); - parameter.put("Test", new String[] { - "test" - }); - post.onWork(parameter, response); - verify(post).onReceive(any(Map.class), any(JsonObject.class)); - } - - @Test - public void testOnWorkError() throws Exception { - post.onWork(new HashMap(), response); - PowerMockito.verifyPrivate(post).invoke("saveException", any(IllegalArgumentException.class)); - } - - @Test - public void testPostWithHttpServlet() throws Exception { - SegmentMock segmentMock = new SegmentMock(); - -// BufferedReader reader = new BufferedReader(new StringReader(segmentMock.mockCacheServiceExceptionSegmentAsString())); - BufferedReader reader = new BufferedReader(new StringReader(segmentMock.mockCacheServiceSegmentAsString())); - - HttpServletRequest request = mock(HttpServletRequest.class); - when(request.getReader()).thenReturn(reader); - - Writer writer = mock(Writer.class); - PrintWriter printWriter = new PrintWriter(writer); - HttpServletResponse response = mock(HttpServletResponse.class); - when(response.getWriter()).thenReturn(printWriter); - - AbstractPost.PostWithHttpServlet servlet = new AbstractPost.PostWithHttpServlet(null); - servlet.doPost(request, response); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/GetWithHttpServletTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/GetWithHttpServletTestCase.java deleted file mode 100644 index 9a83e68b2..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/GetWithHttpServletTestCase.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.junit.Assert; -import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.skywalking.apm.collector.actor.LocalSyncWorkerRef; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.PrintWriter; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -public class GetWithHttpServletTestCase { - - @Test - public void testDoGet() throws IOException, ServletException { - LocalSyncWorkerRef workerRef = mock(LocalSyncWorkerRef.class); - AbstractGet.GetWithHttpServlet servlet = new AbstractGet.GetWithHttpServlet(workerRef); - - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); - doAnswer(new Answer() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - Integer status = (Integer) invocation.getArguments()[0]; - Assert.assertEquals(new Integer(200), status); - return null; - } - }).when(response).setStatus(anyInt()); - - PrintWriter writer = mock(PrintWriter.class); - when(response.getWriter()).thenReturn(writer); - - servlet.doGet(request, response); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractGet.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractGet.java deleted file mode 100644 index d7104a1f2..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractGet.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Map; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public class TestAbstractGet extends AbstractGet { - protected TestAbstractGet(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - - } - - public static class Factory extends AbstractGetProvider { - @Override - public Role role() { - return TestAbstractGet.WorkerRole.INSTANCE; - } - - @Override - public TestAbstractGet workerInstance(ClusterWorkerContext clusterContext) { - return new TestAbstractGet(role(), clusterContext, new LocalWorkerContext()); - } - - @Override - public String servletPath() { - return "/TestAbstractGet"; - } - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return TestAbstractGet.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractGetProvider.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractGetProvider.java deleted file mode 100644 index 270a530e4..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractGetProvider.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.Role; - -/** - * @author pengys5 - */ -public class TestAbstractGetProvider extends AbstractGetProvider { - @Override - public String servletPath() { - return "servletPath"; - } - - @Override - public Role role() { - return TestAbstractGet.WorkerRole.INSTANCE; - } - - @Override - public AbstractWorker workerInstance(ClusterWorkerContext clusterContext) { - return new TestAbstractGet(role(), null, null); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractPost.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractPost.java deleted file mode 100644 index 9d1d36da8..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractPost.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.util.Map; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public class TestAbstractPost extends AbstractPost { - public TestAbstractPost(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override protected void onReceive(Map parameter, - JsonElement response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return TestAbstractPost.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } - - public static class Factory extends AbstractPostProvider { - @Override - public String servletPath() { - return "/TestAbstractPost"; - } - - @Override - public Role role() { - return TestAbstractPost.WorkerRole.INSTANCE; - } - - @Override - public TestAbstractPost workerInstance(ClusterWorkerContext clusterContext) { - return new TestAbstractPost(role(), clusterContext, new LocalWorkerContext()); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractPostProvider.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractPostProvider.java deleted file mode 100644 index a2803632e..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractPostProvider.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.Role; - -/** - * @author pengys5 - */ -public class TestAbstractPostProvider extends AbstractPostProvider { - @Override - public String servletPath() { - return "testPost"; - } - - @Override - public Role role() { - return null; - } - - @Override - public AbstractWorker workerInstance(ClusterWorkerContext clusterContext) { - return new TestAbstractPost(TestAbstractPost.WorkerRole.INSTANCE, null, null); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractStreamPost.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractStreamPost.java deleted file mode 100644 index 3311a3ed6..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractStreamPost.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import java.io.BufferedReader; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerInvokeException; -import org.skywalking.apm.collector.actor.WorkerNotFoundException; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; - -/** - * @author pengys5 - */ -public class TestAbstractStreamPost extends AbstractStreamPost { - public TestAbstractStreamPost(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override protected Class responseClass() { - return JsonObject.class; - } - - @Override - public void preStart() throws ProviderNotFoundException { - super.preStart(); - } - - @Override protected void onReceive(BufferedReader reader, - JsonObject response) throws ArgumentsParseException, WorkerInvokeException, WorkerNotFoundException { - - } - - public enum WorkerRole implements Role { - INSTANCE; - - @Override - public String roleName() { - return TestAbstractStreamPost.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } - - public static class Factory extends AbstractStreamPostProvider { - @Override - public String servletPath() { - return "/TestAbstractPost"; - } - - @Override - public Role role() { - return TestAbstractStreamPost.WorkerRole.INSTANCE; - } - - @Override - public TestAbstractStreamPost workerInstance(ClusterWorkerContext clusterContext) { - return new TestAbstractStreamPost(role(), clusterContext, new LocalWorkerContext()); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractStreamPostProvider.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractStreamPostProvider.java deleted file mode 100644 index 8951c69d9..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/httpserver/TestAbstractStreamPostProvider.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.httpserver; - -import org.skywalking.apm.collector.actor.AbstractWorker; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.Role; - -/** - * @author pengys5 - */ -public class TestAbstractStreamPostProvider extends AbstractStreamPostProvider { - @Override - public String servletPath() { - return "testPost"; - } - - @Override - public Role role() { - return null; - } - - @Override - public AbstractWorker workerInstance(ClusterWorkerContext clusterContext) { - return new TestAbstractStreamPost(TestAbstractStreamPost.WorkerRole.INSTANCE, null, null); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MergeDataAnswer.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MergeDataAnswer.java deleted file mode 100644 index 138310aca..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MergeDataAnswer.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.skywalking.apm.collector.worker.mock; - -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitData; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author pengys5 - */ -public class MergeDataAnswer implements Answer { - - private List joinAndSplitDataList = new ArrayList<>(); - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - JoinAndSplitData joinAndSplitData = (JoinAndSplitData) invocation.getArguments()[0]; - joinAndSplitDataList.add(joinAndSplitData); - return null; - } - - public List getJoinAndSplitDataList() { - return joinAndSplitDataList; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MetricDataAnswer.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MetricDataAnswer.java deleted file mode 100644 index d689b6a65..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MetricDataAnswer.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.skywalking.apm.collector.worker.mock; - -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.skywalking.apm.collector.worker.storage.MetricData; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author pengys5 - */ -public class MetricDataAnswer implements Answer { - - private List metricDataList = new ArrayList<>(); - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - MetricData metricData = (MetricData) invocation.getArguments()[0]; - metricDataList.add(metricData); - return null; - } - - public List getMetricDataList() { - return metricDataList; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockEsBulkClient.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockEsBulkClient.java deleted file mode 100644 index cd42c9f2f..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockEsBulkClient.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.skywalking.apm.collector.worker.mock; - -import org.elasticsearch.action.ListenableActionFuture; -import org.elasticsearch.action.bulk.BulkRequestBuilder; -import org.elasticsearch.action.bulk.BulkResponse; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.client.Client; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.worker.storage.EsClient; - -import static org.powermock.api.mockito.PowerMockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -public class MockEsBulkClient { - - public IndexRequestBuilder indexRequestBuilder; - - public void createMock() { - Client client = PowerMockito.mock(Client.class); - EsClient esClient = PowerMockito.mock(EsClient.class); - Whitebox.setInternalState(EsClient.class, "INSTANCE", esClient); - when(esClient.getClient()).thenReturn(client); - - BulkRequestBuilder bulkRequestBuilder = mock(BulkRequestBuilder.class); - when(client.prepareBulk()).thenReturn(bulkRequestBuilder); - - ListenableActionFuture listenableActionFuture = mock(ListenableActionFuture.class); - when(bulkRequestBuilder.execute()).thenReturn(listenableActionFuture); - - BulkResponse responses = mock(BulkResponse.class); - when(listenableActionFuture.actionGet()).thenReturn(responses); - - when(responses.hasFailures()).thenReturn(true); - - indexRequestBuilder = mock(IndexRequestBuilder.class); - - when(client.prepareIndex(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(indexRequestBuilder); - - when(indexRequestBuilder.setSource(Mockito.anyString())).thenReturn(indexRequestBuilder); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockEsClient.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockEsClient.java deleted file mode 100644 index de351e173..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockEsClient.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.skywalking.apm.collector.worker.mock; - -import org.elasticsearch.client.Client; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.worker.storage.EsClient; - -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -public class MockEsClient { - - public Client mock() { - Client client = PowerMockito.mock(Client.class); - EsClient esClient = PowerMockito.mock(EsClient.class); - Whitebox.setInternalState(EsClient.class, "INSTANCE", esClient); - when(esClient.getClient()).thenReturn(client); - return client; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockGetResponse.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockGetResponse.java deleted file mode 100644 index f3e6a8550..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/MockGetResponse.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.skywalking.apm.collector.worker.mock; - -import org.elasticsearch.action.get.GetRequestBuilder; -import org.elasticsearch.action.get.GetResponse; -import org.elasticsearch.client.Client; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -public class MockGetResponse { - - public GetResponse mockito() { - MockEsClient mockEsClient = new MockEsClient(); - Client client = mockEsClient.mock(); - - GetRequestBuilder builder = mock(GetRequestBuilder.class); - GetResponse getResponse = mock(GetResponse.class); - when(builder.get()).thenReturn(getResponse); - - when(client.prepareGet(anyString(), anyString(), anyString())).thenReturn(builder); - - return getResponse; - } - - public GetResponse mockito(String index, String type, String id) { - MockEsClient mockEsClient = new MockEsClient(); - Client client = mockEsClient.mock(); - - GetRequestBuilder builder = mock(GetRequestBuilder.class); - GetResponse getResponse = mock(GetResponse.class); - when(builder.get()).thenReturn(getResponse); - - when(client.prepareGet(index, type, id)).thenReturn(builder); - - return getResponse; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/RecordDataAnswer.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/RecordDataAnswer.java deleted file mode 100644 index 8552e848b..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/RecordDataAnswer.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.skywalking.apm.collector.worker.mock; - -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author pengys5 - */ -public class RecordDataAnswer implements Answer { - - private List recordDataList = new ArrayList<>(); - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - RecordData recordData = (RecordData) invocation.getArguments()[0]; - recordDataList.add(recordData); - return null; - } - - public List getRecordDataList() { - return recordDataList; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/SaveToEsSourceAnswer.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/SaveToEsSourceAnswer.java deleted file mode 100644 index 06d34c2cf..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/mock/SaveToEsSourceAnswer.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.skywalking.apm.collector.worker.mock; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - -/** - * @author pengys5 - */ -public class SaveToEsSourceAnswer implements Answer { - - public SourceObj sourceObj = new SourceObj(); - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - Gson gson = new Gson(); - String source = (String) invocation.getArguments()[0]; - JsonObject sourceJsonObj = gson.fromJson(source, JsonObject.class); - sourceObj.setSource(sourceJsonObj); - return null; - } - - public class SourceObj { - private JsonArray source; - - public SourceObj() { - source = new JsonArray(); - } - - public void setSource(JsonObject source) { - this.source.add(source); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/NodeCompIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/NodeCompIndexTestCase.java deleted file mode 100644 index 9cc020416..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/NodeCompIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.node; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeCompIndexTestCase { - - @Test - public void test() { - NodeCompIndex index = new NodeCompIndex(); - Assert.assertEquals("node_comp_idx", index.index()); - Assert.assertEquals(false, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - NodeCompIndex index = new NodeCompIndex(); - Assert.assertEquals("{\"properties\":{\"name\":{\"type\":\"keyword\"},\"peers\":{\"type\":\"keyword\"},\"aggId\":{\"type\":\"keyword\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - NodeCompIndex index = new NodeCompIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.NodeCompIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/NodeMappingIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/NodeMappingIndexTestCase.java deleted file mode 100644 index 339c4ad4b..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/NodeMappingIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.node; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeMappingIndexTestCase { - - @Test - public void test() { - NodeMappingIndex index = new NodeMappingIndex(); - Assert.assertEquals("node_mapping_idx", index.index()); - Assert.assertEquals(false, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - NodeMappingIndex index = new NodeMappingIndex(); - Assert.assertEquals("{\"properties\":{\"code\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"peers\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"string\",\"index\":\"not_analyzed\"},\"timeSlice\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - NodeMappingIndex index = new NodeMappingIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.NodeMappingIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeAnalysisVerify.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeAnalysisVerify.java deleted file mode 100644 index aea1cb561..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeAnalysisVerify.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.junit.Assert; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataTool; - -import java.util.List; - -/** - * @author pengys5 - */ -public enum NodeAnalysisVerify { - INSTANCE; - - public void verify(List recordDataList, long timeSlice) { - Assert.assertEquals(9, recordDataList.size()); - - RecordData data_1 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..[localhost:-1]"); - Assert.assertEquals("H2", data_1.get().get("component").getAsString()); - Assert.assertEquals("[localhost:-1]", data_1.get().get("peers").getAsString()); - Assert.assertEquals("[localhost:-1]", data_1.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_1.get().get("timeSlice").getAsLong()); - - RecordData data_2 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..portal-service"); - Assert.assertEquals("Tomcat", data_2.get().get("component").getAsString()); - Assert.assertEquals("portal-service", data_2.get().get("peers").getAsString()); - Assert.assertEquals("portal-service", data_2.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_2.get().get("timeSlice").getAsLong()); - - RecordData data_3 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..persistence-service"); - Assert.assertEquals(false, data_3.get().has("component")); - Assert.assertEquals("persistence-service", data_3.get().get("peers").getAsString()); - Assert.assertEquals("persistence-service", data_3.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_3.get().get("timeSlice").getAsLong()); - - RecordData data_4 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..[10.128.35.80:20880]"); - Assert.assertEquals("HttpClient", data_4.get().get("component").getAsString()); - Assert.assertEquals("[10.128.35.80:20880]", data_4.get().get("peers").getAsString()); - Assert.assertEquals("[10.128.35.80:20880]", data_4.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_4.get().get("timeSlice").getAsLong()); - - RecordData data_5 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..[127.0.0.1:6379]"); - Assert.assertEquals("Redis", data_5.get().get("component").getAsString()); - Assert.assertEquals("[127.0.0.1:6379]", data_5.get().get("peers").getAsString()); - Assert.assertEquals("[127.0.0.1:6379]", data_5.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_5.get().get("timeSlice").getAsLong()); - - RecordData data_6 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..[127.0.0.1:8002]"); - Assert.assertEquals("Motan", data_6.get().get("component").getAsString()); - Assert.assertEquals("[127.0.0.1:8002]", data_6.get().get("peers").getAsString()); - Assert.assertEquals("[127.0.0.1:8002]", data_6.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_6.get().get("timeSlice").getAsLong()); - - RecordData data_7 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..User"); - Assert.assertEquals(false, data_7.get().has("component")); - Assert.assertEquals("User", data_7.get().get("peers").getAsString()); - Assert.assertEquals("User", data_7.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_7.get().get("timeSlice").getAsLong()); - - RecordData data_8 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..[127.0.0.1:3307]"); - Assert.assertEquals("Mysql", data_8.get().get("component").getAsString()); - Assert.assertEquals("[127.0.0.1:3307]", data_8.get().get("peers").getAsString()); - Assert.assertEquals("[127.0.0.1:3307]", data_8.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_8.get().get("timeSlice").getAsLong()); - - RecordData data_9 = RecordDataTool.INSTANCE.getRecord(recordDataList, timeSlice + "..-..cache-service"); - Assert.assertEquals(false, data_9.get().has("component")); - Assert.assertEquals("cache-service", data_9.get().get("peers").getAsString()); - Assert.assertEquals("cache-service", data_9.get().get("aggId").getAsString()); - Assert.assertEquals(timeSlice, data_9.get().get("timeSlice").getAsLong()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeCompAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeCompAnalysisTestCase.java deleted file mode 100644 index 80f02c42d..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeCompAnalysisTestCase.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.datamerge.RecordDataMergeJson; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.node.persistence.NodeCompAgg; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.List; -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeCompAnalysisTestCase { - - private NodeCompAnalysis analysis; - private SegmentMock segmentMock = new SegmentMock(); - private RecordDataAnswer answer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new RecordDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(clusterWorkerContext.lookup(NodeCompAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - analysis = new NodeCompAnalysis(NodeCompAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeCompAnalysis.class.getSimpleName(), NodeCompAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeCompAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeCompAnalysis.Factory factory = new NodeCompAnalysis.Factory(); - Assert.assertEquals(NodeCompAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeCompAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.Node.NodeCompAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/node/analysis/node_comp_analysis.json"; - - @Test - public void testAnalyse() throws Exception { - segmentMock.executeAnalysis(analysis); - - List recordDataList = answer.getRecordDataList(); - RecordDataMergeJson.INSTANCE.merge(jsonFile, recordDataList); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingDayAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingDayAnalysisTestCase.java deleted file mode 100644 index ac773cfec..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingDayAnalysisTestCase.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.datamerge.RecordDataMergeJson; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingDayAgg; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefResSumDayAnalysis; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.List; -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeMappingDayAnalysisTestCase { - - private NodeMappingDayAnalysis analysis; - private SegmentMock segmentMock = new SegmentMock(); - private RecordDataAnswer answer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new RecordDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(clusterWorkerContext.lookup(NodeMappingDayAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - analysis = new NodeMappingDayAnalysis(NodeMappingDayAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingDayAnalysis.class.getSimpleName(), NodeMappingDayAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeMappingDayAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingDayAnalysis.Factory factory = new NodeMappingDayAnalysis.Factory(); - Assert.assertEquals(NodeMappingDayAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingDayAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.Node.NodeMappingDayAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - @Test(expected = Exception.class) - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefResSumDayAnalysis.Role.INSTANCE)).thenThrow(new Exception()); - analysis.preStart(); - } - - String jsonFile = "/json/node/analysis/node_mapping_day_analysis.json"; - - @Test - public void testAnalyse() throws Exception { - segmentMock.executeAnalysis(analysis); - - List recordDataList = answer.getRecordDataList(); - RecordDataMergeJson.INSTANCE.merge(jsonFile, recordDataList); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingHourAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingHourAnalysisTestCase.java deleted file mode 100644 index e844b7115..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingHourAnalysisTestCase.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.datamerge.RecordDataMergeJson; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingHourAgg; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.List; -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeMappingHourAnalysisTestCase { - - private NodeMappingHourAnalysis analysis; - private SegmentMock segmentMock = new SegmentMock(); - private RecordDataAnswer answer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new RecordDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(clusterWorkerContext.lookup(NodeMappingHourAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - analysis = new NodeMappingHourAnalysis(NodeMappingHourAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingHourAnalysis.class.getSimpleName(), NodeMappingHourAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeMappingHourAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingHourAnalysis.Factory factory = new NodeMappingHourAnalysis.Factory(); - Assert.assertEquals(NodeMappingHourAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingHourAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.Node.NodeMappingHourAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/node/analysis/node_mapping_hour_analysis.json"; - - @Test - public void testAnalyse() throws Exception { - segmentMock.executeAnalysis(analysis); - - List recordDataList = answer.getRecordDataList(); - RecordDataMergeJson.INSTANCE.merge(jsonFile, recordDataList); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingMinuteAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingMinuteAnalysisTestCase.java deleted file mode 100644 index 1ceca1e68..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/analysis/NodeMappingMinuteAnalysisTestCase.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.skywalking.apm.collector.worker.node.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.datamerge.RecordDataMergeJson; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingMinuteAgg; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.List; -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeMappingMinuteAnalysisTestCase { - - private NodeMappingMinuteAnalysis analysis; - private SegmentMock segmentMock = new SegmentMock(); - private RecordDataAnswer answer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new RecordDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(clusterWorkerContext.lookup(NodeMappingMinuteAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - analysis = new NodeMappingMinuteAnalysis(NodeMappingMinuteAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingMinuteAnalysis.class.getSimpleName(), NodeMappingMinuteAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeMappingMinuteAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingMinuteAnalysis.Factory factory = new NodeMappingMinuteAnalysis.Factory(); - Assert.assertEquals(NodeMappingMinuteAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingMinuteAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.Node.NodeMappingMinuteAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/node/analysis/node_mapping_minute_analysis.json"; - - @Test - public void testAnalyse() throws Exception { - segmentMock.executeAnalysis(analysis); - - List recordDataList = answer.getRecordDataList(); - RecordDataMergeJson.INSTANCE.merge(jsonFile, recordDataList); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompAggTestCase.java deleted file mode 100644 index 384ef3dd6..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompAggTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeCompAggTestCase { - - private NodeCompAgg agg; - private RecordDataAnswer recordDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - private LocalWorkerContext localWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - recordDataAnswer = new RecordDataAnswer(); - doAnswer(recordDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(NodeCompSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeCompAgg(NodeCompAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeCompAgg.class.getSimpleName(), NodeCompAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeCompAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeCompAgg.Factory factory = new NodeCompAgg.Factory(); - Assert.assertEquals(NodeCompAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeCompAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.Node.NodeCompAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeCompSave.Role.INSTANCE)).thenReturn(new NodeCompSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeCompSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - RecordDataAggTools.INSTANCE.testOnWork(agg, recordDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompSaveTestCase.java deleted file mode 100644 index eb2e4afd5..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.node.NodeCompIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeCompSaveTestCase { - - private NodeCompSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeCompSave(NodeCompSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeCompIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeCompIndex.TYPE_RECORD, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeCompSave.class.getSimpleName(), NodeCompSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeCompSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeCompSave.Factory factory = new NodeCompSave.Factory(); - Assert.assertEquals(NodeCompSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeCompSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompWithTimeSliceUseDB.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompWithTimeSliceUseDB.java deleted file mode 100644 index c8e671ab7..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeCompWithTimeSliceUseDB.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeCompWithTimeSliceUseDB { - - public static void main(String[] args) throws Exception { - EsClient.INSTANCE.boot(); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - NodeCompLoad nodeCompLoad = - new NodeCompLoad(NodeCompLoad.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - JsonObject response = new JsonObject(); - nodeCompLoad.onWork(null, response); - - JsonArray nodeArray = response.get("result").getAsJsonArray(); - for (int i = 0; i < nodeArray.size(); i++) { - JsonObject nodeJsonObj = nodeArray.get(i).getAsJsonObject(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDayAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDayAggTestCase.java deleted file mode 100644 index 7fa32aa43..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDayAggTestCase.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeMappingDayAggTestCase { - - private NodeMappingDayAgg agg; - private RecordDataAnswer recordDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - recordDataAnswer = new RecordDataAnswer(); - doAnswer(recordDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(NodeMappingDaySave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeMappingDayAgg(NodeMappingDayAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingDayAgg.class.getSimpleName(), NodeMappingDayAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeMappingDayAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingDayAgg.Factory factory = new NodeMappingDayAgg.Factory(); - Assert.assertEquals(NodeMappingDayAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingDayAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.Node.NodeMappingDayAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeMappingDaySave.Role.INSTANCE)).thenReturn(new NodeMappingDaySave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeMappingDaySave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - RecordDataAggTools.INSTANCE.testOnWork(agg, recordDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDaySaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDaySaveTestCase.java deleted file mode 100644 index 7a9424e32..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingDaySaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeMappingDaySaveTestCase { - - private NodeMappingDaySave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeMappingDaySave(NodeMappingDaySave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeMappingIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeMappingIndex.TYPE_DAY, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingDaySave.class.getSimpleName(), NodeMappingDaySave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeMappingDaySave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingDaySave.Factory factory = new NodeMappingDaySave.Factory(); - Assert.assertEquals(NodeMappingDaySave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingDaySave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourAggTestCase.java deleted file mode 100644 index 2eab19f7f..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourAggTestCase.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeMappingHourAggTestCase { - - private NodeMappingHourAgg agg; - private RecordDataAnswer recordDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - recordDataAnswer = new RecordDataAnswer(); - doAnswer(recordDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(NodeMappingHourSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeMappingHourAgg(NodeMappingHourAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingHourAgg.class.getSimpleName(), NodeMappingHourAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeMappingHourAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingHourAgg.Factory factory = new NodeMappingHourAgg.Factory(); - Assert.assertEquals(NodeMappingHourAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingHourAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.Node.NodeMappingHourAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeMappingHourSave.Role.INSTANCE)).thenReturn(new NodeMappingHourSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeMappingHourSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - RecordDataAggTools.INSTANCE.testOnWork(agg, recordDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourSaveTestCase.java deleted file mode 100644 index 454a99c30..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingHourSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeMappingHourSaveTestCase { - - private NodeMappingHourSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeMappingHourSave(NodeMappingHourSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeMappingIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeMappingIndex.TYPE_HOUR, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingHourSave.class.getSimpleName(), NodeMappingHourSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeMappingHourSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingHourSave.Factory factory = new NodeMappingHourSave.Factory(); - Assert.assertEquals(NodeMappingHourSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingHourSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteAggTestCase.java deleted file mode 100644 index c20af26cd..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteAggTestCase.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeMappingMinuteAggTestCase { - - private NodeMappingMinuteAgg agg; - private RecordDataAnswer recordDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - recordDataAnswer = new RecordDataAnswer(); - doAnswer(recordDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(NodeMappingMinuteSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeMappingMinuteAgg(NodeMappingMinuteAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingMinuteAgg.class.getSimpleName(), NodeMappingMinuteAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeMappingMinuteAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingMinuteAgg.Factory factory = new NodeMappingMinuteAgg.Factory(); - Assert.assertEquals(NodeMappingMinuteAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingMinuteAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.Node.NodeMappingMinuteAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeMappingMinuteSave.Role.INSTANCE)).thenReturn(new NodeMappingMinuteSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeMappingMinuteSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - RecordDataAggTools.INSTANCE.testOnWork(agg, recordDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteSaveTestCase.java deleted file mode 100644 index 1ee717bba..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingMinuteSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeMappingMinuteSaveTestCase { - - private NodeMappingMinuteSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeMappingMinuteSave(NodeMappingMinuteSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeMappingIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeMappingIndex.TYPE_MINUTE, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeMappingMinuteSave.class.getSimpleName(), NodeMappingMinuteSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeMappingMinuteSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeMappingMinuteSave.Factory factory = new NodeMappingMinuteSave.Factory(); - Assert.assertEquals(NodeMappingMinuteSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeMappingMinuteSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingSearchWithTimeSliceUseDB.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingSearchWithTimeSliceUseDB.java deleted file mode 100644 index 11da21e95..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/node/persistence/NodeMappingSearchWithTimeSliceUseDB.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.node.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.node.NodeMappingIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeMappingSearchWithTimeSliceUseDB { - - public static void main(String[] args) throws Exception { - EsClient.INSTANCE.boot(); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - NodeMappingSearchWithTimeSlice nodeMappingSearch = - new NodeMappingSearchWithTimeSlice(NodeMappingSearchWithTimeSlice.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - long startTime = 201703310910L; - long endTime = 201703310920L; - JsonObject response = new JsonObject(); - NodeMappingSearchWithTimeSlice.RequestEntity requestEntity = - new NodeMappingSearchWithTimeSlice.RequestEntity(NodeMappingIndex.TYPE_MINUTE, startTime, endTime); - nodeMappingSearch.onWork(requestEntity, response); - - JsonArray nodeArray = response.get("result").getAsJsonArray(); - for (int i = 0; i < nodeArray.size(); i++) { - JsonObject nodeJsonObj = nodeArray.get(i).getAsJsonObject(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefIndexTestCase.java deleted file mode 100644 index 6d2706de3..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeRefIndexTestCase { - - @Test - public void test() { - NodeRefIndex index = new NodeRefIndex(); - Assert.assertEquals("node_ref_idx", index.index()); - Assert.assertEquals(false, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - NodeRefIndex index = new NodeRefIndex(); - Assert.assertEquals("{\"properties\":{\"front\":{\"type\":\"keyword\"},\"frontIsRealCode\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"behind\":{\"type\":\"keyword\"},\"behindIsRealCode\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"keyword\"},\"timeSlice\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - NodeRefIndex index = new NodeRefIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.NodeRefIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSliceTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSliceTestCase.java deleted file mode 100644 index 8da99a6a2..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumGetGroupWithTimeSliceTestCase.java +++ /dev/null @@ -1,143 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef; - -import com.google.gson.JsonObject; -import java.util.HashMap; -import java.util.Map; -import java.util.TimeZone; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumGroupWithTimeSlice; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({ClusterWorkerContext.class}) -@PowerMockIgnore({"javax.management.*"}) -public class NodeRefResSumGetGroupWithTimeSliceTestCase { - - private NodeRefResSumGetGroupWithTimeSlice getObj; - private NodeRefResSumGetAnswerGet answer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - answer = new NodeRefResSumGetAnswerGet(); - doAnswer(answer).when(workerRefs).ask(Mockito.any(NodeRefResSumGroupWithTimeSlice.RequestEntity.class), Mockito.any(JsonObject.class)); - - when(localWorkerContext.lookup(NodeRefResSumGroupWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(workerRefs); - getObj = new NodeRefResSumGetGroupWithTimeSlice(NodeRefResSumGetGroupWithTimeSlice.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumGetGroupWithTimeSlice.class.getSimpleName(), NodeRefResSumGetGroupWithTimeSlice.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeRefResSumGetGroupWithTimeSlice.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumGetGroupWithTimeSlice.Factory factory = new NodeRefResSumGetGroupWithTimeSlice.Factory(); - Assert.assertEquals(NodeRefResSumGetGroupWithTimeSlice.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumGetGroupWithTimeSlice.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - Assert.assertEquals("/nodeRef/resSum/groupTimeSlice", factory.servletPath()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefResSumGroupWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(new NodeRefResSumGroupWithTimeSlice.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefResSumGroupWithTimeSlice.WorkerRole.class); - getObj.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnReceive() throws Exception { - Map request = new HashMap<>(); - String[] startTime = {"100"}; - request.put("startTime", startTime); - String[] endTime = {"200"}; - request.put("endTime", endTime); - String[] timeSliceType = {"minute"}; - request.put("timeSliceType", timeSliceType); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnReceiveError() throws Exception { - Map request = new HashMap<>(); - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnReceiveStartTimeError() throws Exception { - Map request = new HashMap<>(); - String[] startTime = {"x"}; - request.put("startTime", startTime); - String[] endTime = {"200"}; - request.put("endTime", endTime); - String[] timeSliceType = {"minute"}; - request.put("timeSliceType", timeSliceType); - JsonObject response = new JsonObject(); - - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnReceiveEndTimeError() throws Exception { - Map request = new HashMap<>(); - String[] startTime = {"100"}; - request.put("startTime", startTime); - String[] endTime = {"x"}; - request.put("endTime", endTime); - String[] timeSliceType = {"minute"}; - request.put("timeSliceType", timeSliceType); - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - class NodeRefResSumGetAnswerGet implements Answer { - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - NodeRefResSumGroupWithTimeSlice.RequestEntity requestEntity = (NodeRefResSumGroupWithTimeSlice.RequestEntity)invocation.getArguments()[0]; - Assert.assertEquals(100L, requestEntity.getStartTime()); - Assert.assertEquals(200L, requestEntity.getEndTime()); - Assert.assertEquals("minute", requestEntity.getSliceType()); - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumIndexTestCase.java deleted file mode 100644 index 778ce5a83..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/NodeRefResSumIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class NodeRefResSumIndexTestCase { - - @Test - public void test() { - NodeRefResSumIndex index = new NodeRefResSumIndex(); - Assert.assertEquals("node_ref_res_sum_idx", index.index()); - Assert.assertEquals(false, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - NodeRefResSumIndex index = new NodeRefResSumIndex(); - Assert.assertEquals("{\"properties\":{\"oneSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"threeSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"fiveSecondLess\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"fiveSecondGreater\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"error\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"summary\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"aggId\":{\"type\":\"keyword\"},\"timeSlice\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - NodeRefResSumIndex index = new NodeRefResSumIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.NodeRefResSumIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefResSumAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefResSumAnalysisTestCase.java deleted file mode 100644 index 550faf477..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/AbstractNodeRefResSumAnalysisTestCase.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import java.lang.reflect.Field; -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.actor.selector.WorkerSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.storage.MetricAnalysisData; - -/** - * @author pengys5 - */ -public class AbstractNodeRefResSumAnalysisTestCase { - - @Test - public void analyseResSum() throws Exception { - Impl impl = new Impl(Role.INSTANCE, null, null); - - AbstractNodeRefResSumAnalysis.NodeRefResRecord record = - new AbstractNodeRefResSumAnalysis.NodeRefResRecord(1, 2, 3, 4); - record.setStartTime(10); - record.setEndTime(20); - record.setError(false); - - String id = 2017 + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - record.setNodeRefId(id); - Assert.assertEquals(id, record.getNodeRefId()); - - impl.analyseResSum(record); - - record.setStartTime(0); - record.setEndTime(2000); - record.setError(false); - impl.analyseResSum(record); - - record.setStartTime(0); - record.setEndTime(4000); - record.setError(false); - impl.analyseResSum(record); - - record.setStartTime(0); - record.setEndTime(6000); - record.setError(false); - impl.analyseResSum(record); - - record.setStartTime(0); - record.setEndTime(6000); - record.setError(true); - impl.analyseResSum(record); - - Field testAField = impl.getClass().getSuperclass().getSuperclass().getDeclaredField("metricAnalysisData"); - testAField.setAccessible(true); - - MetricAnalysisData metricAnalysisData = (MetricAnalysisData)testAField.get(impl); - - Assert.assertEquals(1L, metricAnalysisData.asMap().get("2017..-..A..-..B").asMap().get("oneSecondLess")); - Assert.assertEquals(1L, metricAnalysisData.asMap().get("2017..-..A..-..B").asMap().get("threeSecondLess")); - Assert.assertEquals(1L, metricAnalysisData.asMap().get("2017..-..A..-..B").asMap().get("fiveSecondLess")); - Assert.assertEquals(1L, metricAnalysisData.asMap().get("2017..-..A..-..B").asMap().get("fiveSecondGreater")); - Assert.assertEquals(1L, metricAnalysisData.asMap().get("2017..-..A..-..B").asMap().get("error")); - Assert.assertEquals(5L, metricAnalysisData.asMap().get("2017..-..A..-..B").asMap().get("summary")); - } - - class Impl extends AbstractNodeRefResSumAnalysis { - Impl(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { - super(role, clusterContext, selfContext); - } - - @Override - public void analyse(Object message) { - - } - - @Override - protected WorkerRefs aggWorkRefs() { - return null; - } - } - - enum Role implements org.skywalking.apm.collector.actor.Role { - INSTANCE; - - @Override - public String roleName() { - return Impl.class.getSimpleName(); - } - - @Override - public WorkerSelector workerSelector() { - return new RollingSelector(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefAnalyse.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefAnalyse.java deleted file mode 100644 index bce63c29e..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefAnalyse.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import org.skywalking.apm.collector.worker.datamerge.JsonDataMerge; -import org.skywalking.apm.collector.worker.datamerge.RecordDataMergeJson; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.List; - -/** - * @author pengys5 - */ -public enum NodeRefAnalyse { - INSTANCE; - - public void analyse(String resSumJsonFile, String jsonFile, AbstractNodeRefAnalysis analysis, - RecordDataAnswer answer, NodeRefResRecordAnswer recordAnswer) throws Exception { - SegmentMock segmentMock = new SegmentMock(); - segmentMock.executeAnalysis(analysis); - - List recordDataList = answer.getRecordDataList(); - RecordDataMergeJson.INSTANCE.merge(jsonFile, recordDataList); - - Gson gson = new Gson(); - String recordJsonStr = gson.toJson(recordAnswer.getNodeRefResRecordList()); - JsonArray recordJsonArray = gson.fromJson(recordJsonStr, JsonArray.class); - JsonDataMerge.INSTANCE.merge(resSumJsonFile, recordJsonArray); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefDayAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefDayAnalysisTestCase.java deleted file mode 100644 index 6033fc665..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefDayAnalysisTestCase.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefDayAgg; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefDayAnalysisTestCase { - - private NodeRefDayAnalysis analysis; - private RecordDataAnswer answer; - private ClusterWorkerContext clusterWorkerContext; - private NodeRefResRecordAnswer recordAnswer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new RecordDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(clusterWorkerContext.lookup(NodeRefDayAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - - WorkerRefs nodeRefResSumWorkerRefs = mock(WorkerRefs.class); - recordAnswer = new NodeRefResRecordAnswer(); - doAnswer(recordAnswer).when(nodeRefResSumWorkerRefs).tell(Mockito.any(AbstractNodeRefResSumAnalysis.NodeRefResRecord.class)); - - when(localWorkerContext.lookup(NodeRefResSumDayAnalysis.Role.INSTANCE)).thenReturn(nodeRefResSumWorkerRefs); - analysis = new NodeRefDayAnalysis(NodeRefDayAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefDayAnalysis.class.getSimpleName(), NodeRefDayAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeRefDayAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefDayAnalysis.Factory factory = new NodeRefDayAnalysis.Factory(); - Assert.assertEquals(NodeRefDayAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefDayAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.NodeRef.NodeRefDayAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/noderef/analysis/noderef_day_analysis.json"; - String resSumJsonFile = "/json/noderef/analysis/noderef_ressum_day_analysis_request.json"; - - @Test - public void testAnalyse() throws Exception { - NodeRefAnalyse.INSTANCE.analyse(resSumJsonFile, jsonFile, analysis, answer, recordAnswer); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - Mockito.when(clusterWorkerContext.findProvider(NodeRefResSumDayAnalysis.Role.INSTANCE)).thenReturn(new NodeRefResSumDayAnalysis.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefResSumDayAnalysis.Role.class); - analysis.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefHourAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefHourAnalysisTestCase.java deleted file mode 100644 index e528ab9e4..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefHourAnalysisTestCase.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefHourAgg; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefHourAnalysisTestCase { - - private NodeRefHourAnalysis analysis; - private RecordDataAnswer answer; - private ClusterWorkerContext clusterWorkerContext; - private NodeRefResRecordAnswer recordAnswer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new RecordDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(clusterWorkerContext.lookup(NodeRefHourAgg.Role.INSTANCE)).thenReturn(workerRefs); - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - - WorkerRefs nodeRefResSumWorkerRefs = mock(WorkerRefs.class); - recordAnswer = new NodeRefResRecordAnswer(); - doAnswer(recordAnswer).when(nodeRefResSumWorkerRefs).tell(Mockito.any(AbstractNodeRefResSumAnalysis.NodeRefResRecord.class)); - - when(localWorkerContext.lookup(NodeRefResSumHourAnalysis.Role.INSTANCE)).thenReturn(nodeRefResSumWorkerRefs); - analysis = new NodeRefHourAnalysis(NodeRefHourAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefHourAnalysis.class.getSimpleName(), NodeRefHourAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeRefHourAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefHourAnalysis.Factory factory = new NodeRefHourAnalysis.Factory(); - Assert.assertEquals(NodeRefHourAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefHourAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.NodeRef.NodeRefHourAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/noderef/analysis/noderef_hour_analysis.json"; - String resSumJsonFile = "/json/noderef/analysis/noderef_ressum_hour_analysis_request.json"; - - @Test - public void testAnalyse() throws Exception { - NodeRefAnalyse.INSTANCE.analyse(resSumJsonFile, jsonFile, analysis, answer, recordAnswer); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - Mockito.when(clusterWorkerContext.findProvider(NodeRefResSumHourAnalysis.Role.INSTANCE)).thenReturn(new NodeRefResSumHourAnalysis.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefResSumHourAnalysis.Role.class); - analysis.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefMinuteAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefMinuteAnalysisTestCase.java deleted file mode 100644 index 49cfc09b8..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefMinuteAnalysisTestCase.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefMinuteAgg; -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefMinuteAnalysisTestCase { - - private NodeRefMinuteAnalysis analysis; - private RecordDataAnswer answer; - private ClusterWorkerContext clusterWorkerContext; - private NodeRefResRecordAnswer recordAnswer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new RecordDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(clusterWorkerContext.lookup(NodeRefMinuteAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - - WorkerRefs nodeRefResSumWorkerRefs = mock(WorkerRefs.class); - recordAnswer = new NodeRefResRecordAnswer(); - doAnswer(recordAnswer).when(nodeRefResSumWorkerRefs).tell(Mockito.any(AbstractNodeRefResSumAnalysis.NodeRefResRecord.class)); - - when(localWorkerContext.lookup(NodeRefResSumMinuteAnalysis.Role.INSTANCE)).thenReturn(nodeRefResSumWorkerRefs); - analysis = new NodeRefMinuteAnalysis(NodeRefMinuteAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefMinuteAnalysis.class.getSimpleName(), NodeRefMinuteAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeRefMinuteAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefMinuteAnalysis.Factory factory = new NodeRefMinuteAnalysis.Factory(); - Assert.assertEquals(NodeRefMinuteAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefMinuteAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.NodeRef.NodeRefMinuteAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/noderef/analysis/noderef_minute_analysis.json"; - String resSumJsonFile = "/json/noderef/analysis/noderef_ressum_minute_analysis_request.json"; - - @Test - public void testAnalyse() throws Exception { - NodeRefAnalyse.INSTANCE.analyse(resSumJsonFile, jsonFile, analysis, answer, recordAnswer); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - Mockito.when(clusterWorkerContext.findProvider(NodeRefResSumMinuteAnalysis.Role.INSTANCE)).thenReturn(new NodeRefResSumMinuteAnalysis.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefResSumMinuteAnalysis.Role.class); - analysis.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResRecordAnswer.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResRecordAnswer.java deleted file mode 100644 index 16a7fd67f..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResRecordAnswer.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author pengys5 - */ -public class NodeRefResRecordAnswer implements Answer { - - private Gson gson = new Gson(); - private List nodeRefResRecordList = new ArrayList<>(); - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - AbstractNodeRefResSumAnalysis.NodeRefResRecord nodeRefResRecord = (AbstractNodeRefResSumAnalysis.NodeRefResRecord) invocation.getArguments()[0]; - String recordJsonStr = gson.toJson(nodeRefResRecord); - JsonObject recordJsonObj = gson.fromJson(recordJsonStr, JsonObject.class); - nodeRefResRecordList.add(recordJsonObj); - return null; - } - - public List getNodeRefResRecordList() { - return nodeRefResRecordList; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumAnalyse.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumAnalyse.java deleted file mode 100644 index 8a719c8b5..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumAnalyse.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import org.skywalking.apm.collector.queue.EndOfBatchCommand; -import org.skywalking.apm.collector.worker.datamerge.MetricDataMergeJson; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.MetricData; - -import java.util.List; - -/** - * @author pengys5 - */ -public enum NodeRefResSumAnalyse { - INSTANCE; - - public void analyse(String requestJsonFile, String jsonFile, AbstractNodeRefResSumAnalysis analysis, - MetricDataAnswer answer) throws Exception { - SegmentMock segmentMock = new SegmentMock(); - String requestJsonStr = segmentMock.loadJsonFile(requestJsonFile); - Gson gson = new Gson(); - List resRecordList = gson.fromJson(requestJsonStr, new TypeToken>() { - }.getType()); - - for (AbstractNodeRefResSumAnalysis.NodeRefResRecord resRecord : resRecordList) { - analysis.analyse(resRecord); - } - - analysis.onWork(new EndOfBatchCommand()); - List metricDataList = answer.getMetricDataList(); - MetricDataMergeJson.INSTANCE.merge(jsonFile, metricDataList); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumDayAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumDayAnalysisTestCase.java deleted file mode 100644 index 902b9000b..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumDayAnalysisTestCase.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumDayAgg; -import org.skywalking.apm.collector.worker.storage.MetricData; - -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefResSumDayAnalysisTestCase { - - private NodeRefResSumDayAnalysis analysis; - private MetricDataAnswer answer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new MetricDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(MetricData.class)); - - when(clusterWorkerContext.lookup(NodeRefResSumDayAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - analysis = new NodeRefResSumDayAnalysis(NodeRefResSumDayAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumDayAnalysis.class.getSimpleName(), NodeRefResSumDayAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeRefResSumDayAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumDayAnalysis.Factory factory = new NodeRefResSumDayAnalysis.Factory(); - Assert.assertEquals(NodeRefResSumDayAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumDayAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.NodeRef.NodeRefResSumDayAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/noderef/analysis/noderef_ressum_day_analysis.json"; - String requestJsonFile = "/json/noderef/analysis/noderef_ressum_day_analysis_request.json"; - - @Test - public void testAnalyse() throws Exception { - NodeRefResSumAnalyse.INSTANCE.analyse(requestJsonFile, jsonFile, analysis, answer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumHourAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumHourAnalysisTestCase.java deleted file mode 100644 index b8c669e08..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumHourAnalysisTestCase.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumHourAgg; -import org.skywalking.apm.collector.worker.storage.MetricData; - -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefResSumHourAnalysisTestCase { - - private NodeRefResSumHourAnalysis analysis; - private MetricDataAnswer answer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new MetricDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(MetricData.class)); - - when(clusterWorkerContext.lookup(NodeRefResSumHourAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - analysis = new NodeRefResSumHourAnalysis(NodeRefResSumHourAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumHourAnalysis.class.getSimpleName(), NodeRefResSumHourAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeRefResSumHourAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumHourAnalysis.Factory factory = new NodeRefResSumHourAnalysis.Factory(); - Assert.assertEquals(NodeRefResSumHourAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumHourAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.NodeRef.NodeRefResSumHourAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/noderef/analysis/noderef_ressum_hour_analysis.json"; - String requestJsonFile = "/json/noderef/analysis/noderef_ressum_hour_analysis_request.json"; - - @Test - public void testAnalyse() throws Exception { - NodeRefResSumAnalyse.INSTANCE.analyse(requestJsonFile, jsonFile, analysis, answer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumMinuteAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumMinuteAnalysisTestCase.java deleted file mode 100644 index 1c2546ced..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/analysis/NodeRefResSumMinuteAnalysisTestCase.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.analysis; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumMinuteAgg; -import org.skywalking.apm.collector.worker.storage.MetricData; - -import java.util.TimeZone; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefResSumMinuteAnalysisTestCase { - - private NodeRefResSumMinuteAnalysis analysis; - private MetricDataAnswer answer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - answer = new MetricDataAnswer(); - doAnswer(answer).when(workerRefs).tell(Mockito.any(MetricData.class)); - - when(clusterWorkerContext.lookup(NodeRefResSumMinuteAgg.Role.INSTANCE)).thenReturn(workerRefs); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - analysis = new NodeRefResSumMinuteAnalysis(NodeRefResSumMinuteAnalysis.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumMinuteAnalysis.class.getSimpleName(), NodeRefResSumMinuteAnalysis.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), NodeRefResSumMinuteAnalysis.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumMinuteAnalysis.Factory factory = new NodeRefResSumMinuteAnalysis.Factory(); - Assert.assertEquals(NodeRefResSumMinuteAnalysis.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumMinuteAnalysis.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.Queue.NodeRef.NodeRefResSumMinuteAnalysis.SIZE = testSize; - Assert.assertEquals(testSize, factory.queueSize()); - } - - String jsonFile = "/json/noderef/analysis/noderef_ressum_minute_analysis.json"; - String requestJsonFile = "/json/noderef/analysis/noderef_ressum_minute_analysis_request.json"; - - @Test - public void testAnalyse() throws Exception { - NodeRefResSumAnalyse.INSTANCE.analyse(requestJsonFile, jsonFile, analysis, answer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDayAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDayAggTestCase.java deleted file mode 100644 index dc25beb25..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDayAggTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefDayAggTestCase { - - private NodeRefDayAgg agg; - private RecordDataAnswer recordDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - private LocalWorkerContext localWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - recordDataAnswer = new RecordDataAnswer(); - doAnswer(recordDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(NodeRefDaySave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeRefDayAgg(NodeRefDayAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefDayAgg.class.getSimpleName(), NodeRefDayAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefDayAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefDayAgg.Factory factory = new NodeRefDayAgg.Factory(); - Assert.assertEquals(NodeRefDayAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefDayAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.NodeRef.NodeRefDayAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefDaySave.Role.INSTANCE)).thenReturn(new NodeRefDaySave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefDaySave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - RecordDataAggTools.INSTANCE.testOnWork(agg, recordDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDaySaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDaySaveTestCase.java deleted file mode 100644 index 1407e6764..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefDaySaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeRefDaySaveTestCase { - - private NodeRefDaySave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeRefDaySave(NodeRefDaySave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeRefIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeRefIndex.TYPE_DAY, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefDaySave.class.getSimpleName(), NodeRefDaySave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefDaySave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefDaySave.Factory factory = new NodeRefDaySave.Factory(); - Assert.assertEquals(NodeRefDaySave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefDaySave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourAggTestCase.java deleted file mode 100644 index 02f0c7a9b..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourAggTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefHourAggTestCase { - - private NodeRefHourAgg agg; - private RecordDataAnswer recordDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - private LocalWorkerContext localWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - recordDataAnswer = new RecordDataAnswer(); - doAnswer(recordDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(NodeRefHourSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeRefHourAgg(NodeRefHourAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefHourAgg.class.getSimpleName(), NodeRefHourAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefHourAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefHourAgg.Factory factory = new NodeRefHourAgg.Factory(); - Assert.assertEquals(NodeRefHourAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefHourAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.NodeRef.NodeRefHourAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefHourSave.Role.INSTANCE)).thenReturn(new NodeRefHourSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefHourSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - RecordDataAggTools.INSTANCE.testOnWork(agg, recordDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourSaveTestCase.java deleted file mode 100644 index 0aa94f8f7..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefHourSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeRefHourSaveTestCase { - - private NodeRefHourSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeRefHourSave(NodeRefHourSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeRefIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeRefIndex.TYPE_HOUR, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefHourSave.class.getSimpleName(), NodeRefHourSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefHourSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefHourSave.Factory factory = new NodeRefHourSave.Factory(); - Assert.assertEquals(NodeRefHourSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefHourSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteAggTestCase.java deleted file mode 100644 index 401f36979..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteAggTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; -import org.skywalking.apm.collector.worker.tools.RecordDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefMinuteAggTestCase { - - private NodeRefMinuteAgg agg; - private RecordDataAnswer recordDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - private LocalWorkerContext localWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - recordDataAnswer = new RecordDataAnswer(); - doAnswer(recordDataAnswer).when(workerRefs).tell(Mockito.any(RecordData.class)); - - when(localWorkerContext.lookup(NodeRefMinuteSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeRefMinuteAgg(NodeRefMinuteAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefMinuteAgg.class.getSimpleName(), NodeRefMinuteAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefMinuteAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefMinuteAgg.Factory factory = new NodeRefMinuteAgg.Factory(); - Assert.assertEquals(NodeRefMinuteAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefMinuteAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.NodeRef.NodeRefMinuteAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefMinuteSave.Role.INSTANCE)).thenReturn(new NodeRefMinuteSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefMinuteSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - RecordDataAggTools.INSTANCE.testOnWork(agg, recordDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteSaveTestCase.java deleted file mode 100644 index 9948d8f13..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefMinuteSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeRefMinuteSaveTestCase { - - private NodeRefMinuteSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeRefMinuteSave(NodeRefMinuteSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeRefIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeRefIndex.TYPE_MINUTE, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefMinuteSave.class.getSimpleName(), NodeRefMinuteSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefMinuteSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefMinuteSave.Factory factory = new NodeRefMinuteSave.Factory(); - Assert.assertEquals(NodeRefMinuteSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefMinuteSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDayAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDayAggTestCase.java deleted file mode 100644 index 2937decec..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDayAggTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.storage.MetricData; -import org.skywalking.apm.collector.worker.tools.MetricDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefResSumDayAggTestCase { - - private NodeRefResSumDayAgg agg; - private MetricDataAnswer metricDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - private LocalWorkerContext localWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - metricDataAnswer = new MetricDataAnswer(); - doAnswer(metricDataAnswer).when(workerRefs).tell(Mockito.any(MetricData.class)); - - when(localWorkerContext.lookup(NodeRefResSumDaySave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeRefResSumDayAgg(NodeRefResSumDayAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumDayAgg.class.getSimpleName(), NodeRefResSumDayAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefResSumDayAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumDayAgg.Factory factory = new NodeRefResSumDayAgg.Factory(); - Assert.assertEquals(NodeRefResSumDayAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumDayAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.NodeRef.NodeRefResSumDayAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefResSumDaySave.Role.INSTANCE)).thenReturn(new NodeRefResSumDaySave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefResSumDaySave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - MetricDataAggTools.INSTANCE.testOnWork(agg, metricDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDaySaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDaySaveTestCase.java deleted file mode 100644 index 529cd99c5..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumDaySaveTestCase.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeRefResSumDaySaveTestCase { - private NodeRefResSumDaySave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeRefResSumDaySave(NodeRefResSumDaySave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeRefResSumIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeRefResSumIndex.TYPE_DAY, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumDaySave.class.getSimpleName(), NodeRefResSumDaySave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefResSumDaySave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumDaySave.Factory factory = new NodeRefResSumDaySave.Factory(); - Assert.assertEquals(NodeRefResSumDaySave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumDaySave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumGroupWithTimeSliceUseDB.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumGroupWithTimeSliceUseDB.java deleted file mode 100644 index 435473027..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumGroupWithTimeSliceUseDB.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeRefResSumGroupWithTimeSliceUseDB { - - public static void main(String[] args) throws Exception { - EsClient.INSTANCE.boot(); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - NodeRefResSumGroupWithTimeSlice nodeRefSearch = - new NodeRefResSumGroupWithTimeSlice(NodeRefResSumGroupWithTimeSlice.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - long startTime = 201703310910L; - long endTime = 201703310920L; - JsonObject response = new JsonObject(); - NodeRefResSumGroupWithTimeSlice.RequestEntity requestEntity = - new NodeRefResSumGroupWithTimeSlice.RequestEntity(NodeRefIndex.TYPE_MINUTE, startTime, endTime); - nodeRefSearch.onWork(requestEntity, response); - - JsonArray nodeRefArray = response.get("result").getAsJsonArray(); - for (int i = 0; i < nodeRefArray.size(); i++) { - JsonObject nodeRefJsonObj = nodeRefArray.get(i).getAsJsonObject(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourAggTestCase.java deleted file mode 100644 index 86b1a3922..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourAggTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.storage.MetricData; -import org.skywalking.apm.collector.worker.tools.MetricDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefResSumHourAggTestCase { - - private NodeRefResSumHourAgg agg; - private MetricDataAnswer metricDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - private LocalWorkerContext localWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - metricDataAnswer = new MetricDataAnswer(); - doAnswer(metricDataAnswer).when(workerRefs).tell(Mockito.any(MetricData.class)); - - when(localWorkerContext.lookup(NodeRefResSumHourSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeRefResSumHourAgg(NodeRefResSumHourAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumHourAgg.class.getSimpleName(), NodeRefResSumHourAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefResSumHourAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumHourAgg.Factory factory = new NodeRefResSumHourAgg.Factory(); - Assert.assertEquals(NodeRefResSumHourAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumHourAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.NodeRef.NodeRefResSumHourAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefResSumHourSave.Role.INSTANCE)).thenReturn(new NodeRefResSumHourSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefResSumHourSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - MetricDataAggTools.INSTANCE.testOnWork(agg, metricDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourSaveTestCase.java deleted file mode 100644 index c10c69c03..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumHourSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeRefResSumHourSaveTestCase { - - private NodeRefResSumHourSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeRefResSumHourSave(NodeRefResSumHourSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeRefResSumIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeRefResSumIndex.TYPE_HOUR, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumHourSave.class.getSimpleName(), NodeRefResSumHourSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefResSumHourSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumHourSave.Factory factory = new NodeRefResSumHourSave.Factory(); - Assert.assertEquals(NodeRefResSumHourSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumHourSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteAggTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteAggTestCase.java deleted file mode 100644 index a8fdffc1a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteAggTestCase.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.config.WorkerConfig; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.storage.MetricData; -import org.skywalking.apm.collector.worker.tools.MetricDataAggTools; - -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {LocalWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class NodeRefResSumMinuteAggTestCase { - - private NodeRefResSumMinuteAgg agg; - private MetricDataAnswer metricDataAnswer; - private ClusterWorkerContext clusterWorkerContext; - private LocalWorkerContext localWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - metricDataAnswer = new MetricDataAnswer(); - doAnswer(metricDataAnswer).when(workerRefs).tell(Mockito.any(MetricData.class)); - - when(localWorkerContext.lookup(NodeRefResSumMinuteSave.Role.INSTANCE)).thenReturn(workerRefs); - agg = new NodeRefResSumMinuteAgg(NodeRefResSumMinuteAgg.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumMinuteAgg.class.getSimpleName(), NodeRefResSumMinuteAgg.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefResSumMinuteAgg.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumMinuteAgg.Factory factory = new NodeRefResSumMinuteAgg.Factory(); - Assert.assertEquals(NodeRefResSumMinuteAgg.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumMinuteAgg.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - - int testSize = 10; - WorkerConfig.WorkerNum.NodeRef.NodeRefResSumMinuteAgg.VALUE = testSize; - Assert.assertEquals(testSize, factory.workerNum()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeRefResSumMinuteSave.Role.INSTANCE)).thenReturn(new NodeRefResSumMinuteSave.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(NodeRefResSumMinuteSave.Role.class); - agg.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnWork() throws Exception { - MetricDataAggTools.INSTANCE.testOnWork(agg, metricDataAnswer); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteSaveTestCase.java deleted file mode 100644 index 2bb585292..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumMinuteSaveTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.HashCodeSelector; -import org.skywalking.apm.collector.worker.noderef.NodeRefResSumIndex; - -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class NodeRefResSumMinuteSaveTestCase { - - private NodeRefResSumMinuteSave save; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - ClusterWorkerContext cluster = new ClusterWorkerContext(null); - LocalWorkerContext local = new LocalWorkerContext(); - save = new NodeRefResSumMinuteSave(NodeRefResSumMinuteSave.Role.INSTANCE, cluster, local); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(NodeRefResSumIndex.INDEX, save.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(NodeRefResSumIndex.TYPE_MINUTE, save.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(NodeRefResSumMinuteSave.class.getSimpleName(), NodeRefResSumMinuteSave.Role.INSTANCE.roleName()); - Assert.assertEquals(HashCodeSelector.class.getSimpleName(), NodeRefResSumMinuteSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - NodeRefResSumMinuteSave.Factory factory = new NodeRefResSumMinuteSave.Factory(); - Assert.assertEquals(NodeRefResSumMinuteSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(NodeRefResSumMinuteSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumSearchWithTimeSliceUseDB.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumSearchWithTimeSliceUseDB.java deleted file mode 100644 index b39d5737a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefResSumSearchWithTimeSliceUseDB.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeRefResSumSearchWithTimeSliceUseDB { - - public static void main(String[] args) throws Exception { - EsClient.INSTANCE.boot(); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - NodeRefResSumSearchWithTimeSlice nodeRefSearch = - new NodeRefResSumSearchWithTimeSlice(NodeRefResSumSearchWithTimeSlice.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - long startTime = 201703310910L; - long endTime = 201703310920L; - JsonObject response = new JsonObject(); - NodeRefResSumSearchWithTimeSlice.RequestEntity requestEntity = - new NodeRefResSumSearchWithTimeSlice.RequestEntity(NodeRefIndex.TYPE_MINUTE, startTime, endTime); - nodeRefSearch.onWork(requestEntity, response); - - JsonArray nodeRefArray = response.get("result").getAsJsonArray(); - for (int i = 0; i < nodeRefArray.size(); i++) { - JsonObject nodeRefJsonObj = nodeRefArray.get(i).getAsJsonObject(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefSearchWithTimeSliceUseDB.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefSearchWithTimeSliceUseDB.java deleted file mode 100644 index 1179e09ae..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/noderef/persistence/NodeRefSearchWithTimeSliceUseDB.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.noderef.persistence; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.worker.noderef.NodeRefIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -/** - * @author pengys5 - */ -public class NodeRefSearchWithTimeSliceUseDB { - - public static void main(String[] args) throws Exception { - EsClient.INSTANCE.boot(); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - NodeRefSearchWithTimeSlice nodeRefSearch = - new NodeRefSearchWithTimeSlice(NodeRefSearchWithTimeSlice.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - long startTime = 201703310910L; - long endTime = 201703310920L; - JsonObject response = new JsonObject(); - NodeRefSearchWithTimeSlice.RequestEntity requestEntity = - new NodeRefSearchWithTimeSlice.RequestEntity(NodeRefIndex.TYPE_MINUTE, startTime, endTime); - nodeRefSearch.onWork(requestEntity, response); - - JsonArray nodeRefArray = response.get("result").getAsJsonArray(); - for (int i = 0; i < nodeRefArray.size(); i++) { - JsonObject nodeRefJsonObj = nodeRefArray.get(i).getAsJsonObject(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/HttpClientTools.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/HttpClientTools.java deleted file mode 100644 index 3829c4c34..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/HttpClientTools.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import org.apache.http.Consts; -import org.apache.http.HttpEntity; -import org.apache.http.NameValuePair; -import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.io.IOException; -import java.net.URI; -import java.util.List; - -/** - * @author pengys5 - */ -public enum HttpClientTools { - INSTANCE; - - private Logger logger = LogManager.getFormatterLogger(HttpClientTools.class); - - public String get(String url, List params) throws IOException { - CloseableHttpClient httpClient = HttpClients.createDefault(); - try { - HttpGet httpget = new HttpGet(url); - String paramStr = EntityUtils.toString(new UrlEncodedFormEntity(params)); - httpget.setURI(new URI(httpget.getURI().toString() + "?" + paramStr)); - logger.debug("executing get request %s", httpget.getURI()); - - try (CloseableHttpResponse response = httpClient.execute(httpget)) { - HttpEntity entity = response.getEntity(); - if (entity != null) { - return EntityUtils.toString(entity); - } - } - } catch (Exception e) { - logger.error(e, e); - } finally { - try { - httpClient.close(); - } catch (IOException e) { - logger.error(e, e); - } - } - return null; - } - - public String post(String url, String data) throws IOException { - CloseableHttpClient httpClient = HttpClients.createDefault(); - try { - HttpPost httppost = new HttpPost(url); - httppost.setEntity(new StringEntity(data, Consts.UTF_8)); - logger.debug("executing post request %s", httppost.getURI()); - try (CloseableHttpResponse response = httpClient.execute(httppost)) { - HttpEntity entity = response.getEntity(); - if (entity != null) { - return EntityUtils.toString(entity); - } - } - } catch (Exception e) { - logger.error(e, e); - } finally { - try { - httpClient.close(); - } catch (Exception e) { - logger.error(e, e); - } - } - return null; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentCostIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentCostIndexTestCase.java deleted file mode 100644 index 52249f7ae..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentCostIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class SegmentCostIndexTestCase { - - @Test - public void test() { - SegmentCostIndex index = new SegmentCostIndex(); - Assert.assertEquals("segment_cost_idx", index.index()); - Assert.assertEquals(true, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - SegmentCostIndex index = new SegmentCostIndex(); - Assert.assertEquals("{\"properties\":{\"segId\":{\"type\":\"keyword\"},\"startTime\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"endTime\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"globalTraceId\":{\"type\":\"keyword\"},\"operationName\":{\"type\":\"text\"},\"cost\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - SegmentCostIndex index = new SegmentCostIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.SegmentCostIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentExceptionIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentExceptionIndexTestCase.java deleted file mode 100644 index 730a5547a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentExceptionIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class SegmentExceptionIndexTestCase { - - @Test - public void test() { - SegmentExceptionIndex index = new SegmentExceptionIndex(); - Assert.assertEquals("segment_exp_idx", index.index()); - Assert.assertEquals(true, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - SegmentExceptionIndex index = new SegmentExceptionIndex(); - Assert.assertEquals("{\"properties\":{\"segId\":{\"type\":\"keyword\"},\"isError\":{\"type\":\"boolean\",\"index\":\"not_analyzed\"},\"errorKind\":{\"type\":\"keyword\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - SegmentExceptionIndex index = new SegmentExceptionIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.SegmentExceptionIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentIndexTestCase.java deleted file mode 100644 index 6fe24d205..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentIndexTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; - -/** - * @author pengys5 - */ -public class SegmentIndexTestCase { - - @Test - public void test() { - SegmentIndex index = new SegmentIndex(); - Assert.assertEquals("segment_idx", index.index()); - Assert.assertEquals(true, index.isRecord()); - } - - @Test - public void testBuilder() throws IOException { - SegmentIndex index = new SegmentIndex(); - Assert.assertEquals("{\"properties\":{\"traceSegmentId\":{\"type\":\"keyword\"},\"startTime\":{\"type\":\"date\",\"index\":\"not_analyzed\"},\"endTime\":{\"type\":\"date\",\"index\":\"not_analyzed\"},\"applicationCode\":{\"type\":\"keyword\"},\"minute\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"hour\":{\"type\":\"long\",\"index\":\"not_analyzed\"},\"day\":{\"type\":\"long\",\"index\":\"not_analyzed\"}}}", index.createMappingBuilder().string()); - } - - @Test - public void refreshInterval() { - SegmentIndex index = new SegmentIndex(); - Assert.assertEquals(EsConfig.Es.Index.RefreshInterval.SegmentIndex.VALUE.intValue(), index.refreshInterval()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentRealPost.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentRealPost.java deleted file mode 100644 index 071264abe..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentRealPost.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import io.grpc.ManagedChannel; -import io.grpc.ManagedChannelBuilder; -import io.grpc.stub.StreamObserver; -import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.network.proto.Downstream; -import org.skywalking.apm.network.proto.TraceSegmentServiceGrpc; -import org.skywalking.apm.network.proto.UpstreamSegment; - -/** - * @author pengys5 - */ -public class SegmentRealPost { - - private static Logger logger = LogManager.getFormatterLogger(SegmentRealPost.class); - - public static void main(String[] args) throws Exception { - ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 22800) - .usePlaintext(true) - .build(); - - TraceSegmentServiceGrpc.TraceSegmentServiceStub stub = TraceSegmentServiceGrpc.newStub(channel); - StreamObserver observer = stub.collect(new StreamObserver() { - @Override public void onNext(Downstream downstream) { - - } - - @Override public void onError(Throwable throwable) { - - } - - @Override public void onCompleted() { - - } - }); - - List upstreamSegmentList = SegmentMock.mockPortalServiceSegment(); - logger.debug("upstreamSegmentList size: %s", upstreamSegmentList.size()); - upstreamSegmentList.forEach(upstreamSegment -> { - observer.onNext(upstreamSegment); - }); - observer.onCompleted(); - - Thread.sleep(2000); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentReceiverTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentReceiverTestCase.java deleted file mode 100644 index 3f82c26fc..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentReceiverTestCase.java +++ /dev/null @@ -1,391 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import com.google.gson.JsonObject; -import java.io.BufferedReader; -import java.io.StringReader; -import java.util.TimeZone; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.ArgumentMatcher; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.Role; -import org.skywalking.apm.collector.actor.WorkerRef; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.globaltrace.analysis.GlobalTraceAnalysis; -import org.skywalking.apm.collector.worker.node.analysis.NodeCompAnalysis; -import org.skywalking.apm.collector.worker.node.analysis.NodeMappingDayAnalysis; -import org.skywalking.apm.collector.worker.node.analysis.NodeMappingHourAnalysis; -import org.skywalking.apm.collector.worker.node.analysis.NodeMappingMinuteAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefDayAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefHourAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefMinuteAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefResSumDayAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefResSumHourAnalysis; -import org.skywalking.apm.collector.worker.noderef.analysis.NodeRefResSumMinuteAnalysis; -import org.skywalking.apm.collector.worker.segment.analysis.SegmentAnalysis; -import org.skywalking.apm.collector.worker.segment.analysis.SegmentCostAnalysis; -import org.skywalking.apm.collector.worker.segment.analysis.SegmentExceptionAnalysis; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentCostSave; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentExceptionSave; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentSave; -import org.skywalking.apm.collector.worker.tools.DateTools; - -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.powermock.api.mockito.PowerMockito.doAnswer; -import static org.powermock.api.mockito.PowerMockito.doReturn; -import static org.powermock.api.mockito.PowerMockito.mock; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({LocalWorkerContext.class, WorkerRef.class}) -@PowerMockIgnore({"javax.management.*"}) -public class SegmentReceiverTestCase { - - private Logger logger = LogManager.getFormatterLogger(SegmentReceiverTestCase.class); - - private SegmentMock segmentMock; - private SegmentReceiver segmentReceiver; - private LocalWorkerContext localWorkerContext; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - segmentMock = new SegmentMock(); - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - localWorkerContext = new LocalWorkerContext(); - - segmentReceiver = new SegmentReceiver(SegmentReceiver.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - initNodeNodeMappingAnalysis(); - initNodeCompAnalysis(); - initNodeRefAnalysis(); - initSegmentExceptionAnalysis(); - initSegmentAnalysis(); - initSegmentCostAnalysis(); - initGlobalTraceAnalysis(); - } - - @Test - public void testRole() { - Assert.assertEquals(SegmentReceiver.class.getSimpleName(), SegmentReceiver.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), SegmentReceiver.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - SegmentReceiver.Factory factory = new SegmentReceiver.Factory(); - Assert.assertEquals(SegmentReceiver.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(SegmentReceiver.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(GlobalTraceAnalysis.Role.INSTANCE)).thenReturn(new GlobalTraceAnalysis.Factory()); - when(clusterWorkerContext.findProvider(NodeCompAnalysis.Role.INSTANCE)).thenReturn(new NodeCompAnalysis.Factory()); - - SegmentAnalysis.Factory segmentAnalysisFactory = new SegmentAnalysis.Factory(); - segmentAnalysisFactory.setClusterContext(clusterWorkerContext); - - when(clusterWorkerContext.findProvider(SegmentAnalysis.Role.INSTANCE)).thenReturn(segmentAnalysisFactory); - - SegmentCostAnalysis.Factory segmentCostAnalysisFactory = new SegmentCostAnalysis.Factory(); - segmentCostAnalysisFactory.setClusterContext(clusterWorkerContext); - - when(clusterWorkerContext.findProvider(SegmentCostAnalysis.Role.INSTANCE)).thenReturn(segmentCostAnalysisFactory); - - SegmentExceptionAnalysis.Factory segmentExceptionAnalysisFactory = new SegmentExceptionAnalysis.Factory(); - segmentExceptionAnalysisFactory.setClusterContext(clusterWorkerContext); - when(clusterWorkerContext.findProvider(SegmentExceptionAnalysis.Role.INSTANCE)).thenReturn(segmentExceptionAnalysisFactory); - - NodeRefMinuteAnalysis.Factory nodeRefMinuteAnalysisFactory = new NodeRefMinuteAnalysis.Factory(); - nodeRefMinuteAnalysisFactory.setClusterContext(clusterWorkerContext); - when(clusterWorkerContext.findProvider(NodeRefResSumMinuteAnalysis.Role.INSTANCE)).thenReturn(new NodeRefResSumMinuteAnalysis.Factory()); - when(clusterWorkerContext.findProvider(NodeRefMinuteAnalysis.Role.INSTANCE)).thenReturn(nodeRefMinuteAnalysisFactory); - - NodeRefHourAnalysis.Factory nodeRefHourAnalysisFactory = new NodeRefHourAnalysis.Factory(); - nodeRefHourAnalysisFactory.setClusterContext(clusterWorkerContext); - when(clusterWorkerContext.findProvider(NodeRefResSumHourAnalysis.Role.INSTANCE)).thenReturn(new NodeRefResSumHourAnalysis.Factory()); - when(clusterWorkerContext.findProvider(NodeRefHourAnalysis.Role.INSTANCE)).thenReturn(nodeRefHourAnalysisFactory); - - NodeRefDayAnalysis.Factory nodeRefDayAnalysisFactory = new NodeRefDayAnalysis.Factory(); - nodeRefDayAnalysisFactory.setClusterContext(clusterWorkerContext); - when(clusterWorkerContext.findProvider(NodeRefResSumDayAnalysis.Role.INSTANCE)).thenReturn(new NodeRefResSumDayAnalysis.Factory()); - when(clusterWorkerContext.findProvider(NodeRefDayAnalysis.Role.INSTANCE)).thenReturn(nodeRefDayAnalysisFactory); - - when(clusterWorkerContext.findProvider(NodeMappingDayAnalysis.Role.INSTANCE)).thenReturn(new NodeMappingDayAnalysis.Factory()); - when(clusterWorkerContext.findProvider(NodeMappingHourAnalysis.Role.INSTANCE)).thenReturn(new NodeMappingHourAnalysis.Factory()); - when(clusterWorkerContext.findProvider(NodeMappingMinuteAnalysis.Role.INSTANCE)).thenReturn(new NodeMappingMinuteAnalysis.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(Role.class); - - segmentReceiver.preStart(); - - verify(clusterWorkerContext, times(17)).findProvider(argumentCaptor.capture()); - Assert.assertEquals(GlobalTraceAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(0).roleName()); - - Assert.assertEquals(SegmentAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(1).roleName()); - Assert.assertEquals(SegmentSave.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(2).roleName()); - - Assert.assertEquals(SegmentCostAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(3).roleName()); - Assert.assertEquals(SegmentCostSave.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(4).roleName()); - - Assert.assertEquals(SegmentExceptionAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(5).roleName()); - Assert.assertEquals(SegmentExceptionSave.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(6).roleName()); - - Assert.assertEquals(NodeRefMinuteAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(7).roleName()); - Assert.assertEquals(NodeRefResSumMinuteAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(8).roleName()); - Assert.assertEquals(NodeRefHourAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(9).roleName()); - Assert.assertEquals(NodeRefResSumHourAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(10).roleName()); - Assert.assertEquals(NodeRefDayAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(11).roleName()); - Assert.assertEquals(NodeRefResSumDayAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(12).roleName()); - - Assert.assertEquals(NodeCompAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(13).roleName()); - - Assert.assertEquals(NodeMappingDayAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(14).roleName()); - Assert.assertEquals(NodeMappingHourAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(15).roleName()); - Assert.assertEquals(NodeMappingMinuteAnalysis.Role.INSTANCE.roleName(), argumentCaptor.getAllValues().get(16).roleName()); - } - - @Test - public void testValidateData() throws Exception { - JsonObject segmentJsonObj = new JsonObject(); - segmentJsonObj.addProperty("et", 1491277162066L); - String jsonStr = segmentJsonObj.toString(); - - JsonObject response = new JsonObject(); - - BufferedReader reader = new BufferedReader(new StringReader(jsonStr.length() + " " + jsonStr)); -// segmentReceiver.onReceive(reader, response); - } - - private SegmentSaveAnswer segmentSaveAnswer_1; - private SegmentSaveAnswer segmentSaveAnswer_2; - - public void initSegmentAnalysis() throws Exception { - when(clusterWorkerContext.findProvider(SegmentSave.Role.INSTANCE)).thenReturn(new SegmentSave.Factory()); - - WorkerRef segmentAnalysis = mock(WorkerRef.class); - doReturn(SegmentAnalysis.Role.INSTANCE).when(segmentAnalysis, "getRole"); - localWorkerContext.put(segmentAnalysis); - - segmentSaveAnswer_1 = new SegmentSaveAnswer(); - doAnswer(segmentSaveAnswer_1).when(segmentAnalysis).tell(Mockito.argThat(new IsCacheServiceSegment_1())); - - segmentSaveAnswer_2 = new SegmentSaveAnswer(); - doAnswer(segmentSaveAnswer_2).when(segmentAnalysis).tell(Mockito.argThat(new IsCacheServiceSegment_2())); - } - - private SegmentOtherAnswer segmentCostSaveAnswer; - - public void initSegmentCostAnalysis() throws Exception { - when(clusterWorkerContext.findProvider(SegmentCostSave.Role.INSTANCE)).thenReturn(new SegmentCostSave.Factory()); - - WorkerRef segmentCostSave = mock(WorkerRef.class); - doReturn(SegmentCostAnalysis.Role.INSTANCE).when(segmentCostSave, "getRole"); - localWorkerContext.put(segmentCostSave); - - segmentCostSaveAnswer = new SegmentOtherAnswer(); - doAnswer(segmentCostSaveAnswer).when(segmentCostSave).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - } - - private SegmentOtherAnswer globalTraceAnalysisAnswer; - - public void initGlobalTraceAnalysis() throws Exception { - WorkerRef globalTraceAnalysis = mock(WorkerRef.class); - doReturn(GlobalTraceAnalysis.Role.INSTANCE).when(globalTraceAnalysis, "getRole"); - localWorkerContext.put(globalTraceAnalysis); - - globalTraceAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(globalTraceAnalysisAnswer).when(globalTraceAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - } - - private SegmentOtherAnswer segmentExceptionSaveAnswer; - - public void initSegmentExceptionAnalysis() throws Exception { - when(clusterWorkerContext.findProvider(SegmentExceptionSave.Role.INSTANCE)).thenReturn(new SegmentExceptionSave.Factory()); - - WorkerRef segmentExceptionSave = mock(WorkerRef.class); - doReturn(SegmentExceptionAnalysis.Role.INSTANCE).when(segmentExceptionSave, "getRole"); - localWorkerContext.put(segmentExceptionSave); - - segmentExceptionSaveAnswer = new SegmentOtherAnswer(); - doAnswer(segmentExceptionSaveAnswer).when(segmentExceptionSave).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - } - - private SegmentOtherAnswer nodeRefMinuteAnalysisAnswer; - private SegmentOtherAnswer nodeRefHourAnalysisAnswer; - private SegmentOtherAnswer nodeRefDayAnalysisAnswer; - - public void initNodeRefAnalysis() throws Exception { - WorkerRef nodeRefMinuteAnalysis = mock(WorkerRef.class); - doReturn(NodeRefMinuteAnalysis.Role.INSTANCE).when(nodeRefMinuteAnalysis, "getRole"); - localWorkerContext.put(nodeRefMinuteAnalysis); - - nodeRefMinuteAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(nodeRefMinuteAnalysisAnswer).when(nodeRefMinuteAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - - WorkerRef nodeRefHourAnalysis = mock(WorkerRef.class); - doReturn(NodeRefHourAnalysis.Role.INSTANCE).when(nodeRefHourAnalysis, "getRole"); - localWorkerContext.put(nodeRefHourAnalysis); - - nodeRefHourAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(nodeRefHourAnalysisAnswer).when(nodeRefHourAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - - WorkerRef nodeRefDayAnalysis = mock(WorkerRef.class); - doReturn(NodeRefDayAnalysis.Role.INSTANCE).when(nodeRefDayAnalysis, "getRole"); - localWorkerContext.put(nodeRefDayAnalysis); - - nodeRefDayAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(nodeRefDayAnalysisAnswer).when(nodeRefDayAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - } - - private SegmentOtherAnswer nodeCompAnalysisAnswer; - - public void initNodeCompAnalysis() throws Exception { - WorkerRef nodeMinuteAnalysis = mock(WorkerRef.class); - doReturn(NodeCompAnalysis.Role.INSTANCE).when(nodeMinuteAnalysis, "getRole"); - localWorkerContext.put(nodeMinuteAnalysis); - - nodeCompAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(nodeCompAnalysisAnswer).when(nodeMinuteAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - } - - private SegmentOtherAnswer nodeMappingMinuteAnalysisAnswer; - private SegmentOtherAnswer nodeMappingHourAnalysisAnswer; - private SegmentOtherAnswer nodeMappingDayAnalysisAnswer; - - public void initNodeNodeMappingAnalysis() throws Exception { - WorkerRef nodeMappingMinuteAnalysis = mock(WorkerRef.class); - doReturn(NodeMappingMinuteAnalysis.Role.INSTANCE).when(nodeMappingMinuteAnalysis, "getRole"); - localWorkerContext.put(nodeMappingMinuteAnalysis); - - nodeMappingMinuteAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(nodeMappingMinuteAnalysisAnswer).when(nodeMappingMinuteAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - - WorkerRef nodeMappingHourAnalysis = mock(WorkerRef.class); - doReturn(NodeMappingHourAnalysis.Role.INSTANCE).when(nodeMappingHourAnalysis, "getRole"); - localWorkerContext.put(nodeMappingHourAnalysis); - - nodeMappingHourAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(nodeMappingHourAnalysisAnswer).when(nodeMappingHourAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - - WorkerRef nodeMappingDayAnalysis = mock(WorkerRef.class); - doReturn(NodeMappingDayAnalysis.Role.INSTANCE).when(nodeMappingDayAnalysis, "getRole"); - localWorkerContext.put(nodeMappingDayAnalysis); - - nodeMappingDayAnalysisAnswer = new SegmentOtherAnswer(); - doAnswer(nodeMappingDayAnalysisAnswer).when(nodeMappingDayAnalysis).tell(Mockito.argThat(new IsSegmentWithTimeSlice())); - } - - // @Test - public void testOnReceive() throws Exception { - String cacheServiceSegmentAsString = segmentMock.mockCacheServiceSegmentAsString(); - -// segmentReceiver.onReceive(new BufferedReader(new StringReader(cacheServiceSegmentAsString)), new JsonObject()); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), segmentSaveAnswer_1.minute); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), segmentSaveAnswer_1.hour); - Assert.assertEquals(201703310000L, segmentSaveAnswer_1.day); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), segmentSaveAnswer_2.minute); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), segmentSaveAnswer_2.hour); - Assert.assertEquals(201703310000L, segmentSaveAnswer_2.day); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), segmentCostSaveAnswer.segmentWithTimeSlice.getMinute()); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), segmentCostSaveAnswer.segmentWithTimeSlice.getHour()); - Assert.assertEquals(201703310000L, segmentCostSaveAnswer.segmentWithTimeSlice.getDay()); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), globalTraceAnalysisAnswer.segmentWithTimeSlice.getMinute()); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), globalTraceAnalysisAnswer.segmentWithTimeSlice.getHour()); - Assert.assertEquals(201703310000L, globalTraceAnalysisAnswer.segmentWithTimeSlice.getDay()); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), segmentExceptionSaveAnswer.segmentWithTimeSlice.getMinute()); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), segmentExceptionSaveAnswer.segmentWithTimeSlice.getHour()); - Assert.assertEquals(201703310000L, segmentExceptionSaveAnswer.segmentWithTimeSlice.getDay()); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), nodeRefMinuteAnalysisAnswer.segmentWithTimeSlice.getMinute()); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), nodeRefMinuteAnalysisAnswer.segmentWithTimeSlice.getHour()); - Assert.assertEquals(201703310000L, nodeRefMinuteAnalysisAnswer.segmentWithTimeSlice.getDay()); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), nodeRefHourAnalysisAnswer.segmentWithTimeSlice.getMinute()); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), nodeRefHourAnalysisAnswer.segmentWithTimeSlice.getHour()); - Assert.assertEquals(201703310000L, nodeRefHourAnalysisAnswer.segmentWithTimeSlice.getDay()); - - Assert.assertEquals(DateTools.changeToUTCSlice(201703310915L), nodeRefDayAnalysisAnswer.segmentWithTimeSlice.getMinute()); - Assert.assertEquals(DateTools.changeToUTCSlice(201703310900L), nodeRefDayAnalysisAnswer.segmentWithTimeSlice.getHour()); - Assert.assertEquals(201703310000L, nodeRefDayAnalysisAnswer.segmentWithTimeSlice.getDay()); - } - - public class SegmentOtherAnswer implements Answer { - - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice; - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - segmentWithTimeSlice = (SegmentReceiver.SegmentWithTimeSlice)invocation.getArguments()[0]; - return null; - } - } - - public class SegmentSaveAnswer implements Answer { - long minute = 0; - long hour = 0; - long day = 0; - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - JsonObject jsonObject = (JsonObject)invocation.getArguments()[0]; - logger.info("SegmentSave json: " + jsonObject.toString()); - minute = jsonObject.get("minute").getAsLong(); - hour = jsonObject.get("hour").getAsLong(); - day = jsonObject.get("day").getAsLong(); - return null; - } - } - - class IsCacheServiceSegment_1 extends ArgumentMatcher { - private static final String SegId = "Segment.1490922929258.927784221.5991.27.1"; - - public boolean matches(Object para) { - JsonObject paraJson = (JsonObject)para; - return SegId.equals(paraJson.get("ts").getAsString()); - } - } - - class IsCacheServiceSegment_2 extends ArgumentMatcher { - private static final String SegId = "Segment.1490922929298.927784221.5991.28.1"; - - public boolean matches(Object para) { - JsonObject paraJson = (JsonObject)para; - return SegId.equals(paraJson.get("ts").getAsString()); - } - } - - class IsSegmentWithTimeSlice extends ArgumentMatcher { - public boolean matches(Object para) { - return para instanceof SegmentReceiver.SegmentWithTimeSlice; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentTopGetTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentTopGetTestCase.java deleted file mode 100644 index 3ae7cf0da..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/SegmentTopGetTestCase.java +++ /dev/null @@ -1,168 +0,0 @@ -package org.skywalking.apm.collector.worker.segment; - -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentExceptionWithSegId; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentTopSearch; - -import java.util.HashMap; -import java.util.Map; -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class SegmentTopGetTestCase { - - private SegmentTopGet getObj; - private SegmentTopGetAnswerGet answer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - answer = new SegmentTopGetAnswerGet(); - doAnswer(answer).when(workerRefs).ask(Mockito.any(SegmentTopSearch.RequestEntity.class), Mockito.any(JsonObject.class)); - - when(localWorkerContext.lookup(SegmentTopSearch.WorkerRole.INSTANCE)).thenReturn(workerRefs); - getObj = new SegmentTopGet(SegmentTopGet.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(SegmentTopGet.class.getSimpleName(), SegmentTopGet.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), SegmentTopGet.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - SegmentTopGet.Factory factory = new SegmentTopGet.Factory(); - Assert.assertEquals(SegmentTopGet.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(SegmentTopGet.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - Assert.assertEquals("/segments/top", factory.servletPath()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - ClusterWorkerContext exceptionContext = PowerMockito.mock(ClusterWorkerContext.class); - SegmentExceptionWithSegId.Factory factory = new SegmentExceptionWithSegId.Factory(); - when(exceptionContext.findProvider(SegmentExceptionWithSegId.WorkerRole.INSTANCE)).thenReturn(factory); - - SegmentTopSearch.Factory factory1 = new SegmentTopSearch.Factory(); - factory1.setClusterContext(exceptionContext); - - when(clusterWorkerContext.findProvider(SegmentTopSearch.WorkerRole.INSTANCE)).thenReturn(factory1); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(SegmentTopSearch.WorkerRole.class); - getObj.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnSearch() throws Exception { - Map request = createRequest(); - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchErrorStartTime() throws Exception { - Map request = createRequest(); - String[] startTime = {"x"}; - request.put("startTime", startTime); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchErrorEndTime() throws Exception { - Map request = createRequest(); - String[] endTime = {"x"}; - request.put("endTime", endTime); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchErrorFrom() throws Exception { - Map request = createRequest(); - String[] from = {"x"}; - request.put("from", from); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchErrorLimit() throws Exception { - Map request = createRequest(); - String[] limit = {"x"}; - request.put("limit", limit); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - private Map createRequest() { - Map request = new HashMap<>(); - String[] startTime = {"10"}; - request.put("startTime", startTime); - String[] endTime = {"20"}; - request.put("endTime", endTime); - String[] from = {"30"}; - request.put("from", from); - String[] limit = {"40"}; - request.put("limit", limit); - String[] minCost = {"50"}; - request.put("minCost", minCost); - String[] maxCost = {"60"}; - request.put("maxCost", maxCost); - return request; - } - - class SegmentTopGetAnswerGet implements Answer { - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - SegmentTopSearch.RequestEntity requestEntity = (SegmentTopSearch.RequestEntity) invocation.getArguments()[0]; - Assert.assertEquals(10, requestEntity.getStartTime()); - Assert.assertEquals(20, requestEntity.getEndTime()); - Assert.assertEquals(30, requestEntity.getFrom()); - Assert.assertEquals(40, requestEntity.getLimit()); - Assert.assertEquals(50, requestEntity.getMinCost()); - Assert.assertEquals(60, requestEntity.getMaxCost()); - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentCostAnalysisTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentCostAnalysisTestCase.java deleted file mode 100644 index 353eca612..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/analysis/SegmentCostAnalysisTestCase.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.analysis; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.actor.*; -import org.skywalking.apm.collector.worker.segment.persistence.SegmentCostSave; - -import java.lang.reflect.Field; -import java.util.List; - -/** - * @author pengys5 - */ -public class SegmentCostAnalysisTestCase { - - @Test - public void aggWorkRefs() throws WorkerNotFoundException, NoSuchFieldException, IllegalAccessException { - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - - WorkerRef workerRef = new LocalSyncWorkerRef(SegmentCostSave.Role.INSTANCE, null); - localWorkerContext.put(workerRef); - - SegmentCostAnalysis analysis = new SegmentCostAnalysis(SegmentCostAnalysis.Role.INSTANCE, null, localWorkerContext); - WorkerRefs workerRefs = analysis.aggWorkRefs(); - - Field testAField = workerRefs.getClass().getDeclaredField("workerRefs"); - testAField.setAccessible(true); - List list = (List) testAField.get(workerRefs); - - Assert.assertEquals(workerRef, list.get(0)); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserializeFromFile.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserializeFromFile.java deleted file mode 100644 index f76275293..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/entity/SegmentDeserializeFromFile.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.entity; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.io.FileReader; -import java.util.ArrayList; -import java.util.List; -import org.skywalking.apm.network.proto.TraceSegmentObject; - -/** - * @author pengys5 - */ -public enum SegmentDeserializeFromFile { - INSTANCE; - - private final Gson gson = new Gson(); - - /** - * Read a json array file contains multiple segments. - * - * @param segmentJsonFile a segments json array file path - * @return on {@link List } - * @throws Exception if json data illegal or file broken. - */ - public List deserializeMultiple(String segmentJsonFile) throws Exception { - List segmentList = new ArrayList<>(); - streamReader(segmentList, new FileReader(segmentJsonFile)); - return segmentList; - } - - private void streamReader(List segmentList, FileReader fileReader) throws Exception { - JsonArray segmentArray = gson.fromJson(fileReader, JsonArray.class); - for (int i = 0; i < segmentArray.size(); i++) { - JsonObject segmentObj = segmentArray.get(i).getAsJsonObject(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/entity/SpanViewTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/entity/SpanViewTestCase.java deleted file mode 100644 index ff5b9126a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/entity/SpanViewTestCase.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.entity; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class SpanViewTestCase { - - @Test - public void test() { - SpanView spanView = new SpanView(); - spanView.setSpanId(1); - Assert.assertEquals(1, spanView.getSpanId()); - - spanView.setSegId("1"); - Assert.assertEquals("1", spanView.getSegId()); - - spanView.setAppCode("2"); - Assert.assertEquals("2", spanView.getAppCode()); - - spanView.setRelativeStartTime(10L); - Assert.assertEquals(10L, spanView.getRelativeStartTime()); - - spanView.setCost(20L); - Assert.assertEquals(20L, spanView.getCost()); - - spanView.setOperationName("3"); - Assert.assertEquals("3", spanView.getOperationName()); - - SpanView child = new SpanView(); - spanView.addChild(child); - - spanView.compareTo(child); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/KeyWithStringValueFromJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/KeyWithStringValueFromJson.java deleted file mode 100644 index 8c14eadb0..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/KeyWithStringValueFromJson.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.network.proto.KeyWithStringValue; - -/** - * @author pengys5 - */ -public enum KeyWithStringValueFromJson { - INSTANCE; - - private static final String key = "key"; - private static final String value = "value"; - - public List build(JsonArray kvArray) { - List kv = new LinkedList<>(); - for (int i = 0; i < kvArray.size(); i++) { - JsonObject tagJson = kvArray.get(i).getAsJsonObject(); - KeyWithStringValue.Builder builder = KeyWithStringValue.newBuilder(); - buildKV(builder, tagJson); - kv.add(builder); - } - return kv; - } - - private void buildKV(KeyWithStringValue.Builder builder, JsonObject tagJson) { - builder.setKey(tagJson.get(key).getAsString()); - builder.setValue(tagJson.get(value).getAsString()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/LogsFromJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/LogsFromJson.java deleted file mode 100644 index a2fd9d573..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/LogsFromJson.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.network.proto.KeyWithStringValue; -import org.skywalking.apm.network.proto.LogMessage; - -/** - * @author pengys5 - */ -public enum LogsFromJson { - INSTANCE; - - private static final String time = "time"; - private static final String data = "data"; - - public List build(JsonArray logsArray) { - List logs = new LinkedList<>(); - for (int i = 0; i < logsArray.size(); i++) { - JsonObject logJson = logsArray.get(i).getAsJsonObject(); - LogMessage.Builder builder = LogMessage.newBuilder(); - buildLogMessage(builder, logJson); - logs.add(builder); - } - return logs; - } - - private void buildLogMessage(LogMessage.Builder builder, JsonObject logJson) { - if (logJson.has(time)) { - builder.setTime(logJson.get(time).getAsLong()); - } - if (logJson.has(data)) { - List logsBuilders = TagsFromJson.INSTANCE.build(logJson.get(data).getAsJsonArray()); - logsBuilders.forEach(logsBuilder -> { - builder.addData(logsBuilder); - }); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/ReferencesFromJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/ReferencesFromJson.java deleted file mode 100644 index 5d77b71de..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/ReferencesFromJson.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.network.proto.TraceSegmentReference; - -/** - * @author pengys5 - */ -public enum ReferencesFromJson { - INSTANCE; - - private static final String parentTraceSegmentId = "parentTraceSegmentId"; - private static final String parentSpanId = "parentSpanId"; - private static final String parentApplicationId = "parentApplicationId"; - private static final String networkAddress = "networkAddress"; - private static final String networkAddressId = "networkAddressId"; - private static final String entryServiceName = "entryServiceName"; - private static final String entryServiceId = "entryServiceId"; - - public List build(JsonArray spanArray) { - List references = new LinkedList<>(); - for (int i = 0; i < spanArray.size(); i++) { - JsonObject spanJson = spanArray.get(i).getAsJsonObject(); - TraceSegmentReference.Builder builder = TraceSegmentReference.newBuilder(); - buildRef(builder, spanJson); - references.add(builder); - } - - return references; - } - - private void buildRef(TraceSegmentReference.Builder builder, JsonObject referenceJsonObj) { - if (referenceJsonObj.has(parentTraceSegmentId)) { - builder.setParentTraceSegmentId(referenceJsonObj.get(parentTraceSegmentId).getAsString()); - } - if (referenceJsonObj.has(parentSpanId)) { - builder.setParentSpanId(referenceJsonObj.get(parentSpanId).getAsInt()); - } - if (referenceJsonObj.has(parentApplicationId)) { - builder.setParentApplicationId(referenceJsonObj.get(parentApplicationId).getAsInt()); - } - if (referenceJsonObj.has(networkAddress)) { - builder.setNetworkAddress(referenceJsonObj.get(networkAddress).getAsString()); - } - if (referenceJsonObj.has(networkAddressId)) { - builder.setNetworkAddressId(referenceJsonObj.get(networkAddressId).getAsInt()); - } - if (referenceJsonObj.has(entryServiceName)) { - builder.setEntryServiceName(referenceJsonObj.get(entryServiceName).getAsString()); - } - if (referenceJsonObj.has(entryServiceId)) { - builder.setEntryServiceId(referenceJsonObj.get(entryServiceId).getAsInt()); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SegmentFromJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SegmentFromJson.java deleted file mode 100644 index 991d2f7ab..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SegmentFromJson.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonObject; -import java.util.List; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.network.proto.TraceSegmentReference; - -/** - * @author pengys5 - */ -public enum SegmentFromJson { - INSTANCE; - - private static final String traceSegmentId = "traceSegmentId"; - private static final String refs = "refs"; - private static final String spans = "spans"; - private static final String applicationId = "applicationId"; - private static final String applicationInstanceId = "applicationInstanceId"; - - public TraceSegmentObject build(JsonObject segmentJsonObj) { - TraceSegmentObject.Builder builder = TraceSegmentObject.newBuilder(); - buildSegment(builder, segmentJsonObj); - return builder.build(); - } - - private void buildSegment(TraceSegmentObject.Builder builder, JsonObject segmentJsonObj) { - builder.setTraceSegmentId(segmentJsonObj.get(traceSegmentId).getAsString()); - builder.setApplicationId(segmentJsonObj.get(applicationId).getAsInt()); - builder.setApplicationInstanceId(segmentJsonObj.get(applicationInstanceId).getAsInt()); - - if (segmentJsonObj.has(refs)) { - List refBuilders = ReferencesFromJson.INSTANCE.build(segmentJsonObj.get(refs).getAsJsonArray()); - refBuilders.forEach(refBuilder -> builder.addRefs(refBuilder)); - } - - List spanBuilders = SpanFromJson.INSTANCE.build(segmentJsonObj.get(spans).getAsJsonArray()); - spanBuilders.forEach(spanBuilder -> builder.addSpans(spanBuilder)); - } -} \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SegmentMock.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SegmentMock.java deleted file mode 100644 index d46dba887..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SegmentMock.java +++ /dev/null @@ -1,119 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import java.io.FileNotFoundException; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.collector.queue.EndOfBatchCommand; -import org.skywalking.apm.collector.worker.AnalysisMember; -import org.skywalking.apm.collector.worker.segment.SegmentReceiver; -import org.skywalking.apm.collector.worker.segment.entity.SegmentDeserializeFromFile; -import org.skywalking.apm.collector.worker.tools.JsonFileReader; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.network.proto.UpstreamSegment; - -/** - * @author pengys5 - */ -public class SegmentMock { - private static String path = SegmentMock.class.getResource("/").getPath(); - - private final String CacheServiceJsonFile = path + "/json/segment/post/normal/cache-service.json"; - private final String PersistenceServiceJsonFile = path + "/json/segment/post/normal/persistence-service.json"; - public static final String PortalServiceJsonFile = path + "/json/segment/grpc/normal/portal-service.json"; - - private final String CacheServiceExceptionJsonFile = path + "/json/segment/post/exception/cache-service.json"; - private final String PortalServiceExceptionJsonFile = path + "/json/segment/post/exception/portal-service.json"; - - private final String SpecialJsonFile = path + "/json/segment/post/special/special.json"; - - public String loadJsonFile(String fileName) throws FileNotFoundException { - return JsonFileReader.INSTANCE.read(path + fileName); - } - - public String mockCacheServiceSegmentAsString() throws FileNotFoundException { - return JsonFileReader.INSTANCE.readSegment(CacheServiceJsonFile); - } - - public String mockCacheServiceExceptionSegmentAsString() throws FileNotFoundException { - return JsonFileReader.INSTANCE.read(CacheServiceExceptionJsonFile); - } - - public String mockPersistenceServiceSegmentAsString() throws FileNotFoundException { - return JsonFileReader.INSTANCE.read(PersistenceServiceJsonFile); - } - - public static List mockPortalServiceSegment() throws FileNotFoundException { - List upstreamSegmentList = new LinkedList<>(); - JsonArray segmentArray = JsonFileReader.INSTANCE.parse(PortalServiceJsonFile).getAsJsonArray(); - segmentArray.forEach(segmentObj -> { - UpstreamSegment upstreamSegment = UpstreamSegmentFromJson.INSTANCE.build(segmentObj.getAsJsonObject()); - upstreamSegmentList.add(upstreamSegment); - }); - - return upstreamSegmentList; - } - - public List mockCacheServiceExceptionSegmentTimeSlice() throws Exception { - return createSegmentWithTimeSliceList(CacheServiceExceptionJsonFile); - } - - public List mockPortalServiceExceptionSegmentTimeSlice() throws Exception { - return createSegmentWithTimeSliceList(PortalServiceExceptionJsonFile); - } - - public List mockCacheServiceSegmentSegmentTimeSlice() throws Exception { - return createSegmentWithTimeSliceList(CacheServiceJsonFile); - } - - public List mockPersistenceServiceSegmentTimeSlice() throws Exception { - return createSegmentWithTimeSliceList(PersistenceServiceJsonFile); - } - - public List mockPortalServiceSegmentSegmentTimeSlice() throws Exception { - return createSegmentWithTimeSliceList(PortalServiceJsonFile); - } - - private List createSegmentWithTimeSliceList( - String jsonFilePath) throws Exception { - List segmentList = SegmentDeserializeFromFile.INSTANCE.deserializeMultiple(jsonFilePath); - - List segmentWithTimeSliceList = new ArrayList<>(); - for (TraceSegmentObject segment : segmentList) { - SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = createSegmentWithTimeSlice(segment); - segmentWithTimeSliceList.add(segmentWithTimeSlice); - } - return segmentWithTimeSliceList; - } - - private SegmentReceiver.SegmentWithTimeSlice createSegmentWithTimeSlice(TraceSegmentObject segment) { -// long minuteSlice = DateTools.getMinuteSlice(segment.getStartTime()); -// long hourSlice = DateTools.getHourSlice(segment.getStartTime()); -// long daySlice = DateTools.getDaySlice(segment.getStartTime()); -// int second = DateTools.getSecond(segment.getStartTime()); - -// SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice = new SegmentReceiver.SegmentWithTimeSlice(segment, minuteSlice, hourSlice, daySlice, second); -// return segmentWithTimeSlice; - return null; - } - - public void executeAnalysis(AnalysisMember analysis) throws Exception { - List cacheServiceSegment = this.mockCacheServiceSegmentSegmentTimeSlice(); - for (SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice : cacheServiceSegment) { - analysis.analyse(segmentWithTimeSlice); - } - - List portalServiceSegment = this.mockPortalServiceSegmentSegmentTimeSlice(); - for (SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice : portalServiceSegment) { - analysis.analyse(segmentWithTimeSlice); - } - - List persistenceServiceSegment = this.mockPersistenceServiceSegmentTimeSlice(); - for (SegmentReceiver.SegmentWithTimeSlice segmentWithTimeSlice : persistenceServiceSegment) { - analysis.analyse(segmentWithTimeSlice); - } - - analysis.onWork(new EndOfBatchCommand()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SpanFromJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SpanFromJson.java deleted file mode 100644 index 4dd057df7..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/SpanFromJson.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.network.proto.KeyWithStringValue; -import org.skywalking.apm.network.proto.LogMessage; -import org.skywalking.apm.network.proto.SpanObject; - -/** - * @author pengys5 - */ -public enum SpanFromJson { - INSTANCE; - - private static final String spanId = "spanId"; - private static final String parentSpanId = "parentSpanId"; - private static final String startTime = "startTime"; - private static final String endTime = "endTime"; - private static final String operationNameId = "operationNameId"; - private static final String operationName = "operationName"; - private static final String peerId = "peerId"; - private static final String peer = "peer"; - private static final String spanType = "spanType"; - private static final String spanLayer = "spanLayer"; - private static final String componentId = "componentId"; - private static final String component = "component"; - private static final String isError = "isError"; - private static final String tags = "tags"; - private static final String logs = "logs"; - - public List build(JsonArray spanArray) { - List spans = new LinkedList<>(); - for (int i = 0; i < spanArray.size(); i++) { - JsonObject spanJson = spanArray.get(i).getAsJsonObject(); - SpanObject.Builder builder = SpanObject.newBuilder(); - buildSpan(builder, spanJson); - spans.add(builder); - } - - return spans; - } - - private void buildSpan(SpanObject.Builder builder, JsonObject spanJsonObj) { - if (spanJsonObj.has(spanId)) { - builder.setSpanId(spanJsonObj.get(spanId).getAsInt()); - } - if (spanJsonObj.has(parentSpanId)) { - builder.setParentSpanId(spanJsonObj.get(parentSpanId).getAsInt()); - } - if (spanJsonObj.has(startTime)) { - builder.setStartTime(spanJsonObj.get(startTime).getAsLong()); - } - if (spanJsonObj.has(endTime)) { - builder.setEndTime(spanJsonObj.get(endTime).getAsLong()); - } - if (spanJsonObj.has(operationNameId)) { - builder.setOperationNameId(spanJsonObj.get(operationNameId).getAsInt()); - } - if (spanJsonObj.has(operationName)) { - builder.setOperationName(spanJsonObj.get(operationName).getAsString()); - } - if (spanJsonObj.has(peerId)) { - builder.setPeerId(spanJsonObj.get(peerId).getAsInt()); - } - if (spanJsonObj.has(peer)) { - builder.setPeer(spanJsonObj.get(peer).getAsString()); - } - if (spanJsonObj.has(spanType)) { - builder.setSpanTypeValue(spanJsonObj.get(spanType).getAsInt()); - } - if (spanJsonObj.has(spanLayer)) { - builder.setSpanLayerValue(spanJsonObj.get(spanLayer).getAsInt()); - } - if (spanJsonObj.has(component)) { - builder.setComponent(spanJsonObj.get(component).getAsString()); - } - if (spanJsonObj.has(componentId)) { - builder.setComponentId(spanJsonObj.get(componentId).getAsInt()); - } - if (spanJsonObj.has(isError)) { - builder.setIsError(spanJsonObj.get(isError).getAsBoolean()); - } - if (spanJsonObj.has(tags)) { - List tagsBuilders = TagsFromJson.INSTANCE.build(spanJsonObj.get(tags).getAsJsonArray()); - tagsBuilders.forEach(tagsBuilder -> { - builder.addTags(tagsBuilder); - }); - } - if (spanJsonObj.has(logs)) { - List logsBuilders = LogsFromJson.INSTANCE.build(spanJsonObj.get(logs).getAsJsonArray()); - logsBuilders.forEach(logsBuilder -> { - builder.addLogs(logsBuilder); - }); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/TagsFromJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/TagsFromJson.java deleted file mode 100644 index e2b4c4741..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/TagsFromJson.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import java.util.List; -import org.skywalking.apm.network.proto.KeyWithStringValue; - -/** - * @author pengys5 - */ -public enum TagsFromJson { - INSTANCE; - - public List build(JsonArray tagsArray) { - return KeyWithStringValueFromJson.INSTANCE.build(tagsArray); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/UpstreamSegmentFromJson.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/UpstreamSegmentFromJson.java deleted file mode 100644 index bcdbf3aae..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/UpstreamSegmentFromJson.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.network.proto.UpstreamSegment; - -/** - * @author pengys5 - */ -public enum UpstreamSegmentFromJson { - INSTANCE; - - private static final String globalTraceIds = "globalTraceIds"; - private static final String segment = "segment"; - - public UpstreamSegment build(JsonObject upstreamJsonObj) { - UpstreamSegment.Builder builder = UpstreamSegment.newBuilder(); - buildUpStream(builder, upstreamJsonObj); - return builder.build(); - } - - private void buildUpStream(UpstreamSegment.Builder builder, JsonObject upstreamJsonObj) { - if (upstreamJsonObj.has(globalTraceIds)) { - JsonArray globalTraceIdArray = upstreamJsonObj.get(globalTraceIds).getAsJsonArray(); - globalTraceIdArray.forEach(globalTraceIdElement -> { - builder.addGlobalTraceIds(globalTraceIdElement.getAsString()); - }); - } - - TraceSegmentObject segmentObject = SegmentFromJson.INSTANCE.build(upstreamJsonObj.get(segment).getAsJsonObject()); - builder.setSegment(segmentObject.toByteString()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/UpstreamSegmentFromJsonTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/UpstreamSegmentFromJsonTestCase.java deleted file mode 100644 index 8f1ccc0b6..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/mock/UpstreamSegmentFromJsonTestCase.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.mock; - -import com.google.gson.JsonArray; -import com.google.protobuf.InvalidProtocolBufferException; -import java.io.FileNotFoundException; -import java.util.LinkedList; -import java.util.List; -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.tools.JsonFileReader; -import org.skywalking.apm.network.proto.KeyWithStringValue; -import org.skywalking.apm.network.proto.SpanObject; -import org.skywalking.apm.network.proto.TraceSegmentObject; -import org.skywalking.apm.network.proto.UpstreamSegment; - -/** - * @author pengys5 - */ -public class UpstreamSegmentFromJsonTestCase { - - @Test - public void testBuild() throws FileNotFoundException, InvalidProtocolBufferException { - JsonArray segmentArray = JsonFileReader.INSTANCE.parse(SegmentMock.PortalServiceJsonFile).getAsJsonArray(); - - List upstreamSegmentList = new LinkedList<>(); - segmentArray.forEach(segmentJsonObj -> { - UpstreamSegment upstreamSegment = UpstreamSegmentFromJson.INSTANCE.build(segmentJsonObj.getAsJsonObject()); - upstreamSegmentList.add(upstreamSegment); - }); - - Assert.assertEquals(1, upstreamSegmentList.size()); - UpstreamSegment upstreamSegment_1 = upstreamSegmentList.get(0); - - Assert.assertEquals(1, upstreamSegment_1.getGlobalTraceIdsCount()); - Assert.assertEquals("Trace.1490922929254.1797892356.6003.69.2", upstreamSegment_1.getGlobalTraceIds(0)); - - TraceSegmentObject segmentObject = TraceSegmentObject.parseFrom(upstreamSegment_1.getSegment()); - Assert.assertEquals("Segment.1490922929254.1797892356.6003.69.1", segmentObject.getTraceSegmentId()); - Assert.assertEquals(1, segmentObject.getApplicationId()); - Assert.assertEquals(1, segmentObject.getApplicationInstanceId()); - - Assert.assertEquals(1, segmentObject.getSpansCount()); - SpanObject span_0 = segmentObject.getSpans(0); - Assert.assertEquals(0, span_0.getSpanId()); - Assert.assertEquals(-1, span_0.getParentSpanId()); - Assert.assertEquals(0, span_0.getOperationNameId()); - Assert.assertEquals("/portal/", span_0.getOperationName()); - Assert.assertEquals(0, span_0.getPeerId()); - Assert.assertEquals("0:0:0:0:0:0:0:1:57837", span_0.getPeer()); - Assert.assertEquals(0, span_0.getSpanTypeValue()); - Assert.assertEquals(2, span_0.getSpanLayerValue()); - Assert.assertEquals(0, span_0.getComponentId()); - Assert.assertEquals("Tomcat", span_0.getComponent()); - Assert.assertEquals(false, span_0.getIsError()); - - Assert.assertEquals(2, span_0.getTagsCount()); - KeyWithStringValue tag_0 = span_0.getTags(0); - Assert.assertEquals("key_1", tag_0.getKey()); - Assert.assertEquals("value_1", tag_0.getValue()); - - KeyWithStringValue tag_1 = span_0.getTags(1); - Assert.assertEquals("key_2", tag_1.getKey()); - Assert.assertEquals("value_2", tag_1.getValue()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentCostSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentCostSaveTestCase.java deleted file mode 100644 index ccb056d41..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentCostSaveTestCase.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import org.apache.logging.log4j.LogManager; -import org.elasticsearch.client.Client; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.mock.MockEsBulkClient; -import org.skywalking.apm.collector.worker.mock.SaveToEsSourceAnswer; -import org.skywalking.apm.collector.worker.segment.SegmentCostIndex; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.EsClient; - -import java.util.TimeZone; - -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {EsClient.class, Client.class, LogManager.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class SegmentCostSaveTestCase { - - private SegmentCostSave segmentCostSave; - private SegmentMock segmentMock = new SegmentMock(); - private MockEsBulkClient mockEsBulkClient = new MockEsBulkClient(); - - private SaveToEsSourceAnswer saveToEsSourceAnswer; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - mockEsBulkClient.createMock(); - - saveToEsSourceAnswer = new SaveToEsSourceAnswer(); - when(mockEsBulkClient.indexRequestBuilder.setSource(Mockito.anyString())).thenAnswer(saveToEsSourceAnswer); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - segmentCostSave = new SegmentCostSave(SegmentCostSave.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(SegmentCostIndex.INDEX, segmentCostSave.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(SegmentCostIndex.TYPE_RECORD, segmentCostSave.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(SegmentCostSave.class.getSimpleName(), SegmentCostSave.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), SegmentCostSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - SegmentCostSave.Factory factory = new SegmentCostSave.Factory(); - Assert.assertEquals(SegmentCostSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(SegmentCostSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionSaveTestCase.java deleted file mode 100644 index 037f81a50..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentExceptionSaveTestCase.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.mock.MockEsBulkClient; -import org.skywalking.apm.collector.worker.segment.SegmentExceptionIndex; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.EsClient; - -import java.util.HashMap; -import java.util.Map; -import java.util.TimeZone; - -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {EsClient.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class SegmentExceptionSaveTestCase { - - private Logger logger = LogManager.getFormatterLogger(SegmentExceptionSaveTestCase.class); - - private SegmentMock segmentMock = new SegmentMock(); - private SegmentExceptionSave segmentExceptionSave; - private SaveToEsSource saveToEsSource; - private MockEsBulkClient mockEsBulkClient = new MockEsBulkClient(); - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - mockEsBulkClient.createMock(); - - saveToEsSource = new SaveToEsSource(); - when(mockEsBulkClient.indexRequestBuilder.setSource(Mockito.anyString())).thenAnswer(saveToEsSource); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - - segmentExceptionSave = new SegmentExceptionSave(SegmentExceptionSave.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(SegmentExceptionIndex.INDEX, segmentExceptionSave.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(SegmentExceptionIndex.TYPE_RECORD, segmentExceptionSave.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(SegmentExceptionSave.class.getSimpleName(), SegmentExceptionSave.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), SegmentExceptionSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - SegmentExceptionSave.Factory factory = new SegmentExceptionSave.Factory(); - Assert.assertEquals(SegmentExceptionSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(SegmentExceptionSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } - - class SaveToEsSource implements Answer { - - Map isErrorMap = new HashMap<>(); - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - Gson gson = new Gson(); - String source = (String) invocation.getArguments()[0]; - JsonObject sourceJsonObj = gson.fromJson(source, JsonObject.class); - logger.info("es source: %s", sourceJsonObj.toString()); - isErrorMap.put(sourceJsonObj.get("segId").getAsString(), sourceJsonObj); - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentSaveTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentSaveTestCase.java deleted file mode 100644 index e1a27ad5f..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/segment/persistence/SegmentSaveTestCase.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.skywalking.apm.collector.worker.segment.persistence; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.mock.MockEsBulkClient; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.storage.EsClient; - -import java.util.TimeZone; - -import static org.powermock.api.mockito.PowerMockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {EsClient.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class SegmentSaveTestCase { - - private SegmentSave segmentSave; - private SaveToEsSource saveToEsSource; - private MockEsBulkClient mockEsBulkClient = new MockEsBulkClient(); - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - mockEsBulkClient.createMock(); - - saveToEsSource = new SaveToEsSource(); - when(mockEsBulkClient.indexRequestBuilder.setSource(Mockito.anyString())).thenAnswer(saveToEsSource); - - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - - segmentSave = new SegmentSave(SegmentSave.Role.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testEsIndex() { - Assert.assertEquals(SegmentIndex.INDEX, segmentSave.esIndex()); - } - - @Test - public void testEsType() { - Assert.assertEquals(SegmentIndex.TYPE_RECORD, segmentSave.esType()); - } - - @Test - public void testRole() { - Assert.assertEquals(SegmentSave.class.getSimpleName(), SegmentSave.Role.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), SegmentSave.Role.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - SegmentSave.Factory factory = new SegmentSave.Factory(); - Assert.assertEquals(SegmentSave.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(SegmentSave.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } - - class SaveToEsSource implements Answer { - - String ts = ""; - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - Gson gson = new Gson(); - String source = (String) invocation.getArguments()[0]; - JsonObject sourceJsonObj = gson.fromJson(source, JsonObject.class); - ts = sourceJsonObj.get("ts").getAsString(); - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/SpanGetWithIdTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/SpanGetWithIdTestCase.java deleted file mode 100644 index 0cad73639..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/SpanGetWithIdTestCase.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.skywalking.apm.collector.worker.span; - -import com.google.gson.JsonObject; -import java.util.HashMap; -import java.util.Map; -import java.util.TimeZone; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.ProviderNotFoundException; -import org.skywalking.apm.collector.actor.WorkerRefs; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.span.persistence.SpanSearchWithId; - -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({ClusterWorkerContext.class}) -@PowerMockIgnore({"javax.management.*"}) -public class SpanGetWithIdTestCase { - - private SpanGetWithId getObj; - private SpanGetAnswerGet answer; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - WorkerRefs workerRefs = mock(WorkerRefs.class); - - answer = new SpanGetAnswerGet(); - doAnswer(answer).when(workerRefs).ask(Mockito.any(SpanSearchWithId.RequestEntity.class), Mockito.any(JsonObject.class)); - - when(localWorkerContext.lookup(SpanSearchWithId.WorkerRole.INSTANCE)).thenReturn(workerRefs); - getObj = new SpanGetWithId(SpanGetWithId.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - } - - @Test - public void testRole() { - Assert.assertEquals(SpanGetWithId.class.getSimpleName(), SpanGetWithId.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), SpanGetWithId.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - SpanGetWithId.Factory factory = new SpanGetWithId.Factory(); - Assert.assertEquals(SpanGetWithId.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(SpanGetWithId.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - Assert.assertEquals("/span/spanId", factory.servletPath()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(SpanSearchWithId.WorkerRole.INSTANCE)).thenReturn(new SpanSearchWithId.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(SpanSearchWithId.WorkerRole.class); - getObj.preStart(); - verify(clusterWorkerContext).findProvider(argumentCaptor.capture()); - } - - @Test - public void testOnSearch() throws Exception { - Map request = new HashMap<>(); - String[] segId = {"10"}; - request.put("segId", segId); - String[] spanId = {"20"}; - request.put("spanId", spanId); - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchError() throws Exception { - Map request = new HashMap<>(); - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - class SpanGetAnswerGet implements Answer { - - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - SpanSearchWithId.RequestEntity requestEntity = (SpanSearchWithId.RequestEntity)invocation.getArguments()[0]; - Assert.assertEquals("10", requestEntity.getSegId()); - Assert.assertEquals("20", requestEntity.getSpanId()); - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithIdTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithIdTestCase.java deleted file mode 100644 index 5e607b107..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/span/persistence/SpanSearchWithIdTestCase.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.skywalking.apm.collector.worker.span.persistence; - -import com.google.gson.JsonObject; -import java.util.TimeZone; -import org.elasticsearch.action.get.GetResponse; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.actor.ClusterWorkerContext; -import org.skywalking.apm.collector.actor.LocalWorkerContext; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.segment.SegmentIndex; -import org.skywalking.apm.collector.worker.segment.mock.SegmentMock; -import org.skywalking.apm.collector.worker.storage.GetResponseFromEs; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({GetResponseFromEs.class}) -@PowerMockIgnore({"javax.management.*"}) -public class SpanSearchWithIdTestCase { - - private GetResponseFromEs getResponseFromEs; - - @Before - public void init() { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - getResponseFromEs = PowerMockito.mock(GetResponseFromEs.class); - Whitebox.setInternalState(GetResponseFromEs.class, "INSTANCE", getResponseFromEs); - } - - @Test - public void testRole() { - Assert.assertEquals(SpanSearchWithId.class.getSimpleName(), SpanSearchWithId.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), SpanSearchWithId.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - SpanSearchWithId.Factory factory = new SpanSearchWithId.Factory(); - Assert.assertEquals(SpanSearchWithId.class.getSimpleName(), factory.role().roleName()); - Assert.assertEquals(SpanSearchWithId.class.getSimpleName(), factory.workerInstance(null).getClass().getSimpleName()); - } - - @Test - public void testOnWork() throws Exception { - ClusterWorkerContext clusterWorkerContext = new ClusterWorkerContext(null); - LocalWorkerContext localWorkerContext = new LocalWorkerContext(); - SpanSearchWithId spanSearchWithId = new SpanSearchWithId(SpanSearchWithId.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext); - - SegmentMock mock = new SegmentMock(); - String sourceString = mock.loadJsonFile("/json/span/persistence/segment.json"); - GetResponse getResponse = mock(GetResponse.class); - when(getResponseFromEs.get(SegmentIndex.INDEX, SegmentIndex.TYPE_RECORD, "1")).thenReturn(getResponse); - when(getResponse.getSourceAsString()).thenReturn(sourceString); - - SpanSearchWithId.RequestEntity request = new SpanSearchWithId.RequestEntity("1", "0"); - JsonObject response = new JsonObject(); - spanSearchWithId.onWork(request, response); - - JsonObject spanJsonObj = response.get(Const.RESULT).getAsJsonObject(); - String value = spanJsonObj.get("on").getAsString(); - Assert.assertEquals("/portal/", value); - } - -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/AbstractIndexTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/AbstractIndexTestCase.java deleted file mode 100644 index f051ab6e1..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/AbstractIndexTestCase.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import java.io.IOException; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {AbstractIndexTestCase.IndexTest.class, EsClient.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class AbstractIndexTestCase { - - @Test - public void testCreateSettingBuilder() throws IOException { - IndexTest indexTest = new IndexTest(); - Assert.assertEquals("{\"index.number_of_shards\":\"\",\"index.number_of_replicas\":\"\",\"index.refresh_interval\":\"0s\"}", indexTest.createSettingBuilder().string()); - } - - class IndexTest extends AbstractIndex { - @Override - public boolean isRecord() { - return false; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() - .startObject() - .startObject("properties") - .startObject(TIME_SLICE) - .field("type", "long") - .field("index", "not_analyzed") - .endObject() - .endObject() - .endObject(); - return mappingBuilder; - } - - @Override - public String index() { - return "Index_Test"; - } - - @Override - public int refreshInterval() { - return 0; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/AbstractTimeSliceTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/AbstractTimeSliceTestCase.java deleted file mode 100644 index 9f694ae94..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/AbstractTimeSliceTestCase.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class AbstractTimeSliceTestCase { - - @Test - public void test() { - TimeSlice timeSlice = new TimeSlice(1L, 2L, 3L, 4); - Assert.assertEquals(1L, timeSlice.getMinute()); - Assert.assertEquals(2L, timeSlice.getHour()); - Assert.assertEquals(3L, timeSlice.getDay()); - Assert.assertEquals(4, timeSlice.getSecond()); - } - - class TimeSlice extends AbstractTimeSlice { - public TimeSlice(long minute, long hour, long day, int second) { - super(minute, hour, day, second); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/GetResponseFromEsTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/GetResponseFromEsTestCase.java deleted file mode 100644 index 26b19c4f4..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/GetResponseFromEsTestCase.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.elasticsearch.action.get.GetResponse; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.worker.mock.MockGetResponse; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {EsClient.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class GetResponseFromEsTestCase { - - private GetResponse getResponse; - - @Before - public void init() { - MockGetResponse mockGetResponse = new MockGetResponse(); - getResponse = mockGetResponse.mockito(); - } - - @Test - public void testGet() { - GetResponse response = GetResponseFromEs.INSTANCE.get("INDEX", "TYPE", "1"); - Assert.assertEquals(getResponse, response); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/IndexCreatorTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/IndexCreatorTestCase.java deleted file mode 100644 index f41c6b61a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/IndexCreatorTestCase.java +++ /dev/null @@ -1,132 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.XContentFactory; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; -import org.skywalking.apm.collector.worker.config.EsConfig; - -import java.io.IOException; -import java.util.HashSet; -import java.util.Set; - -import static org.powermock.api.mockito.PowerMockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {IndexCreator.class, IndexCreatorTestCase.TestIndex.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class IndexCreatorTestCase { - - private IndexCreator indexCreator; - private TestIndex testIndex; - - @Before - public void init() throws Exception { - testIndex = mock(TestIndex.class); - - indexCreator = mock(IndexCreator.class); - doCallRealMethod().when(indexCreator).create(); - - Set indexSet = new HashSet<>(); - indexSet.add(testIndex); - when(indexCreator, "loadIndex").thenReturn(indexSet); - } - - @Test - public void testLoadIndex() throws Exception { - IndexCreator indexCreator = spy(IndexCreator.INSTANCE); - Set indexSet = Whitebox.invokeMethod(indexCreator, "loadIndex"); - Assert.assertEquals(8, indexSet.size()); - - Set indexName = new HashSet<>(); - for (AbstractIndex index : indexSet) { - indexName.add(index.index()); - } - - Assert.assertEquals(true, indexName.contains("node_ref_idx")); - Assert.assertEquals(true, indexName.contains("node_ref_res_sum_idx")); - Assert.assertEquals(true, indexName.contains("global_trace_idx")); - Assert.assertEquals(true, indexName.contains("segment_cost_idx")); - Assert.assertEquals(true, indexName.contains("node_mapping_idx")); - Assert.assertEquals(true, indexName.contains("segment_idx")); - Assert.assertEquals(true, indexName.contains("segment_exp_idx")); - Assert.assertEquals(true, indexName.contains("node_comp_idx")); - } - - @Test - public void testCreateOptionManual() throws Exception { - EsConfig.Es.Index.Initialize.MODE = EsConfig.IndexInitMode.MANUAL; - indexCreator.create(); - Mockito.verify(testIndex, Mockito.never()).createIndex(); - Mockito.verify(testIndex, Mockito.never()).deleteIndex(); - } - - @Test - public void testCreateOptionForcedIndexIsExists() throws Exception { - EsConfig.Es.Index.Initialize.MODE = EsConfig.IndexInitMode.FORCED; - when(testIndex.isExists()).thenReturn(true); - indexCreator.create(); - Mockito.verify(testIndex).createIndex(); - Mockito.verify(testIndex).deleteIndex(); - } - - @Test - public void testCreateOptionForcedIndexNotExists() throws Exception { - EsConfig.Es.Index.Initialize.MODE = EsConfig.IndexInitMode.FORCED; - when(testIndex.isExists()).thenReturn(false); - indexCreator.create(); - Mockito.verify(testIndex).createIndex(); - Mockito.verify(testIndex, Mockito.never()).deleteIndex(); - } - - @Test - public void testCreateOptionAutoIndexNotExists() throws Exception { - EsConfig.Es.Index.Initialize.MODE = EsConfig.IndexInitMode.AUTO; - when(testIndex.isExists()).thenReturn(false); - indexCreator.create(); - Mockito.verify(testIndex).createIndex(); - Mockito.verify(testIndex, Mockito.never()).deleteIndex(); - } - - @Test - public void testCreateOptionAutoIndexExists() throws Exception { - EsConfig.Es.Index.Initialize.MODE = EsConfig.IndexInitMode.AUTO; - when(testIndex.isExists()).thenReturn(true); - indexCreator.create(); - Mockito.verify(testIndex, Mockito.never()).createIndex(); - Mockito.verify(testIndex, Mockito.never()).deleteIndex(); - } - - class TestIndex extends AbstractIndex { - - @Override - public String index() { - return "TestIndex"; - } - - @Override - public boolean isRecord() { - return false; - } - - @Override - public int refreshInterval() { - return 0; - } - - @Override - public XContentBuilder createMappingBuilder() throws IOException { - return XContentFactory.jsonBuilder(); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitAnalysisDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitAnalysisDataTestCase.java deleted file mode 100644 index 401abb02f..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitAnalysisDataTestCase.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class JoinAndSplitAnalysisDataTestCase { - - @Test - public void getOrCreate() { - JoinAndSplitAnalysisData joinAndSplitAnalysisData = new JoinAndSplitAnalysisData(); - JoinAndSplitData joinAndSplitData = joinAndSplitAnalysisData.getOrCreate("Test1"); - - JoinAndSplitData joinAndSplitData_1 = joinAndSplitAnalysisData.getOrCreate("Test1"); - Assert.assertEquals(joinAndSplitData, joinAndSplitData_1); - } - - @Test - public void asMap() { - JoinAndSplitAnalysisData joinAndSplitAnalysisData = new JoinAndSplitAnalysisData(); - JoinAndSplitData joinAndSplitData = joinAndSplitAnalysisData.getOrCreate("Test1"); - - JoinAndSplitData joinAndSplitData_1 = joinAndSplitAnalysisData.asMap().get("Test1"); - Assert.assertEquals(joinAndSplitData, joinAndSplitData_1); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitPersistenceDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitPersistenceDataTestCase.java deleted file mode 100644 index 1e705d388..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/JoinAndSplitPersistenceDataTestCase.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -import java.lang.reflect.Field; - -/** - * @author pengys5 - */ -public class JoinAndSplitPersistenceDataTestCase { - - @Test - public void testGetElseCreate() { - JoinAndSplitPersistenceData persistenceData = new JoinAndSplitPersistenceData(); - persistenceData.hold(); - JoinAndSplitData joinAndSplitData = persistenceData.getOrCreate("test"); - Assert.assertEquals("test", joinAndSplitData.getId()); - } - - @Test - public void testSize() { - JoinAndSplitPersistenceData persistenceData = new JoinAndSplitPersistenceData(); - persistenceData.hold(); - persistenceData.getOrCreate("test_1"); - Assert.assertEquals(1, persistenceData.getCurrentAndHold().size()); - persistenceData.getOrCreate("test_1"); - Assert.assertEquals(1, persistenceData.getCurrentAndHold().size()); - persistenceData.getOrCreate("test_2"); - Assert.assertEquals(2, persistenceData.getCurrentAndHold().size()); - } - - @Test - public void testClear() { - JoinAndSplitPersistenceData persistenceData = new JoinAndSplitPersistenceData(); - persistenceData.hold(); - persistenceData.getOrCreate("test_1"); - Assert.assertEquals(1, persistenceData.getCurrentAndHold().size()); - persistenceData.getCurrentAndHold().clear(); - Assert.assertEquals(0, persistenceData.getCurrentAndHold().size()); - } - - @Test - public void hold() throws NoSuchFieldException, IllegalAccessException { - JoinAndSplitPersistenceData persistenceData = new JoinAndSplitPersistenceData(); - persistenceData.hold(); - - Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); - testAField.setAccessible(true); - WindowData windowData = (WindowData) testAField.get(persistenceData); - Assert.assertEquals(true, windowData.isHolding()); - } - - @Test - public void release() throws NoSuchFieldException, IllegalAccessException { - JoinAndSplitPersistenceData persistenceData = new JoinAndSplitPersistenceData(); - persistenceData.hold(); - - Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); - testAField.setAccessible(true); - WindowData windowData = (WindowData) testAField.get(persistenceData); - Assert.assertEquals(true, windowData.isHolding()); - - persistenceData.release(); - Assert.assertEquals(false, windowData.isHolding()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MergeWindowDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MergeWindowDataTestCase.java deleted file mode 100644 index dd95d7700..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MergeWindowDataTestCase.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author pengys5 - */ -public class MergeWindowDataTestCase { - - @Test - public void testConstruction() { - String id = "Test"; - JoinAndSplitData joinAndSplitData = new JoinAndSplitData(id); - - Assert.assertEquals(id, joinAndSplitData.getId()); - } - - @Test - public void testSetMergeData() { - String id = "Test"; - JoinAndSplitData joinAndSplitData = new JoinAndSplitData(id); - - joinAndSplitData.set("Column_1", "Value_1"); - Assert.assertEquals("Value_1", joinAndSplitData.asMap().get("Column_1")); - joinAndSplitData.set("Column_1", "Value_1"); - Assert.assertEquals("Value_1", joinAndSplitData.asMap().get("Column_1")); - - joinAndSplitData.set("Column_1", "Value_2"); - Assert.assertEquals("Value_2,Value_1", joinAndSplitData.asMap().get("Column_1")); - - joinAndSplitData.set("Column_2", "Value_3"); - Assert.assertEquals("Value_3", joinAndSplitData.asMap().get("Column_2")); - } - - @Test - public void testMerge() { - String id = "Test"; - JoinAndSplitData joinAndSplitData_1 = new JoinAndSplitData(id); - joinAndSplitData_1.set("Column_1", "Value_1"); - - JoinAndSplitData joinAndSplitData_2 = new JoinAndSplitData(id); - joinAndSplitData_2.set("Column_1", "Value_2"); - - joinAndSplitData_1.merge(joinAndSplitData_2); - Assert.assertEquals("Value_2,Value_1", joinAndSplitData_1.asMap().get("Column_1")); - } - - @Test - public void testMergeMap() { - String id = "Test"; - JoinAndSplitData joinAndSplitData_1 = new JoinAndSplitData(id); - joinAndSplitData_1.set("Column_1", "Value_1"); - - Map dbData = new HashMap<>(); - dbData.put("Column_1", "Value_2"); - - joinAndSplitData_1.merge(dbData); - Assert.assertEquals("Value_2,Value_1", joinAndSplitData_1.asMap().get("Column_1")); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricAnalysisDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricAnalysisDataTestCase.java deleted file mode 100644 index 3cbf9add7..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricAnalysisDataTestCase.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.Const; - -/** - * @author pengys5 - */ -public class MetricAnalysisDataTestCase { - - @Test - public void getOrCreate() { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - MetricAnalysisData metricAnalysisData = new MetricAnalysisData(); - MetricData metricData = metricAnalysisData.getOrCreate(id); - - MetricData metricData_1 = metricAnalysisData.getOrCreate(id); - Assert.assertEquals(metricData, metricData_1); - } - - @Test - public void asMap() { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - MetricAnalysisData metricAnalysisData = new MetricAnalysisData(); - MetricData metricData = metricAnalysisData.getOrCreate(id); - - MetricData metricData_1 = metricAnalysisData.asMap().get(id); - Assert.assertEquals(metricData, metricData_1); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricPersistenceTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricPersistenceTestCase.java deleted file mode 100644 index 49fac5229..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricPersistenceTestCase.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.Const; - -import java.lang.reflect.Field; - -/** - * @author pengys5 - */ -public class MetricPersistenceTestCase { - - @Test - public void testGetElseCreate() { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - - MetricPersistenceData metricPersistenceData = new MetricPersistenceData(); - metricPersistenceData.hold(); - MetricData metricData = metricPersistenceData.getOrCreate(id); - metricData.set("Column_1", 10L); - Assert.assertEquals(id, metricData.getId()); - - MetricData metricData1 = metricPersistenceData.getOrCreate(id); - Assert.assertEquals(10L, metricData1.asMap().get("Column_1")); - } - - @Test - public void testSize() { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - - MetricPersistenceData metricPersistenceData = new MetricPersistenceData(); - metricPersistenceData.hold(); - metricPersistenceData.getOrCreate(id); - - Assert.assertEquals(1, metricPersistenceData.getCurrentAndHold().size()); - String id_1 = "2016" + Const.ID_SPLIT + "B" + Const.ID_SPLIT + "C"; - metricPersistenceData.getOrCreate(id_1); - Assert.assertEquals(2, metricPersistenceData.getCurrentAndHold().size()); - - metricPersistenceData.getCurrentAndHold().clear(); - Assert.assertEquals(0, metricPersistenceData.getCurrentAndHold().size()); - } - - @Test - public void hold() throws NoSuchFieldException, IllegalAccessException { - MetricPersistenceData persistenceData = new MetricPersistenceData(); - persistenceData.hold(); - - Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); - testAField.setAccessible(true); - WindowData windowData = (WindowData) testAField.get(persistenceData); - Assert.assertEquals(true, windowData.isHolding()); - } - - @Test - public void release() throws NoSuchFieldException, IllegalAccessException { - MetricPersistenceData persistenceData = new MetricPersistenceData(); - persistenceData.hold(); - - Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); - testAField.setAccessible(true); - WindowData windowData = (WindowData) testAField.get(persistenceData); - Assert.assertEquals(true, windowData.isHolding()); - - persistenceData.release(); - Assert.assertEquals(false, windowData.isHolding()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricWindowDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricWindowDataTestCase.java deleted file mode 100644 index c6b9f998b..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/MetricWindowDataTestCase.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.Const; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author pengys5 - */ -public class MetricWindowDataTestCase { - - @Test - public void testConstruction() { - String id_1 = "2016" + Const.ID_SPLIT + "B"; - MetricData metricData_1 = new MetricData(id_1); - - Assert.assertEquals(id_1, metricData_1.getId()); - Assert.assertEquals(2016L, metricData_1.asMap().get(AbstractIndex.TIME_SLICE)); - Assert.assertEquals("B", metricData_1.asMap().get(AbstractIndex.AGG_COLUMN)); - - String id_2 = "2017" + Const.ID_SPLIT + "B" + Const.ID_SPLIT + "C"; - MetricData metricData_2 = new MetricData(id_2); - - Assert.assertEquals(id_2, metricData_2.getId()); - Assert.assertEquals(2017L, metricData_2.asMap().get(AbstractIndex.TIME_SLICE)); - Assert.assertEquals("B" + Const.ID_SPLIT + "C", metricData_2.asMap().get(AbstractIndex.AGG_COLUMN)); - } - - @Test - public void testSetMetric() { - String id_1 = "2016" + Const.ID_SPLIT + "B"; - MetricData metricData = new MetricData(id_1); - - metricData.set("Column", 10L); - Assert.assertEquals(10L, metricData.asMap().get("Column")); - - metricData.set("Column", 10L); - Assert.assertEquals(20L, metricData.asMap().get("Column")); - } - - @Test - public void testMerge() { - String id_1 = "2016" + Const.ID_SPLIT + "B"; - MetricData metricData_1 = new MetricData(id_1); - metricData_1.set("Column", 10L); - - MetricData metricData_2 = new MetricData(id_1); - metricData_2.set("Column", 10L); - - metricData_1.merge(metricData_2); - Assert.assertEquals(20L, metricData_1.asMap().get("Column")); - } - - @Test - public void testMergeMapData() { - String id_1 = "2016" + Const.ID_SPLIT + "B"; - MetricData metricData_1 = new MetricData(id_1); - metricData_1.set("Column", 10L); - - Map dbData = new HashMap<>(); - dbData.put("Column", 10L); - - metricData_1.merge(dbData); - Assert.assertEquals(20L, metricData_1.asMap().get("Column")); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/PersistenceWorkerListenerTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/PersistenceWorkerListenerTestCase.java deleted file mode 100644 index 9c4c4cc50..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/PersistenceWorkerListenerTestCase.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; -import org.mockito.Mockito; -import org.skywalking.apm.collector.actor.AbstractLocalSyncWorker; - -import java.util.List; - -/** - * @author pengys5 - */ -public class PersistenceWorkerListenerTestCase { - - @Test - public void register() { - PersistenceWorkerListener.INSTANCE.reset(); - AbstractLocalSyncWorker worker = Mockito.mock(AbstractLocalSyncWorker.class); - PersistenceWorkerListener.INSTANCE.register(worker); - - List workers = PersistenceWorkerListener.INSTANCE.getWorkers(); - Assert.assertEquals(worker, workers.get(0)); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordAnalysisDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordAnalysisDataTestCase.java deleted file mode 100644 index 7074e2e19..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordAnalysisDataTestCase.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class RecordAnalysisDataTestCase { - - @Test - public void getOrCreate() { - RecordAnalysisData recordAnalysisData = new RecordAnalysisData(); - RecordData recordData = recordAnalysisData.getOrCreate("Test1"); - - RecordData recordData_1 = recordAnalysisData.getOrCreate("Test1"); - Assert.assertEquals(recordData, recordData_1); - } - - @Test - public void asMap() { - RecordAnalysisData recordAnalysisData = new RecordAnalysisData(); - RecordData recordData = recordAnalysisData.getOrCreate("Test1"); - recordData.merge(null); - - RecordData recordData_1 = recordAnalysisData.asMap().get("Test1"); - Assert.assertEquals(recordData, recordData_1); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordPersistenceTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordPersistenceTestCase.java deleted file mode 100644 index 066fed79c..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordPersistenceTestCase.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.Const; - -import java.lang.reflect.Field; - -/** - * @author pengys5 - */ -public class RecordPersistenceTestCase { - - @Test - public void testGetElseCreate() { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - - JsonObject record = new JsonObject(); - record.addProperty("Column_1", "Value_1"); - RecordPersistenceData recordPersistenceData = new RecordPersistenceData(); - recordPersistenceData.hold(); - - RecordData recordData = recordPersistenceData.getOrCreate(id); - recordData.set(record); - - Assert.assertEquals(id, recordData.getId()); - - RecordData recordData1 = recordPersistenceData.getOrCreate(id); - Assert.assertEquals("Value_1", recordData1.get().get("Column_1").getAsString()); - } - - @Test - public void testClear() { - String id_1 = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - String id_2 = "2016" + Const.ID_SPLIT + "B" + Const.ID_SPLIT + "C"; - RecordPersistenceData recordPersistenceData = new RecordPersistenceData(); - recordPersistenceData.hold(); - - recordPersistenceData.getOrCreate(id_1); - Assert.assertEquals(1, recordPersistenceData.getCurrentAndHold().size()); - recordPersistenceData.getOrCreate(id_2); - Assert.assertEquals(2, recordPersistenceData.getCurrentAndHold().size()); - - recordPersistenceData.getCurrentAndHold().clear(); - Assert.assertEquals(0, recordPersistenceData.getCurrentAndHold().size()); - } - - @Test - public void hold() throws NoSuchFieldException, IllegalAccessException { - RecordPersistenceData persistenceData = new RecordPersistenceData(); - persistenceData.hold(); - - Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); - testAField.setAccessible(true); - WindowData windowData = (WindowData) testAField.get(persistenceData); - Assert.assertEquals(true, windowData.isHolding()); - } - - @Test - public void release() throws NoSuchFieldException, IllegalAccessException { - RecordPersistenceData persistenceData = new RecordPersistenceData(); - persistenceData.hold(); - - Field testAField = persistenceData.getClass().getDeclaredField("lockedWindowData"); - testAField.setAccessible(true); - WindowData windowData = (WindowData) testAField.get(persistenceData); - Assert.assertEquals(true, windowData.isHolding()); - - persistenceData.release(); - Assert.assertEquals(false, windowData.isHolding()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordWindowDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordWindowDataTestCase.java deleted file mode 100644 index e79fc01bd..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/RecordWindowDataTestCase.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.junit.Test; -import org.skywalking.apm.collector.worker.Const; - -/** - * @author pengys5 - */ -public class RecordWindowDataTestCase { - - @Test - public void testConstruction() { - String id_1 = "2017" + Const.ID_SPLIT + "B" + Const.ID_SPLIT + "C"; - RecordData recordData = new RecordData(id_1); - - Assert.assertEquals(id_1, recordData.getId()); - Assert.assertEquals("B" + Const.ID_SPLIT + "C", recordData.get().get("aggId").getAsString()); - } - - @Test - public void testSetRecord() { - String id_1 = "2017" + Const.ID_SPLIT + "B" + Const.ID_SPLIT + "C"; - RecordData recordData = new RecordData(id_1); - - JsonObject record = new JsonObject(); - record.addProperty("Column", "VALUE"); - recordData.set(record); - - Assert.assertEquals(id_1, recordData.getId()); - Assert.assertEquals("B" + Const.ID_SPLIT + "C", recordData.get().get("aggId").getAsString()); - Assert.assertEquals("VALUE", recordData.get().get("Column").getAsString()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/SegmentDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/SegmentDataTestCase.java deleted file mode 100644 index 5f9d1f4dc..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/SegmentDataTestCase.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class SegmentDataTestCase { - - @Test - public void test() { - SegmentData segmentData = new SegmentData("Test1"); - - segmentData.merge(null); - Assert.assertEquals("Test1", segmentData.getId()); - - segmentData.setSegmentStr("Test2"); - Assert.assertEquals("Test2", segmentData.getSegmentStr()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/SegmentPersistenceDataTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/SegmentPersistenceDataTestCase.java deleted file mode 100644 index bfdb61946..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/SegmentPersistenceDataTestCase.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -import java.lang.reflect.Field; - -/** - * @author pengys5 - */ -public class SegmentPersistenceDataTestCase { - - @Test - public void getOrCreate() throws NoSuchFieldException, IllegalAccessException { - SegmentPersistenceData segmentPersistenceData = new SegmentPersistenceData(); - segmentPersistenceData.hold(); - SegmentData segmentData = segmentPersistenceData.getOrCreate("Test1"); - - SegmentData segmentData_1 = segmentPersistenceData.getOrCreate("Test1"); - Assert.assertEquals(segmentData, segmentData_1); - - SegmentData segmentData_2 = segmentPersistenceData.getOrCreate("Test2"); - Assert.assertEquals(2, segmentPersistenceData.size()); - - System.out.println(segmentPersistenceData.asMap().toString()); - Assert.assertEquals(segmentData, segmentPersistenceData.asMap().get("Test1")); - Assert.assertEquals(segmentData_2, segmentPersistenceData.asMap().get("Test2")); - - Field testAField = segmentPersistenceData.getClass().getDeclaredField("lockedWindowData"); - testAField.setAccessible(true); - WindowData windowData = (WindowData) testAField.get(segmentPersistenceData); - Assert.assertEquals(true, windowData.isHolding()); - - segmentPersistenceData.release(); - Assert.assertEquals(false, windowData.isHolding()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/WindowTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/WindowTestCase.java deleted file mode 100644 index 14aab9a79..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/storage/WindowTestCase.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.skywalking.apm.collector.worker.storage; - -import org.junit.Assert; -import org.junit.Test; - -import java.lang.reflect.Field; -import java.util.Map; - -/** - * @author pengys5 - */ -public class WindowTestCase { - - @Test - public void switchPointer() throws NoSuchFieldException, IllegalAccessException { - Impl impl = new Impl(); - - Field pointerField = impl.getClass().getSuperclass().getDeclaredField("pointer"); - pointerField.setAccessible(true); - WindowData pointer = (WindowData) pointerField.get(impl); - - Field windowDataAField = impl.getClass().getSuperclass().getDeclaredField("windowDataA"); - windowDataAField.setAccessible(true); - WindowData windowDataA = (WindowData) windowDataAField.get(impl); - - Field windowDataBField = impl.getClass().getSuperclass().getDeclaredField("windowDataB"); - windowDataBField.setAccessible(true); - WindowData windowDataB = (WindowData) windowDataBField.get(impl); - - Assert.assertEquals(false, windowDataA.isHolding()); - WindowData current = impl.getCurrentAndHold(); - Assert.assertEquals(current, windowDataA); - Assert.assertEquals(true, windowDataA.isHolding()); - - WindowData last = impl.getLast(); - Assert.assertEquals(last, windowDataB); - - Assert.assertEquals(pointer, windowDataA); - impl.switchPointer(); - pointer = (WindowData) pointerField.get(impl); - Assert.assertEquals(pointer, windowDataB); - - current = impl.getCurrentAndHold(); - Assert.assertEquals(current, windowDataB); - Assert.assertEquals(true, windowDataB.isHolding()); - - last = impl.getLast(); - Assert.assertEquals(last, windowDataA); - - impl.switchPointer(); - pointer = (WindowData) pointerField.get(impl); - Assert.assertEquals(pointer, windowDataA); - } - - class Impl extends Window { - - } - - class DataImpl implements Data { - @Override - public String getId() { - return null; - } - - @Override - public void merge(Map dbData) { - - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/DateToolsTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/DateToolsTestCase.java deleted file mode 100644 index 27090dd4a..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/DateToolsTestCase.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.junit.Assert; -import org.junit.Test; - -import java.util.Calendar; -import java.util.TimeZone; - -/** - * @author pengys5 - */ -public class DateToolsTestCase { - - @Test - public void testUTCLocation() { - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - long timeSlice = 201703310915L; - long changedTimeSlice = DateTools.changeToUTCSlice(timeSlice); - Assert.assertEquals(201703310115L, changedTimeSlice); - } - - @Test - public void testUTC8Location() { - TimeZone.setDefault(TimeZone.getTimeZone("GMT+08:00")); - long timeSlice = 201703310915L; - long changedTimeSlice = DateTools.changeToUTCSlice(timeSlice); - Assert.assertEquals(201703310915L, changedTimeSlice); - } - - @Test - public void test() { - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(1490922929258L); - calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) - 3); -// System.out.println(calendar.getTimeInMillis()); - calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) - 2); -// System.out.println(calendar.getTimeInMillis()); - calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) - 2); -// System.out.println(calendar.getTimeInMillis()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/IdSplitTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/IdSplitTestCase.java deleted file mode 100644 index 98b042cf5..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/IdSplitTestCase.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.junit.Test; -import org.skywalking.apm.collector.worker.Const; - -/** - * @author pengys5 - */ -public class IdSplitTestCase { - - @Test - public void testIdSplit() { - String id = "201703221502..-..portal-service..-..[127.0.0.1:8002]"; - String[] ids = id.split(Const.IDS_SPLIT); - for (String splitId : ids) { -// System.out.println(splitId); - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/JsonFileReader.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/JsonFileReader.java deleted file mode 100644 index c1ed00c2d..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/JsonFileReader.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; -import java.io.FileNotFoundException; -import java.io.FileReader; - -/** - * @author pengys5 - */ -public enum JsonFileReader { - INSTANCE; - - public String read(String path) throws FileNotFoundException { - JsonParser jsonParser = new JsonParser(); - JsonElement jsonElement = jsonParser.parse(new FileReader(path)); - return jsonElement.toString(); - } - - public JsonElement parse(String path) throws FileNotFoundException { - JsonParser jsonParser = new JsonParser(); - return jsonParser.parse(new FileReader(path)); - } - - public String readSegment(String path) throws FileNotFoundException { - JsonParser jsonParser = new JsonParser(); - JsonElement jsonElement = jsonParser.parse(new FileReader(path)); - - StringBuilder segmentBuilder = new StringBuilder(); - JsonArray segments = jsonElement.getAsJsonArray(); - for (int i = 0; i < segments.size(); i++) { - JsonElement segment = segments.get(i); - String segmentStr = segment.toString(); - segmentBuilder.append(segmentStr.length()).append(" ").append(segmentStr); - } - - return segmentBuilder.toString(); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/MergeDataAggTools.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/MergeDataAggTools.java deleted file mode 100644 index a02ccc5ed..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/MergeDataAggTools.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.junit.Assert; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.mock.MergeDataAnswer; -import org.skywalking.apm.collector.worker.storage.JoinAndSplitData; - -/** - * @author pengys5 - */ -public enum MergeDataAggTools { - INSTANCE; - - public void testOnWork(AbstractClusterWorker agg, MergeDataAnswer mergeDataAnswer) throws Exception { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - JoinAndSplitData joinAndSplitData = new JoinAndSplitData(id); - joinAndSplitData.set("Column", "VALUE"); - agg.allocateJob(joinAndSplitData); - Assert.assertEquals("VALUE", mergeDataAnswer.getJoinAndSplitDataList().get(0).asMap().get("Column")); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/MetricDataAggTools.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/MetricDataAggTools.java deleted file mode 100644 index 56bd75b81..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/MetricDataAggTools.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.junit.Assert; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.mock.MetricDataAnswer; -import org.skywalking.apm.collector.worker.storage.MetricData; - -/** - * @author pengys5 - */ -public enum MetricDataAggTools { - INSTANCE; - - public void testOnWork(AbstractClusterWorker agg, MetricDataAnswer metricDataAnswer) throws Exception { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - MetricData metricData = new MetricData(id); - agg.allocateJob(metricData); - Assert.assertEquals("A" + Const.ID_SPLIT + "B", metricDataAnswer.getMetricDataList().get(0).asMap().get("aggId")); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/ParameterToolsTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/ParameterToolsTestCase.java deleted file mode 100644 index d145f2fcf..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/ParameterToolsTestCase.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.junit.Assert; -import org.junit.Test; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author pengys5 - */ -public class ParameterToolsTestCase { - - @Test - public void testToString() { - Map request = new HashMap<>(); - String[] test = {"Test"}; - - request.put("Key", test); - - String value = ParameterTools.INSTANCE.toString(request, "Key"); - Assert.assertEquals("Test", value); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/RecordDataAggTools.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/RecordDataAggTools.java deleted file mode 100644 index 2ba7920d0..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/RecordDataAggTools.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.junit.Assert; -import org.skywalking.apm.collector.actor.AbstractClusterWorker; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.mock.RecordDataAnswer; -import org.skywalking.apm.collector.worker.storage.RecordData; - -/** - * @author pengys5 - */ -public enum RecordDataAggTools { - INSTANCE; - - public void testOnWork(AbstractClusterWorker agg, RecordDataAnswer recordDataAnswer) throws Exception { - String id = "2016" + Const.ID_SPLIT + "A" + Const.ID_SPLIT + "B"; - RecordData recordData = new RecordData(id); - agg.allocateJob(recordData); - RecordData result = RecordDataTool.INSTANCE.getRecord(recordDataAnswer.getRecordDataList(), id); - Assert.assertEquals("A" + Const.ID_SPLIT + "B", result.get().get("aggId").getAsString()); - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/RecordDataTool.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/RecordDataTool.java deleted file mode 100644 index f299589c1..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/RecordDataTool.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -import org.skywalking.apm.collector.worker.storage.RecordData; - -import java.util.List; - -/** - * @author pengys5 - */ -public enum RecordDataTool { - - INSTANCE; - - public RecordData getRecord(List recordDataList, String id) { - for (RecordData recordData : recordDataList) { - if (id.equals(recordData.getId())) { - return recordData; - } - } - return null; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/SpanPeersToolsTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/SpanPeersToolsTestCase.java deleted file mode 100644 index 9d6135d2f..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tools/SpanPeersToolsTestCase.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.skywalking.apm.collector.worker.tools; - -/** - * @author pengys5 - */ -public class SpanPeersToolsTestCase { - -// @Test -// public void testNotEmptyPeers() { -// Span span = mock(Span.class); -// when(span.getStrTag("peers")).thenReturn("Test"); -// -// String peers = SpanPeersTools.INSTANCE.getPeers(span); -// Assert.assertEquals("[Test]", peers); -// } -// -// @Test -// public void testEmptyPeers() { -// Span span = mock(Span.class); -// when(span.getStrTag("peers")).thenReturn(null); -// when(span.getStrTag("peer.host")).thenReturn("localhost"); -// when(span.getStrTag("peer.PORT")).thenReturn("8080"); -// -// String peers = SpanPeersTools.INSTANCE.getPeers(span); -// Assert.assertEquals("[localhost:0]", peers); -// } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tracedag/TraceDagGetWithTimeSliceTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tracedag/TraceDagGetWithTimeSliceTestCase.java deleted file mode 100644 index 1d7826515..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tracedag/TraceDagGetWithTimeSliceTestCase.java +++ /dev/null @@ -1,195 +0,0 @@ -package org.skywalking.apm.collector.worker.tracedag; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; -import org.mockito.Mockito; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.skywalking.apm.collector.actor.*; -import org.skywalking.apm.collector.actor.selector.RollingSelector; -import org.skywalking.apm.collector.worker.Const; -import org.skywalking.apm.collector.worker.httpserver.ArgumentsParseException; -import org.skywalking.apm.collector.worker.node.persistence.NodeCompLoad; -import org.skywalking.apm.collector.worker.node.persistence.NodeMappingSearchWithTimeSlice; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefResSumSearchWithTimeSlice; -import org.skywalking.apm.collector.worker.noderef.persistence.NodeRefSearchWithTimeSlice; - -import java.util.HashMap; -import java.util.Map; -import java.util.TimeZone; - -import static org.mockito.Mockito.*; - -/** - * @author pengys5 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest( {ClusterWorkerContext.class, TraceDagGetWithTimeSlice.class}) -@PowerMockIgnore( {"javax.management.*"}) -public class TraceDagGetWithTimeSliceTestCase { - - private TraceDagGetWithTimeSlice getObj; - private ClusterWorkerContext clusterWorkerContext; - - @Before - public void init() throws Exception { - System.setProperty("user.timezone", "UTC"); - TimeZone.setDefault(TimeZone.getTimeZone("UTC")); - - clusterWorkerContext = PowerMockito.mock(ClusterWorkerContext.class); - - LocalWorkerContext localWorkerContext = PowerMockito.mock(LocalWorkerContext.class); - - WorkerRefs workerRefs_1 = mock(WorkerRefs.class); - TraceDagGetAnswerGet_1 answer_1 = new TraceDagGetAnswerGet_1(); - doAnswer(answer_1).when(workerRefs_1).ask(Mockito.any(), Mockito.any(JsonObject.class)); - when(localWorkerContext.lookup(NodeCompLoad.WorkerRole.INSTANCE)).thenReturn(workerRefs_1); - - WorkerRefs workerRefs_2 = mock(WorkerRefs.class); - TraceDagGetAnswerGet_2 answer_2 = new TraceDagGetAnswerGet_2(); - doAnswer(answer_2).when(workerRefs_2).ask(Mockito.any(NodeMappingSearchWithTimeSlice.RequestEntity.class), Mockito.any(JsonObject.class)); - when(localWorkerContext.lookup(NodeMappingSearchWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(workerRefs_2); - - WorkerRefs workerRefs_3 = mock(WorkerRefs.class); - TraceDagGetAnswerGet_3 answer_3 = new TraceDagGetAnswerGet_3(); - doAnswer(answer_3).when(workerRefs_3).ask(Mockito.any(NodeRefSearchWithTimeSlice.RequestEntity.class), Mockito.any(JsonObject.class)); - when(localWorkerContext.lookup(NodeRefSearchWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(workerRefs_3); - - WorkerRefs workerRefs_4 = mock(WorkerRefs.class); - TraceDagGetAnswerGet_4 answer_4 = new TraceDagGetAnswerGet_4(); - doAnswer(answer_4).when(workerRefs_4).ask(Mockito.any(NodeRefResSumSearchWithTimeSlice.RequestEntity.class), Mockito.any(JsonObject.class)); - when(localWorkerContext.lookup(NodeRefResSumSearchWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(workerRefs_4); - - getObj = PowerMockito.spy(new TraceDagGetWithTimeSlice(TraceDagGetWithTimeSlice.WorkerRole.INSTANCE, clusterWorkerContext, localWorkerContext)); - } - - @Test - public void testRole() { - Assert.assertEquals(TraceDagGetWithTimeSlice.class.getSimpleName(), TraceDagGetWithTimeSlice.WorkerRole.INSTANCE.roleName()); - Assert.assertEquals(RollingSelector.class.getSimpleName(), TraceDagGetWithTimeSlice.WorkerRole.INSTANCE.workerSelector().getClass().getSimpleName()); - } - - @Test - public void testFactory() { - Assert.assertEquals(TraceDagGetWithTimeSlice.class.getSimpleName(), TraceDagGetWithTimeSlice.Factory.INSTANCE.role().roleName()); - Assert.assertEquals(TraceDagGetWithTimeSlice.class.getSimpleName(), TraceDagGetWithTimeSlice.Factory.INSTANCE.workerInstance(null).getClass().getSimpleName()); - Assert.assertEquals("/traceDag/timeSlice", TraceDagGetWithTimeSlice.Factory.INSTANCE.servletPath()); - } - - @Test - public void testPreStart() throws ProviderNotFoundException { - when(clusterWorkerContext.findProvider(NodeCompLoad.WorkerRole.INSTANCE)).thenReturn(new NodeCompLoad.Factory()); - when(clusterWorkerContext.findProvider(NodeMappingSearchWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(new NodeMappingSearchWithTimeSlice.Factory()); - when(clusterWorkerContext.findProvider(NodeRefSearchWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(new NodeRefSearchWithTimeSlice.Factory()); - when(clusterWorkerContext.findProvider(NodeRefResSumSearchWithTimeSlice.WorkerRole.INSTANCE)).thenReturn(new NodeRefResSumSearchWithTimeSlice.Factory()); - - ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(Role.class); - getObj.preStart(); - verify(clusterWorkerContext, times(4)).findProvider(argumentCaptor.capture()); - - Assert.assertEquals("NodeCompLoad", argumentCaptor.getAllValues().get(0).roleName()); - Assert.assertEquals("NodeMappingSearchWithTimeSlice", argumentCaptor.getAllValues().get(1).roleName()); - Assert.assertEquals("NodeRefSearchWithTimeSlice", argumentCaptor.getAllValues().get(2).roleName()); - Assert.assertEquals("NodeRefResSumSearchWithTimeSlice", argumentCaptor.getAllValues().get(3).roleName()); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchError() throws Exception { - Map request = new HashMap<>(); - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchErrorStartTime() throws Exception { - Map request = createRequest(); - String[] startTime = {"xx"}; - request.put("startTime", startTime); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - @Test(expected = ArgumentsParseException.class) - public void testOnSearchErrorEndTime() throws Exception { - Map request = createRequest(); - String[] endTime = {"xx"}; - request.put("endTime", endTime); - - JsonObject response = new JsonObject(); - getObj.onReceive(request, response); - } - - private Map createRequest() { - Map request = new HashMap<>(); - String[] startTime = {"10"}; - request.put("startTime", startTime); - String[] endTime = {"20"}; - request.put("endTime", endTime); - String[] timeSliceType = {"minute"}; - request.put("timeSliceType", timeSliceType); - return request; - } - - @Test - public void testOnSearch() throws Exception { - TraceDagDataBuilder builder = mock(TraceDagDataBuilder.class); - PowerMockito.when(getObj, "getBuilder").thenReturn(builder); - - JsonObject response = new JsonObject(); - response.add(Const.RESULT, new JsonArray()); - PowerMockito.when(getObj, "getNewResponse").thenReturn(response); - - Map request = createRequest(); - getObj.onReceive(request, response); - } - - class TraceDagGetAnswerGet_1 implements Answer { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - return null; - } - } - - class TraceDagGetAnswerGet_2 implements Answer { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - NodeMappingSearchWithTimeSlice.RequestEntity entity = (NodeMappingSearchWithTimeSlice.RequestEntity) invocation.getArguments()[0]; - Assert.assertEquals(10, entity.getStartTime()); - Assert.assertEquals(20, entity.getEndTime()); - Assert.assertEquals("minute", entity.getSliceType()); - return null; - } - } - - class TraceDagGetAnswerGet_3 implements Answer { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - NodeRefSearchWithTimeSlice.RequestEntity entity = (NodeRefSearchWithTimeSlice.RequestEntity) invocation.getArguments()[0]; - Assert.assertEquals(10, entity.getStartTime()); - Assert.assertEquals(20, entity.getEndTime()); - Assert.assertEquals("minute", entity.getSliceType()); - return null; - } - } - - class TraceDagGetAnswerGet_4 implements Answer { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - NodeRefResSumSearchWithTimeSlice.RequestEntity entity = (NodeRefResSumSearchWithTimeSlice.RequestEntity) invocation.getArguments()[0]; - Assert.assertEquals(10, entity.getStartTime()); - Assert.assertEquals(20, entity.getEndTime()); - Assert.assertEquals("minute", entity.getSliceType()); - return null; - } - } -} diff --git a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tracedag/TraceDagWindowDataBuilderTestCase.java b/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tracedag/TraceDagWindowDataBuilderTestCase.java deleted file mode 100644 index 625125b40..000000000 --- a/apm-collector/apm-collector-worker/src/test/java/org/skywalking/apm/collector/worker/tracedag/TraceDagWindowDataBuilderTestCase.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.skywalking.apm.collector.worker.tracedag; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.junit.Test; - -/** - * @author pengys5 - */ -public class TraceDagWindowDataBuilderTestCase { - - private Gson gson = new Gson(); - - @Test - public void testBuild() { - JsonArray nodeMappingArray = nodeMappingArrayData(); - JsonArray nodeRefArray = nodeRefArrayData(); - JsonArray nodeCompArray = nodeCompArrayData(); - JsonArray resSumArray = resSumArrayData(); - - TraceDagDataBuilder builder = new TraceDagDataBuilder(); - JsonObject dagJsonObj = builder.build(nodeCompArray, nodeMappingArray, nodeRefArray, resSumArray); - - JsonArray pointArray = dagJsonObj.getAsJsonArray("nodes"); - JsonArray lineArray = dagJsonObj.getAsJsonArray("nodeRefs"); - - for (int i = 0; i < pointArray.size(); i++) { -// System.out.println(pointArray.get(i).getAsJsonObject()); - } - - for (int i = 0; i < lineArray.size(); i++) { -// System.out.println(lineArray.get(i).getAsJsonObject()); - } - } - - private JsonArray nodeMappingArrayData() { - String str = "[{\"code\":\"cache-service\",\"peers\":\"[127.0.0.1:8002]\"},{\"code\":\"persistence-service\",\"peers\":\"[10.128.35.80:20880]\"}]"; - JsonArray jsonArray = gson.fromJson(str, JsonArray.class); - return jsonArray; - } - - private JsonArray nodeRefArrayData() { - String str = "[{\"front\":\"User\",\"behind\":\"portal-service\"},{\"front\":\"portal-service\",\"behind\":\"[127.0.0.1:8002]\"},{\"front\":\"cache-service\",\"behind\":\"[127.0.0.1:6379]\"},{\"front\":\"cache-service\",\"behind\":\"[localhost:-1]\"},{\"front\":\"persistence-service\",\"behind\":\"[127.0.0.1:3307]\"},{\"front\":\"portal-service\",\"behind\":\"[10.128.35.80:20880]\"}]"; - JsonArray jsonArray = gson.fromJson(str, JsonArray.class); - return jsonArray; - } - - private JsonArray nodeCompArrayData() { - String str = "[{\"name\":\"Tomcat\",\"peers\":\"portal-service\"},{\"name\":\"Motan\",\"peers\":\"cache-service\"},{\"name\":\"H2\",\"peers\":\"[localhost:-1]\"},{\"name\":\"Tomcat\",\"peers\":\"[10.128.35.80:57818]\"},{\"name\":\"Redis\",\"peers\":\"[127.0.0.1:6379]\"},{\"name\":\"Mysql\",\"peers\":\"[127.0.0.1:3307]\"},{\"name\":\"Tomcat\",\"peers\":\"persistence-service\"},{\"name\":\"HttpClient\",\"peers\":\"[10.128.35.80:20880]\"},{\"name\":\"Motan\",\"peers\":\"[127.0.0.1:8002]\"},{\"name\":\"Tomcat\",\"peers\":\"[0:0:0:0:0:0:0:1:57837]\"}]"; - JsonArray jsonArray = gson.fromJson(str, JsonArray.class); - return jsonArray; - } - - private JsonArray resSumArrayData() { - String str = "[{\"front\":\"User\",\"behind\":\"portal-service\",\"oneSecondLess\":1.0,\"threeSecondLess\":0.0,\"fiveSecondLess\":0.0,\"fiveSecondGreater\":0.0,\"error\":0.0,\"summary\":1.0},{\"front\":\"cache-service\",\"behind\":\"[127.0.0.1:6379]\",\"oneSecondLess\":10.0,\"threeSecondLess\":0.0,\"fiveSecondLess\":0.0,\"fiveSecondGreater\":0.0,\"error\":0.0,\"summary\":10.0},{\"front\":\"cache-service\",\"behind\":\"[localhost:-1]\",\"oneSecondLess\":4.0,\"threeSecondLess\":0.0,\"fiveSecondLess\":0.0,\"fiveSecondGreater\":0.0,\"error\":0.0,\"summary\":4.0},{\"front\":\"persistence-service\",\"behind\":\"[127.0.0.1:3307]\",\"oneSecondLess\":2.0,\"threeSecondLess\":0.0,\"fiveSecondLess\":0.0,\"fiveSecondGreater\":0.0,\"error\":0.0,\"summary\":2.0},{\"front\":\"portal-service\",\"behind\":\"[10.128.35.80:20880]\",\"oneSecondLess\":1.0,\"threeSecondLess\":0.0,\"fiveSecondLess\":0.0,\"fiveSecondGreater\":0.0,\"error\":0.0,\"summary\":1.0},{\"front\":\"portal-service\",\"behind\":\"[127.0.0.1:8002]\",\"oneSecondLess\":2.0,\"threeSecondLess\":0.0,\"fiveSecondLess\":0.0,\"fiveSecondGreater\":0.0,\"error\":0.0,\"summary\":2.0}]"; - JsonArray jsonArray = gson.fromJson(str, JsonArray.class); - return jsonArray; - } -} diff --git a/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider b/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider deleted file mode 100644 index 4be6d0805..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractGetProvider +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.worker.httpserver.TestAbstractGet$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractPostProvider b/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractPostProvider deleted file mode 100644 index bacaaf8a8..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractPostProvider +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.worker.httpserver.TestAbstractPost$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractStreamPostProvider b/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractStreamPostProvider deleted file mode 100644 index 8a8483c6b..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/META-INF/services/org.skywalking.apm.collector.worker.httpserver.AbstractStreamPostProvider +++ /dev/null @@ -1 +0,0 @@ -org.skywalking.apm.collector.worker.httpserver.TestAbstractStreamPost$Factory \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/globaltrace/persistence/globaltrace_search.json b/apm-collector/apm-collector-worker/src/test/resources/json/globaltrace/persistence/globaltrace_search.json deleted file mode 100644 index 0dec69464..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/globaltrace/persistence/globaltrace_search.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "subSegIds": "Segment.1490922929258.927784221.5991.27.1" -} \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/globaltrace/persistence/globaltrace_segment.json b/apm-collector/apm-collector-worker/src/test/resources/json/globaltrace/persistence/globaltrace_segment.json deleted file mode 100644 index 8adf6f596..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/globaltrace/persistence/globaltrace_segment.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "ts": "Segment.1490922929258.927784221.5991.27.1", - "st": 1490922929258, - "et": 1490922929261, - "rs": [ - { - "ts": "Segment.1490922929254.1797892356.6003.69.1", - "si": 2, - "ac": "portal-service", - "ph": "127.0.0.1:8002" - } - ], - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490922929258, - "et": 1490922929258, - "on": "Jedis/getClient", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 3, - "ps": 1, - "st": 1490922929258, - "et": 1490922929258, - "on": "Jedis/getClient", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 4, - "ps": 1, - "st": 1490922929258, - "et": 1490922929258, - "on": "Jedis/isConnected", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 5, - "ps": 1, - "st": 1490922929258, - "et": 1490922929259, - "on": "Jedis/ping", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 6, - "ps": 1, - "st": 1490922929259, - "et": 1490922929259, - "on": "Jedis/get", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client", - "db.statement": "get test" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 7, - "ps": 1, - "st": 1490922929261, - "et": 1490922929261, - "on": "H2/JDBI/PreparedStatement/executeQuery", - "ts": { - "db.instance": "dataSource", - "span.layer": "db", - "db.type": "sql", - "component": "H2", - "span.kind": "client", - "db.statement": "SELECT id,CACHE_VALUE, CACHE_KEY FROM CACHE_TABLE WHERE CACHE_KEY \u003d ?", - "peer.host": "localhost" - }, - "tb": {}, - "ti": { - "peer.port": -1 - }, - "lo": [] - }, - { - "si": 8, - "ps": 1, - "st": 1490922929261, - "et": 1490922929261, - "on": "H2/JDBI/Connection/close", - "ts": { - "db.instance": "dataSource", - "span.layer": "db", - "db.type": "sql", - "component": "H2", - "span.kind": "client", - "db.statement": "", - "peer.host": "localhost" - }, - "tb": {}, - "ti": { - "peer.port": -1 - }, - "lo": [] - }, - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490922929261, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "requestId": "1563346001467539461" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490922929258, - "et": 1490922929261, - "on": "org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "span.layer": "rpc", - "component": "Motan", - "span.kind": "server" - }, - "tb": {}, - "ti": {}, - "lo": [] - } - ], - "ac": "cache-service", - "gt": [ - "Trace.1490922929254.1797892356.6003.69.2" - ] -} \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_comp_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_comp_analysis.json deleted file mode 100644 index 7d5c049af..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_comp_analysis.json +++ /dev/null @@ -1,66 +0,0 @@ -[ - { - "id": "[127.0.0.1:6379]", - "data": { - "peers": "[127.0.0.1:6379]", - "name": "Redis", - "aggId": null - } - }, - { - "id": "cache-service", - "data": { - "peers": "cache-service", - "name": "Motan", - "aggId": null - } - }, - { - "id": "[127.0.0.1:3307]", - "data": { - "peers": "[127.0.0.1:3307]", - "name": "Mysql", - "aggId": null - } - }, - { - "id": "portal-service", - "data": { - "peers": "portal-service", - "name": "Tomcat", - "aggId": null - } - }, - { - "id": "[localhost:-1]", - "data": { - "peers": "[localhost:-1]", - "name": "H2", - "aggId": null - } - }, - { - "id": "[10.128.35.80:20880]", - "data": { - "peers": "[10.128.35.80:20880]", - "name": "HttpClient", - "aggId": null - } - }, - { - "id": "[127.0.0.1:8002]", - "data": { - "peers": "[127.0.0.1:8002]", - "name": "Motan", - "aggId": null - } - }, - { - "id": "persistence-service", - "data": { - "peers": "persistence-service", - "name": "Tomcat", - "aggId": null - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_day_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_day_analysis.json deleted file mode 100644 index 6e42424cb..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_day_analysis.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "id": "201703310000..-..cache-service..-..[127.0.0.1:8002]", - "data": { - "code": "cache-service", - "peers": "[127.0.0.1:8002]", - "timeSlice": 201703310000, - "aggId": "cache-service..-..[127.0.0.1:8002]" - } - }, - { - "id": "201703310000..-..persistence-service..-..[10.128.35.80:20880]", - "data": { - "code": "persistence-service", - "peers": "[10.128.35.80:20880]", - "timeSlice": 201703310000, - "aggId": "persistence-service..-..[10.128.35.80:20880]" - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_hour_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_hour_analysis.json deleted file mode 100644 index e6315f60c..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_hour_analysis.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "id": "201703310900..-..cache-service..-..[127.0.0.1:8002]", - "data": { - "code": "cache-service", - "peers": "[127.0.0.1:8002]", - "timeSlice": 201703310900, - "aggId": "cache-service..-..[127.0.0.1:8002]" - } - }, - { - "id": "201703310900..-..persistence-service..-..[10.128.35.80:20880]", - "data": { - "code": "persistence-service", - "peers": "[10.128.35.80:20880]", - "timeSlice": 201703310900, - "aggId": "persistence-service..-..[10.128.35.80:20880]" - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_minute_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_minute_analysis.json deleted file mode 100644 index 43ed0720c..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/node/analysis/node_mapping_minute_analysis.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "id": "201703310915..-..persistence-service..-..[10.128.35.80:20880]", - "data": { - "code": "persistence-service", - "peers": "[10.128.35.80:20880]", - "timeSlice": 201703310915, - "aggId": "persistence-service..-..[10.128.35.80:20880]" - } - }, - { - "id": "201703310915..-..cache-service..-..[127.0.0.1:8002]", - "data": { - "code": "cache-service", - "peers": "[127.0.0.1:8002]", - "timeSlice": 201703310915, - "aggId": "cache-service..-..[127.0.0.1:8002]" - } - } -] diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_day_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_day_analysis.json deleted file mode 100644 index cb7a2b15f..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_day_analysis.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - { - "id": "201703310000..-..portal-service..-..[10.128.35.80:20880]", - "data": { - "timeSlice": 201703310000, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "portal-service", - "behind": "[10.128.35.80:20880]", - "aggId": "portal-service..-..[10.128.35.80:20880]" - } - }, - { - "id": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "data": { - "timeSlice": 201703310000, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "cache-service", - "behind": "[127.0.0.1:6379]", - "aggId": "cache-service..-..[127.0.0.1:6379]" - } - }, - { - "id": "201703310000..-..cache-service..-..[localhost:-1]", - "data": { - "timeSlice": 201703310000, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "cache-service", - "behind": "[localhost:-1]", - "aggId": "cache-service..-..[localhost:-1]" - } - }, - { - "id": "201703310000..-..User..-..portal-service", - "data": { - "timeSlice": 201703310000, - "frontIsRealCode": true, - "behindIsRealCode": true, - "behind": "portal-service", - "front": "User", - "aggId": "User..-..portal-service" - } - }, - { - "id": "201703310000..-..portal-service..-..[127.0.0.1:8002]", - "data": { - "timeSlice": 201703310000, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "portal-service", - "behind": "[127.0.0.1:8002]", - "aggId": "portal-service..-..[127.0.0.1:8002]" - } - }, - { - "id": "201703310000..-..persistence-service..-..[127.0.0.1:3307]", - "data": { - "timeSlice": 201703310000, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "persistence-service", - "behind": "[127.0.0.1:3307]", - "aggId": "persistence-service..-..[127.0.0.1:3307]" - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_hour_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_hour_analysis.json deleted file mode 100644 index b1977ad19..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_hour_analysis.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - { - "id": "201703310900..-..persistence-service..-..[127.0.0.1:3307]", - "data": { - "timeSlice": 201703310900, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "persistence-service", - "behind": "[127.0.0.1:3307]", - "aggId": "persistence-service..-..[127.0.0.1:3307]" - } - }, - { - "id": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "data": { - "timeSlice": 201703310900, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "cache-service", - "behind": "[127.0.0.1:6379]", - "aggId": "cache-service..-..[127.0.0.1:6379]" - } - }, - { - "id": "201703310900..-..cache-service..-..[localhost:-1]", - "data": { - "timeSlice": 201703310900, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "cache-service", - "behind": "[localhost:-1]", - "aggId": "cache-service..-..[localhost:-1]" - } - }, - { - "id": "201703310900..-..portal-service..-..[127.0.0.1:8002]", - "data": { - "timeSlice": 201703310900, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "portal-service", - "behind": "[127.0.0.1:8002]", - "aggId": "portal-service..-..[127.0.0.1:8002]" - } - }, - { - "id": "201703310900..-..User..-..portal-service", - "data": { - "timeSlice": 201703310900, - "frontIsRealCode": true, - "behindIsRealCode": true, - "behind": "portal-service", - "front": "User", - "aggId": "User..-..portal-service" - } - }, - { - "id": "201703310900..-..portal-service..-..[10.128.35.80:20880]", - "data": { - "timeSlice": 201703310900, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "portal-service", - "behind": "[10.128.35.80:20880]", - "aggId": "portal-service..-..[10.128.35.80:20880]" - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_minute_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_minute_analysis.json deleted file mode 100644 index 6fd1cdde0..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_minute_analysis.json +++ /dev/null @@ -1,68 +0,0 @@ -[ - { - "id": "201703310915..-..cache-service..-..[localhost:-1]", - "data": { - "timeSlice": 201703310915, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "cache-service", - "behind": "[localhost:-1]", - "aggId": "cache-service..-..[localhost:-1]" - } - }, - { - "id": "201703310915..-..portal-service..-..[127.0.0.1:8002]", - "data": { - "timeSlice": 201703310915, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "portal-service", - "behind": "[127.0.0.1:8002]", - "aggId": "portal-service..-..[127.0.0.1:8002]" - } - }, - { - "id": "201703310915..-..User..-..portal-service", - "data": { - "timeSlice": 201703310915, - "frontIsRealCode": true, - "behindIsRealCode": true, - "behind": "portal-service", - "front": "User", - "aggId": "User..-..portal-service" - } - }, - { - "id": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "data": { - "timeSlice": 201703310915, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "cache-service", - "behind": "[127.0.0.1:6379]", - "aggId": "cache-service..-..[127.0.0.1:6379]" - } - }, - { - "id": "201703310915..-..portal-service..-..[10.128.35.80:20880]", - "data": { - "timeSlice": 201703310915, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "portal-service", - "behind": "[10.128.35.80:20880]", - "aggId": "portal-service..-..[10.128.35.80:20880]" - } - }, - { - "id": "201703310915..-..persistence-service..-..[127.0.0.1:3307]", - "data": { - "timeSlice": 201703310915, - "frontIsRealCode": true, - "behindIsRealCode": false, - "front": "persistence-service", - "behind": "[127.0.0.1:3307]", - "aggId": "persistence-service..-..[127.0.0.1:3307]" - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_day_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_day_analysis.json deleted file mode 100644 index 36ab65425..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_day_analysis.json +++ /dev/null @@ -1,80 +0,0 @@ -[ - { - "id": "201703310000..-..User..-..portal-service", - "data": { - "summary": 1, - "oneSecondLess": 1, - "fiveSecondLess": 0, - "timeSlice": 201703310000, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "User..-..portal-service", - "error": 0 - } - }, - { - "id": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "data": { - "summary": 10, - "oneSecondLess": 10, - "fiveSecondLess": 0, - "timeSlice": 201703310000, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "cache-service..-..[127.0.0.1:6379]", - "error": 0 - } - }, - { - "id": "201703310000..-..cache-service..-..[localhost:-1]", - "data": { - "summary": 4, - "oneSecondLess": 4, - "fiveSecondLess": 0, - "timeSlice": 201703310000, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "cache-service..-..[localhost:-1]", - "error": 0 - } - }, - { - "id": "201703310000..-..User..-..portal-service", - "data": { - "summary": 1, - "oneSecondLess": 1, - "fiveSecondLess": 0, - "timeSlice": 201703310000, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "User..-..portal-service", - "error": 0 - } - }, - { - "id": "201703310000..-..portal-service..-..[127.0.0.1:8002]", - "data": { - "summary": 2, - "oneSecondLess": 2, - "fiveSecondLess": 0, - "timeSlice": 201703310000, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "portal-service..-..[127.0.0.1:8002]", - "error": 0 - } - }, - { - "id": "201703310000..-..persistence-service..-..[127.0.0.1:3307]", - "data": { - "summary": 2, - "oneSecondLess": 2, - "fiveSecondLess": 0, - "timeSlice": 201703310000, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "persistence-service..-..[127.0.0.1:3307]", - "error": 0 - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_day_analysis_request.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_day_analysis_request.json deleted file mode 100644 index e9071cbd0..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_day_analysis_request.json +++ /dev/null @@ -1,202 +0,0 @@ -[ - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929259, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929259, - "endTime": 1490922929259, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929261, - "endTime": 1490922929261, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929261, - "endTime": 1490922929261, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929300, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929300, - "endTime": 1490922929300, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929302, - "endTime": 1490922929302, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929303, - "endTime": 1490922929303, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..portal-service..-..[127.0.0.1:8002]", - "startTime": 1490922929257, - "endTime": 1490922929262, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..portal-service..-..[10.128.35.80:20880]", - "startTime": 1490922929262, - "endTime": 1490922929293, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..portal-service..-..[127.0.0.1:8002]", - "startTime": 1490922929297, - "endTime": 1490922929303, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..User..-..portal-service", - "startTime": 1490922929254, - "endTime": 1490922929306, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..persistence-service..-..[127.0.0.1:3307]", - "startTime": 1490922929279, - "endTime": 1490922929280, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310000..-..persistence-service..-..[127.0.0.1:3307]", - "startTime": 1490922929284, - "endTime": 1490922929284, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_hour_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_hour_analysis.json deleted file mode 100644 index 7ae186ef5..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_hour_analysis.json +++ /dev/null @@ -1,80 +0,0 @@ -[ - { - "id": "201703310900..-..User..-..portal-service", - "data": { - "summary": 1, - "oneSecondLess": 1, - "fiveSecondLess": 0, - "timeSlice": 201703310900, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "User..-..portal-service", - "error": 0 - } - }, - { - "id": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "data": { - "summary": 10, - "oneSecondLess": 10, - "fiveSecondLess": 0, - "timeSlice": 201703310900, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "cache-service..-..[127.0.0.1:6379]", - "error": 0 - } - }, - { - "id": "201703310900..-..cache-service..-..[localhost:-1]", - "data": { - "summary": 4, - "oneSecondLess": 4, - "fiveSecondLess": 0, - "timeSlice": 201703310900, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "cache-service..-..[localhost:-1]", - "error": 0 - } - }, - { - "id": "201703310900..-..User..-..portal-service", - "data": { - "summary": 1, - "oneSecondLess": 1, - "fiveSecondLess": 0, - "timeSlice": 201703310900, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "User..-..portal-service", - "error": 0 - } - }, - { - "id": "201703310900..-..portal-service..-..[127.0.0.1:8002]", - "data": { - "summary": 2, - "oneSecondLess": 2, - "fiveSecondLess": 0, - "timeSlice": 201703310900, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "portal-service..-..[127.0.0.1:8002]", - "error": 0 - } - }, - { - "id": "201703310900..-..persistence-service..-..[127.0.0.1:3307]", - "data": { - "summary": 2, - "oneSecondLess": 2, - "fiveSecondLess": 0, - "timeSlice": 201703310900, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "persistence-service..-..[127.0.0.1:3307]", - "error": 0 - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_hour_analysis_request.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_hour_analysis_request.json deleted file mode 100644 index 0ae5d7f7b..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_hour_analysis_request.json +++ /dev/null @@ -1,202 +0,0 @@ -[ - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929259, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929259, - "endTime": 1490922929259, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929261, - "endTime": 1490922929261, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929261, - "endTime": 1490922929261, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929300, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929300, - "endTime": 1490922929300, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929302, - "endTime": 1490922929302, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929303, - "endTime": 1490922929303, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..portal-service..-..[127.0.0.1:8002]", - "startTime": 1490922929257, - "endTime": 1490922929262, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..portal-service..-..[10.128.35.80:20880]", - "startTime": 1490922929262, - "endTime": 1490922929293, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..portal-service..-..[127.0.0.1:8002]", - "startTime": 1490922929297, - "endTime": 1490922929303, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..User..-..portal-service", - "startTime": 1490922929254, - "endTime": 1490922929306, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..persistence-service..-..[127.0.0.1:3307]", - "startTime": 1490922929279, - "endTime": 1490922929280, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310900..-..persistence-service..-..[127.0.0.1:3307]", - "startTime": 1490922929284, - "endTime": 1490922929284, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_minute_analysis.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_minute_analysis.json deleted file mode 100644 index 9b2ee8945..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_minute_analysis.json +++ /dev/null @@ -1,80 +0,0 @@ -[ - { - "id": "201703310915..-..User..-..portal-service", - "data": { - "summary": 1, - "oneSecondLess": 1, - "fiveSecondLess": 0, - "timeSlice": 201703310915, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "User..-..portal-service", - "error": 0 - } - }, - { - "id": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "data": { - "summary": 10, - "oneSecondLess": 10, - "fiveSecondLess": 0, - "timeSlice": 201703310915, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "cache-service..-..[127.0.0.1:6379]", - "error": 0 - } - }, - { - "id": "201703310915..-..cache-service..-..[localhost:-1]", - "data": { - "summary": 4, - "oneSecondLess": 4, - "fiveSecondLess": 0, - "timeSlice": 201703310915, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "cache-service..-..[localhost:-1]", - "error": 0 - } - }, - { - "id": "201703310915..-..User..-..portal-service", - "data": { - "summary": 1, - "oneSecondLess": 1, - "fiveSecondLess": 0, - "timeSlice": 201703310915, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "User..-..portal-service", - "error": 0 - } - }, - { - "id": "201703310915..-..portal-service..-..[127.0.0.1:8002]", - "data": { - "summary": 2, - "oneSecondLess": 2, - "fiveSecondLess": 0, - "timeSlice": 201703310915, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "portal-service..-..[127.0.0.1:8002]", - "error": 0 - } - }, - { - "id": "201703310915..-..persistence-service..-..[127.0.0.1:3307]", - "data": { - "summary": 2, - "oneSecondLess": 2, - "fiveSecondLess": 0, - "timeSlice": 201703310915, - "fiveSecondGreater": 0, - "threeSecondLess": 0, - "aggId": "persistence-service..-..[127.0.0.1:3307]", - "error": 0 - } - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_minute_analysis_request.json b/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_minute_analysis_request.json deleted file mode 100644 index 17c0226eb..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/noderef/analysis/noderef_ressum_minute_analysis_request.json +++ /dev/null @@ -1,202 +0,0 @@ -[ - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929258, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929258, - "endTime": 1490922929259, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929259, - "endTime": 1490922929259, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929261, - "endTime": 1490922929261, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929261, - "endTime": 1490922929261, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929298, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929298, - "endTime": 1490922929300, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[127.0.0.1:6379]", - "startTime": 1490922929300, - "endTime": 1490922929300, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929302, - "endTime": 1490922929302, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..cache-service..-..[localhost:-1]", - "startTime": 1490922929303, - "endTime": 1490922929303, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..portal-service..-..[127.0.0.1:8002]", - "startTime": 1490922929257, - "endTime": 1490922929262, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..portal-service..-..[10.128.35.80:20880]", - "startTime": 1490922929262, - "endTime": 1490922929293, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..portal-service..-..[127.0.0.1:8002]", - "startTime": 1490922929297, - "endTime": 1490922929303, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..User..-..portal-service", - "startTime": 1490922929254, - "endTime": 1490922929306, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..persistence-service..-..[127.0.0.1:3307]", - "startTime": 1490922929279, - "endTime": 1490922929280, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - }, - { - "nodeRefId": "201703310915..-..persistence-service..-..[127.0.0.1:3307]", - "startTime": 1490922929284, - "endTime": 1490922929284, - "isError": false, - "minute": 201703310915, - "hour": 201703310900, - "day": 201703310000, - "second": 29 - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/segment/grpc/normal/portal-service.json b/apm-collector/apm-collector-worker/src/test/resources/json/segment/grpc/normal/portal-service.json deleted file mode 100644 index e97eb7797..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/segment/grpc/normal/portal-service.json +++ /dev/null @@ -1,199 +0,0 @@ -[ - { - "globalTraceIds": [ - "Trace.1490922929254.1797892356.6003.69.2" - ], - "segment": { - "traceSegmentId": "Segment.1490922929254.1797892356.6003.69.1", - "applicationId": 1, - "applicationInstanceId": 1, - "spans": [ - { - "spanId": 0, - "parentSpanId": -1, - "startTime": 1490922929254, - "endTime": 1490922929306, - "operationNameId": 0, - "operationName": "/portal/", - "peerId": 0, - "peer": "0:0:0:0:0:0:0:1:57837", - "spanType": 0, - "spanLayer": 2, - "componentId": 0, - "component": "Tomcat", - "isError": false, - "tags": [ - { - "key": "key_1", - "value": "value_1" - }, - { - "key": "key_2", - "value": "value_2" - } - ], - "logs": [ - { - "time": 1490922929254, - "data": [ - { - "key": "key_1", - "value": "value_1" - }, - { - "key": "key_2", - "value": "value_2" - } - ] - } - ], - "ts": { - "span.layer": "http", - "component": "Tomcat", - "peer.host": "0:0:0:0:0:0:0:1", - "span.kind": "server", - "url": "http://localhost:38080/portal/" - }, - "tb": {}, - "ti": { - "peer.port": 57837, - "status_code": 200 - }, - "lo": [] - } - ] - }, - "ts": "Segment.1490922929254.1797892356.6003.69.1", - "st": 1490922929254, - "et": 1490922929306, - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490922929257, - "et": 1490922929262, - "on": "org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "span.layer": "rpc", - "peer.host": "127.0.0.1", - "component": "Motan", - "span.kind": "client", - "url": "motan://127.0.0.1:8002/default_rpc/org.skywalking.apm.test.cache.CacheService/1.0/referer" - }, - "tb": {}, - "ti": { - "peer.port": 8002 - }, - "lo": [] - }, - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490922929262, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "requestId": "1563346001467539461" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 4, - "ps": 3, - "st": 1490922929262, - "et": 1490922929293, - "on": "/persistence/query", - "ts": { - "span.layer": "http", - "peer.host": "10.128.35.80", - "component": "HttpClient", - "span.kind": "client", - "url": "http://10.128.35.80:20880/persistence/query" - }, - "tb": {}, - "ti": { - "peer.port": 20880, - "status_code": 200 - }, - "lo": [] - }, - { - "si": 3, - "ps": 0, - "st": 1490922929262, - "et": 1490922929297, - "on": "org.skywalking.apm.test.persistence.PersistenceService.query(String)", - "ts": { - "span.layer": "rpc", - "component": "Dubbo", - "peer.host": "10.128.35.80", - "span.kind": "client", - "url": "rest://10.128.35.80:20880/org.skywalking.apm.test.persistence.PersistenceService.query(String)" - }, - "tb": {}, - "ti": { - "peer.port": 20880 - }, - "lo": [] - }, - { - "si": 6, - "ps": 5, - "st": 1490922929297, - "et": 1490922929303, - "on": "org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "span.layer": "rpc", - "peer.host": "127.0.0.1", - "component": "Motan", - "span.kind": "client", - "url": "motan://127.0.0.1:8002/default_rpc/org.skywalking.apm.test.cache.CacheService/1.0/referer" - }, - "tb": {}, - "ti": { - "peer.port": 8002 - }, - "lo": [] - }, - { - "si": 5, - "ps": 0, - "st": 0, - "et": 1490922929303, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "requestId": "1563346001510531078" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490922929254, - "et": 1490922929306, - "on": "/portal/", - "ts": { - "span.layer": "http", - "component": "Tomcat", - "peer.host": "0:0:0:0:0:0:0:1", - "span.kind": "server", - "url": "http://localhost:38080/portal/" - }, - "tb": {}, - "ti": { - "peer.port": 57837, - "status_code": 200 - }, - "lo": [] - } - ], - "ac": "portal-service", - "gt": [ - "Trace.1490922929254.1797892356.6003.69.2" - ] - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/exception/cache-service.json b/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/exception/cache-service.json deleted file mode 100644 index cc279ea05..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/exception/cache-service.json +++ /dev/null @@ -1,61 +0,0 @@ -[ - { - "ts": "Segment.1490923010328.927784221.5991.32.1", - "st": 1490923010328, - "et": 1490923010329, - "rs": [ - { - "ts": "Segment.1490923010324.1797892356.6003.67.1", - "si": 2, - "ac": "portal-service", - "ph": "127.0.0.1:8002" - } - ], - "ss": [ - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490923010329, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.findCacheWithException(java.lang.String)", - "ts": { - "requestId": "1563346086476644362" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490923010328, - "et": 1490923010329, - "on": "org.skywalking.apm.test.cache.CacheService.findCacheWithException(java.lang.String)", - "ts": { - "span.layer": "rpc", - "component": "Motan", - "span.kind": "server" - }, - "tb": { - "error": true - }, - "ti": {}, - "lo": [ - { - "tm": 1490923010329, - "fi": { - "stack": "com.weibo.api.motan.exception.MotanBizException: error_message: provider call process error, status: 503, error_code: 30001,r\u003d0\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:62)\n\tat com.weibo.api.motan.rpc.AbstractProvider.call(AbstractProvider.java:47)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.process(OpenTracingFilter.java:94)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.processProviderTrace(OpenTracingFilter.java:148)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.filter(OpenTracingFilter.java:58)\n\tat com.weibo.api.motan.protocol.support.ProtocolFilterDecorator$2.call(ProtocolFilterDecorator.java:150)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8(ProviderMessageRouter.java:96)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8$accessor$PEWyOMYz(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter$auxiliary$s7ixnKeK.call(Unknown Source)\n\tat org.skywalking.apm.api.plugin.interceptor.enhance.ClassInstanceMethodsInterceptor.intercept(ClassInstanceMethodsInterceptor.java:66)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderProtectedMessageRouter.call(ProviderProtectedMessageRouter.java:79)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.handle(ProviderMessageRouter.java:91)\n\tat com.weibo.api.motan.transport.support.DefaultRpcHeartbeatFactory$HeartMessageHandleWrapper.handle(DefaultRpcHeartbeatFactory.java:82)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler.processRequest(NettyChannelHandler.java:139)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler.access$000(NettyChannelHandler.java:47)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler$1.run(NettyChannelHandler.java:116)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat java.lang.Thread.run(Thread.java:745)\nCaused by: java.lang.NullPointerException\n\tat org.skywalking.apm.test.cache.jedis.JedisServiceManager.findWithException(JedisServiceManager.java:49)\n\tat org.skywalking.apm.test.cache.CacheServiceImpl.findCacheWithException(CacheServiceImpl.java:46)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:57)\n\t... 19 more\ncom.weibo.api.motan.exception.MotanBizException: error_message: provider call process error, status: 503, error_code: 30001,r\u003d0\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:62)\n\tat com.weibo.api.motan.rpc.AbstractProvider.call(AbstractProvider.java:47)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.process(OpenTracingFilter.java:94)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.processProviderTrace(OpenTracingFilter.java:148)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.filter(OpenTracingFilter.java:58)\n\tat com.weibo.api.motan.protocol.support.ProtocolFilterDecorator$2.call(ProtocolFilterDecorator.java:150)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8(ProviderMessageRouter.java:96)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8$accessor$PEWyOMYz(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter$auxiliary$s7ixnKeK.call(Unknown Source)\n\tat org.skywalking.apm.api.plugin.interceptor.enhance.ClassInstanceMethodsInterceptor.intercept(ClassInstanceMethodsInterceptor.java:66)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.", - "error.kind": "com.weibo.api.motan.exception.MotanBizException", - "event": "error", - "message": "error_message: provider call process error, status: 503, error_code: 30001,r\u003d0" - } - } - ] - } - ], - "ac": "cache-service", - "gt": [ - "Trace.1490923010324.1797892356.6003.67.2" - ] - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/exception/portal-service.json b/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/exception/portal-service.json deleted file mode 100644 index 42fb4901a..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/exception/portal-service.json +++ /dev/null @@ -1,77 +0,0 @@ -[ - { - "ts": "Segment.1490923010324.1797892356.6003.67.1", - "st": 1490923010324, - "et": 1490923010336, - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490923010327, - "et": 1490923010332, - "on": "org.skywalking.apm.test.cache.CacheService.findCacheWithException(java.lang.String)", - "ts": { - "span.layer": "rpc", - "peer.host": "127.0.0.1", - "component": "Motan", - "span.kind": "client", - "url": "motan://127.0.0.1:8002/default_rpc/org.skywalking.apm.test.cache.CacheService/1.0/referer" - }, - "tb": {}, - "ti": { - "peer.port": 8002 - }, - "lo": [ - { - "tm": 1490923010332, - "fi": { - "stack": "com.weibo.api.motan.exception.MotanBizException: error_message: provider call process error, status: 503, error_code: 30001,r\u003dnull\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:62)\n\tat com.weibo.api.motan.rpc.AbstractProvider.call(AbstractProvider.java:47)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.process(OpenTracingFilter.java:94)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.processProviderTrace(OpenTracingFilter.java:148)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.filter(OpenTracingFilter.java:58)\n\tat com.weibo.api.motan.protocol.support.ProtocolFilterDecorator$2.call(ProtocolFilterDecorator.java:150)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8(ProviderMessageRouter.java:96)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8$accessor$PEWyOMYz(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter$auxiliary$s7ixnKeK.call(Unknown Source)\n\tat org.skywalking.apm.api.plugin.interceptor.enhance.ClassInstanceMethodsInterceptor.intercept(ClassInstanceMethodsInterceptor.java:66)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderProtectedMessageRouter.call(ProviderProtectedMessageRouter.java:79)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.handle(ProviderMessageRouter.java:91)\n\tat com.weibo.api.motan.transport.support.DefaultRpcHeartbeatFactory$HeartMessageHandleWrapper.handle(DefaultRpcHeartbeatFactory.java:82)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler.processRequest(NettyChannelHandler.java:139)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler.access$000(NettyChannelHandler.java:47)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler$1.run(NettyChannelHandler.java:116)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat java.lang.Thread.run(Thread.java:745)\nCaused by: java.lang.NullPointerException\n\tat org.skywalking.apm.test.cache.jedis.JedisServiceManager.findWithException(JedisServiceManager.java:49)\n\tat org.skywalking.apm.test.cache.CacheServiceImpl.findCacheWithException(CacheServiceImpl.java:46)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:57)\n\t... 19 more\ncom.weibo.api.motan.exception.MotanBizException: error_message: provider call process error, status: 503, error_code: 30001,r\u003dnull\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:62)\n\tat com.weibo.api.motan.rpc.AbstractProvider.call(AbstractProvider.java:47)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.process(OpenTracingFilter.java:94)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.processProviderTrace(OpenTracingFilter.java:148)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.filter(OpenTracingFilter.java:58)\n\tat com.weibo.api.motan.protocol.support.ProtocolFilterDecorator$2.call(ProtocolFilterDecorator.java:150)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8(ProviderMessageRouter.java:96)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8$accessor$PEWyOMYz(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter$auxiliary$s7ixnKeK.call(Unknown Source)\n\tat org.skywalking.apm.api.plugin.interceptor.enhance.ClassInstanceMethodsInterceptor.intercept(ClassInstanceMethodsInterceptor.java:66)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call(ProviderMessageRouter.java)\n\tat com.weibo.api.", - "error.kind": "com.weibo.api.motan.exception.MotanBizException", - "event": "error", - "message": "error_message: provider call process error, status: 503, error_code: 30001,r\u003dnull" - } - } - ] - }, - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490923010332, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.findCacheWithException(java.lang.String)", - "ts": { - "requestId": "1563346086476644362" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490923010324, - "et": 1490923010336, - "on": "/portal/cache/exception/test", - "ts": { - "span.layer": "http", - "component": "Tomcat", - "peer.host": "0:0:0:0:0:0:0:1", - "span.kind": "server", - "url": "http://localhost:38080/portal/cache/exception/test" - }, - "tb": { - "error": true - }, - "ti": { - "peer.port": 57888, - "status_code": 500 - }, - "lo": [] - } - ], - "ac": "portal-service", - "gt": [ - "Trace.1490923010324.1797892356.6003.67.2" - ] - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/cache-service.json b/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/cache-service.json deleted file mode 100644 index 721fc9807..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/cache-service.json +++ /dev/null @@ -1,382 +0,0 @@ -[ - { - "ts": "Segment.1490922929258.927784221.5991.27.1", - "st": 1490922929258, - "et": 1490922929261, - "rs": [ - { - "ts": "Segment.1490922929254.1797892356.6003.69.1", - "si": 2, - "ac": "portal-service", - "ph": "127.0.0.1:8002" - } - ], - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490922929258, - "et": 1490922929258, - "on": "Jedis/getClient", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 3, - "ps": 1, - "st": 1490922929258, - "et": 1490922929258, - "on": "Jedis/getClient", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 4, - "ps": 1, - "st": 1490922929258, - "et": 1490922929258, - "on": "Jedis/isConnected", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 5, - "ps": 1, - "st": 1490922929258, - "et": 1490922929259, - "on": "Jedis/ping", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 6, - "ps": 1, - "st": 1490922929259, - "et": 1490922929259, - "on": "Jedis/get", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client", - "db.statement": "get test" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 7, - "ps": 1, - "st": 1490922929261, - "et": 1490922929261, - "on": "H2/JDBI/PreparedStatement/executeQuery", - "ts": { - "db.instance": "dataSource", - "span.layer": "db", - "db.type": "sql", - "component": "H2", - "span.kind": "client", - "db.statement": "SELECT id,CACHE_VALUE, CACHE_KEY FROM CACHE_TABLE WHERE CACHE_KEY \u003d ?", - "peer.host": "localhost" - }, - "tb": {}, - "ti": { - "peer.port": -1 - }, - "lo": [] - }, - { - "si": 8, - "ps": 1, - "st": 1490922929261, - "et": 1490922929261, - "on": "H2/JDBI/Connection/close", - "ts": { - "db.instance": "dataSource", - "span.layer": "db", - "db.type": "sql", - "component": "H2", - "span.kind": "client", - "db.statement": "", - "peer.host": "localhost" - }, - "tb": {}, - "ti": { - "peer.port": -1 - }, - "lo": [] - }, - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490922929261, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "requestId": "1563346001467539461" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490922929258, - "et": 1490922929261, - "on": "org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "span.layer": "rpc", - "component": "Motan", - "span.kind": "server" - }, - "tb": {}, - "ti": {}, - "lo": [] - } - ], - "ac": "cache-service", - "gt": [ - "Trace.1490922929254.1797892356.6003.69.2" - ] - }, - { - "ts": "Segment.1490922929298.927784221.5991.28.1", - "st": 1490922929298, - "et": 1490922929303, - "rs": [ - { - "ts": "Segment.1490922929254.1797892356.6003.69.1", - "si": 6, - "ac": "portal-service", - "ph": "127.0.0.1:8002" - } - ], - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490922929298, - "et": 1490922929298, - "on": "Jedis/getClient", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 3, - "ps": 1, - "st": 1490922929298, - "et": 1490922929298, - "on": "Jedis/getClient", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 4, - "ps": 1, - "st": 1490922929298, - "et": 1490922929298, - "on": "Jedis/isConnected", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 5, - "ps": 1, - "st": 1490922929298, - "et": 1490922929300, - "on": "Jedis/ping", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 6, - "ps": 1, - "st": 1490922929300, - "et": 1490922929300, - "on": "Jedis/set", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client", - "db.statement": "set test_NEW" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - }, - { - "si": 7, - "ps": 1, - "st": 1490922929302, - "et": 1490922929302, - "on": "H2/JDBI/PreparedStatement/executeUpdate", - "ts": { - "db.instance": "dataSource", - "span.layer": "db", - "db.type": "sql", - "component": "H2", - "span.kind": "client", - "db.statement": "INSERT INTO CACHE_TABLE(CACHE_VALUE, CACHE_KEY) VALUES(?, ?)", - "peer.host": "localhost" - }, - "tb": {}, - "ti": { - "peer.port": -1 - }, - "lo": [] - }, - { - "si": 8, - "ps": 1, - "st": 1490922929303, - "et": 1490922929303, - "on": "H2/JDBI/Connection/close", - "ts": { - "db.instance": "dataSource", - "span.layer": "db", - "db.type": "sql", - "component": "H2", - "span.kind": "client", - "db.statement": "", - "peer.host": "localhost" - }, - "tb": {}, - "ti": { - "peer.port": -1 - }, - "lo": [] - }, - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490922929303, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "requestId": "1563346001510531078" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490922929298, - "et": 1490922929303, - "on": "org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "span.layer": "rpc", - "component": "Motan", - "span.kind": "server" - }, - "tb": {}, - "ti": {}, - "lo": [ - { - "tm": 1490923010329, - "fi": { - "stack": "com.weibo.api.motan.exception.MotanBizException: error_message: provider call process error, status: 503, error_code: 30001,r\u003d0\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:62)\n\tat com.weibo.api.motan.rpc.AbstractProvider.call(AbstractProvider.java:47)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.process(OpenTracingFilter.java:94)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.processProviderTrace(OpenTracingFilter.java:148)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.filter(OpenTracingFilter.java:58)\n\tat com.weibo.api.motan.protocol.support.ProtocolFilterDecorator$2.call(ProtocolFilterDecorator.java:150)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8(ProviderMessageRouter.java:96)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8$accessor$PEWyOMYz(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter$auxiliary$s7ixnKeK.call(Unknown Source)\n\tat org.skywalking.apm.api.plugin.interceptor.enhance.ClassInstanceMethodsInterceptor.intercept(ClassInstanceMethodsInterceptor.java:66)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderProtectedMessageRouter.call(ProviderProtectedMessageRouter.java:79)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.handle(ProviderMessageRouter.java:91)\n\tat com.weibo.api.motan.transport.support.DefaultRpcHeartbeatFactory$HeartMessageHandleWrapper.handle(DefaultRpcHeartbeatFactory.java:82)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler.processRequest(NettyChannelHandler.java:139)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler.access$000(NettyChannelHandler.java:47)\n\tat com.weibo.api.motan.transport.netty.NettyChannelHandler$1.run(NettyChannelHandler.java:116)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat java.lang.Thread.run(Thread.java:745)\nCaused by: java.lang.NullPointerException\n\tat org.skywalking.apm.test.cache.jedis.JedisServiceManager.findWithException(JedisServiceManager.java:49)\n\tat org.skywalking.apm.test.cache.CacheServiceImpl.findCacheWithException(CacheServiceImpl.java:46)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:57)\n\t... 19 more\ncom.weibo.api.motan.exception.MotanBizException: error_message: provider call process error, status: 503, error_code: 30001,r\u003d0\n\tat com.weibo.api.motan.rpc.DefaultProvider.invoke(DefaultProvider.java:62)\n\tat com.weibo.api.motan.rpc.AbstractProvider.call(AbstractProvider.java:47)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.process(OpenTracingFilter.java:94)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.processProviderTrace(OpenTracingFilter.java:148)\n\tat com.weibo.api.motan.filter.opentracing.OpenTracingFilter.filter(OpenTracingFilter.java:58)\n\tat com.weibo.api.motan.protocol.support.ProtocolFilterDecorator$2.call(ProtocolFilterDecorator.java:150)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8(ProviderMessageRouter.java:96)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call$original$doBagGo8$accessor$PEWyOMYz(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter$auxiliary$s7ixnKeK.call(Unknown Source)\n\tat org.skywalking.apm.api.plugin.interceptor.enhance.ClassInstanceMethodsInterceptor.intercept(ClassInstanceMethodsInterceptor.java:66)\n\tat com.weibo.api.motan.transport.ProviderMessageRouter.call(ProviderMessageRouter.java)\n\tat com.weibo.api.motan.", - "error.kind": "com.weibo.api.motan.exception.MotanBizException", - "event": "error", - "message": "error_message: provider call process error, status: 503, error_code: 30001,r\u003d0" - } - } - ] - } - ], - "ac": "cache-service", - "gt": [ - "Trace.1490922929254.1797892356.6003.69.2" - ] - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/persistence-service.json b/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/persistence-service.json deleted file mode 100644 index b67323f3a..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/persistence-service.json +++ /dev/null @@ -1,102 +0,0 @@ -[ - { - "ts": "Segment.1490922929274.1382198130.5997.47.1", - "st": 1490922929274, - "et": 1490922929288, - "rs": [ - { - "ts": "Segment.1490922929254.1797892356.6003.69.1", - "si": 4, - "ac": "portal-service", - "ph": "10.128.35.80:20880" - } - ], - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490922929279, - "et": 1490922929280, - "on": "Mysql/JDBI/PreparedStatement/executeQuery", - "ts": { - "db.instance": "skywalking-test", - "span.layer": "db", - "db.type": "sql", - "component": "Mysql", - "span.kind": "client", - "db.statement": "SELECT * FROM information_schema.tables WHERE table_schema \u003d ? AND table_name \u003d ? LIMIT 1;", - "peer.host": "127.0.0.1" - }, - "tb": {}, - "ti": { - "peer.port": 3307 - }, - "lo": [] - }, - { - "si": 3, - "ps": 1, - "st": 1490922929284, - "et": 1490922929284, - "on": "Mysql/JDBI/PreparedStatement/executeQuery", - "ts": { - "db.instance": "skywalking-test", - "span.layer": "db", - "db.type": "sql", - "component": "Mysql", - "span.kind": "client", - "db.statement": "SELECT id, CACHE_KEY, CACHE_VALUE FROM CACHE_TABLE WHERE CACHE_KEY\u003d ?", - "peer.host": "127.0.0.1" - }, - "tb": {}, - "ti": { - "peer.port": 3307 - }, - "lo": [] - }, - { - "si": 1, - "ps": 0, - "st": 1490922929276, - "et": 1490922929287, - "on": "org.skywalking.apm.test.persistence.PersistenceService.query(String)", - "ts": { - "span.layer": "rpc", - "component": "Dubbo", - "peer.host": "10.128.35.80", - "span.kind": "server", - "url": "rest://10.128.35.80:20880/org.skywalking.apm.test.persistence.PersistenceService.query(String)" - }, - "tb": {}, - "ti": { - "peer.port": 20880 - }, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490922929274, - "et": 1490922929288, - "on": "/persistence/query", - "ts": { - "span.layer": "http", - "component": "Tomcat", - "peer.host": "10.128.35.80", - "span.kind": "server", - "url": "http://10.128.35.80:20880/persistence/query" - }, - "tb": {}, - "ti": { - "peer.port": 57818, - "status_code": 200 - }, - "lo": [] - } - ], - "ac": "persistence-service", - "gt": [ - "Trace.1490922929254.1797892356.6003.69.2" - ] - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/portal-service.json b/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/portal-service.json deleted file mode 100644 index 57fdc1b52..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/normal/portal-service.json +++ /dev/null @@ -1,136 +0,0 @@ -[ - { - "ts": "Segment.1490922929254.1797892356.6003.69.1", - "st": 1490922929254, - "et": 1490922929306, - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490922929257, - "et": 1490922929262, - "on": "org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "span.layer": "rpc", - "peer.host": "127.0.0.1", - "component": "Motan", - "span.kind": "client", - "url": "motan://127.0.0.1:8002/default_rpc/org.skywalking.apm.test.cache.CacheService/1.0/referer" - }, - "tb": {}, - "ti": { - "peer.port": 8002 - }, - "lo": [] - }, - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490922929262, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "requestId": "1563346001467539461" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 4, - "ps": 3, - "st": 1490922929262, - "et": 1490922929293, - "on": "/persistence/query", - "ts": { - "span.layer": "http", - "peer.host": "10.128.35.80", - "component": "HttpClient", - "span.kind": "client", - "url": "http://10.128.35.80:20880/persistence/query" - }, - "tb": {}, - "ti": { - "peer.port": 20880, - "status_code": 200 - }, - "lo": [] - }, - { - "si": 3, - "ps": 0, - "st": 1490922929262, - "et": 1490922929297, - "on": "org.skywalking.apm.test.persistence.PersistenceService.query(String)", - "ts": { - "span.layer": "rpc", - "component": "Dubbo", - "peer.host": "10.128.35.80", - "span.kind": "client", - "url": "rest://10.128.35.80:20880/org.skywalking.apm.test.persistence.PersistenceService.query(String)" - }, - "tb": {}, - "ti": { - "peer.port": 20880 - }, - "lo": [] - }, - { - "si": 6, - "ps": 5, - "st": 1490922929297, - "et": 1490922929303, - "on": "org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "span.layer": "rpc", - "peer.host": "127.0.0.1", - "component": "Motan", - "span.kind": "client", - "url": "motan://127.0.0.1:8002/default_rpc/org.skywalking.apm.test.cache.CacheService/1.0/referer" - }, - "tb": {}, - "ti": { - "peer.port": 8002 - }, - "lo": [] - }, - { - "si": 5, - "ps": 0, - "st": 0, - "et": 1490922929303, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "requestId": "1563346001510531078" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490922929254, - "et": 1490922929306, - "on": "/portal/", - "ts": { - "span.layer": "http", - "component": "Tomcat", - "peer.host": "0:0:0:0:0:0:0:1", - "span.kind": "server", - "url": "http://localhost:38080/portal/" - }, - "tb": {}, - "ti": { - "peer.port": 57837, - "status_code": 200 - }, - "lo": [] - } - ], - "ac": "portal-service", - "gt": [ - "Trace.1490922929254.1797892356.6003.69.2" - ] - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/special/special.json b/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/special/special.json deleted file mode 100644 index dc7db0516..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/segment/post/special/special.json +++ /dev/null @@ -1,32 +0,0 @@ -[ - { - "ts": "Segment.1491277162066.18986177.70531.27.1", - "st": 1491277162066, - "et": 1491277165743, - "ss": [ - { - "si": 0, - "ps": -1, - "st": 1491277162141, - "et": 1491277162144, - "on": "Jedis/getClient", - "ts": { - "span.layer": "db", - "component": "Redis", - "db.type": "Redis", - "peer.host": "127.0.0.1", - "span.kind": "client" - }, - "tb": {}, - "ti": { - "peer.port": 6379 - }, - "lo": [] - } - ], - "ac": "cache-service", - "gt": [ - "Trace.1491277147443.-1562443425.70539.65.2" - ] - } -] \ No newline at end of file diff --git a/apm-collector/apm-collector-worker/src/test/resources/json/span/persistence/segment.json b/apm-collector/apm-collector-worker/src/test/resources/json/span/persistence/segment.json deleted file mode 100644 index 9d3b84959..000000000 --- a/apm-collector/apm-collector-worker/src/test/resources/json/span/persistence/segment.json +++ /dev/null @@ -1,134 +0,0 @@ -{ - "ts": "Segment.1490922929254.1797892356.6003.69.1", - "st": 1490922929254, - "et": 1490922929306, - "ss": [ - { - "si": 2, - "ps": 1, - "st": 1490922929257, - "et": 1490922929262, - "on": "org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "span.layer": "rpc", - "peer.host": "127.0.0.1", - "component": "Motan", - "span.kind": "client", - "url": "motan://127.0.0.1:8002/default_rpc/org.skywalking.apm.test.cache.CacheService/1.0/referer" - }, - "tb": {}, - "ti": { - "peer.port": 8002 - }, - "lo": [] - }, - { - "si": 1, - "ps": 0, - "st": 0, - "et": 1490922929262, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.findCache(java.lang.String)", - "ts": { - "requestId": "1563346001467539461" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 4, - "ps": 3, - "st": 1490922929262, - "et": 1490922929293, - "on": "/persistence/query", - "ts": { - "span.layer": "http", - "peer.host": "10.128.35.80", - "component": "HttpClient", - "span.kind": "client", - "url": "http://10.128.35.80:20880/persistence/query" - }, - "tb": {}, - "ti": { - "peer.port": 20880, - "status_code": 200 - }, - "lo": [] - }, - { - "si": 3, - "ps": 0, - "st": 1490922929262, - "et": 1490922929297, - "on": "org.skywalking.apm.test.persistence.PersistenceService.query(String)", - "ts": { - "span.layer": "rpc", - "component": "Dubbo", - "peer.host": "10.128.35.80", - "span.kind": "client", - "url": "rest://10.128.35.80:20880/org.skywalking.apm.test.persistence.PersistenceService.query(String)" - }, - "tb": {}, - "ti": { - "peer.port": 20880 - }, - "lo": [] - }, - { - "si": 6, - "ps": 5, - "st": 1490922929297, - "et": 1490922929303, - "on": "org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "span.layer": "rpc", - "peer.host": "127.0.0.1", - "component": "Motan", - "span.kind": "client", - "url": "motan://127.0.0.1:8002/default_rpc/org.skywalking.apm.test.cache.CacheService/1.0/referer" - }, - "tb": {}, - "ti": { - "peer.port": 8002 - }, - "lo": [] - }, - { - "si": 5, - "ps": 0, - "st": 0, - "et": 1490922929303, - "on": "Motan_default_rpc_org.skywalking.apm.test.cache.CacheService.updateCache(java.lang.String,java.lang.String)", - "ts": { - "requestId": "1563346001510531078" - }, - "tb": {}, - "ti": {}, - "lo": [] - }, - { - "si": 0, - "ps": -1, - "st": 1490922929254, - "et": 1490922929306, - "on": "/portal/", - "ts": { - "span.layer": "http", - "component": "Tomcat", - "peer.host": "0:0:0:0:0:0:0:1", - "span.kind": "server", - "url": "http://localhost:38080/portal/" - }, - "tb": {}, - "ti": { - "peer.port": 57837, - "status_code": 200 - }, - "lo": [] - } - ], - "ac": "portal-service", - "gt": [ - "Trace.1490922929254.1797892356.6003.69.2" - ] -} \ No newline at end of file diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml index 4fbdf5503..7f359e823 100644 --- a/apm-collector/pom.xml +++ b/apm-collector/pom.xml @@ -4,14 +4,17 @@ 4.0.0 apm-collector-cluster - apm-collector-worker apm-collector-core apm-collector-queue - apm-collector-worker-new apm-collector-storage - apm-collector-cluster-new + apm-collector-cluster apm-collector-client apm-collector-server + apm-collector-discovery + apm-collector-agentstream + apm-collector-ui + apm-collector-boot + apm-collector-remote apm