diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java index 4fe74a3bf..f13aea73c 100644 --- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java +++ b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java @@ -29,13 +29,10 @@ import org.skywalking.apm.collector.agent.grpc.handler.naming.AgentGRPCNamingHan import org.skywalking.apm.collector.agent.grpc.handler.naming.AgentGRPCNamingListener; import org.skywalking.apm.collector.agent.stream.AgentStreamSingleton; import org.skywalking.apm.collector.cache.CacheModule; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.cluster.ClusterModule; import org.skywalking.apm.collector.cluster.service.ModuleListenerService; import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; -import org.skywalking.apm.collector.core.graph.Graph; import org.skywalking.apm.collector.core.module.Module; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.grpc.manager.GRPCManagerModule; @@ -45,8 +42,6 @@ import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService; import org.skywalking.apm.collector.remote.RemoteModule; import org.skywalking.apm.collector.server.Server; import org.skywalking.apm.collector.storage.StorageModule; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.storage.table.register.Application; import org.skywalking.apm.collector.stream.worker.base.WorkerCreateListener; /** @@ -74,31 +69,21 @@ public class AgentModuleGRPCProvider extends ModuleProvider { String host = config.getProperty(HOST); Integer port = (Integer)config.get(PORT); - try { - ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); - moduleRegisterService.register(AgentModule.NAME, this.name(), new AgentModuleGRPCRegistration(host, port)); + ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); + moduleRegisterService.register(AgentModule.NAME, this.name(), new AgentModuleGRPCRegistration(host, port)); - AgentGRPCNamingListener namingListener = new AgentGRPCNamingListener(); - ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); - moduleListenerService.addListener(namingListener); + AgentGRPCNamingListener namingListener = new AgentGRPCNamingListener(); + ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); + moduleListenerService.addListener(namingListener); - NamingHandlerRegisterService namingHandlerRegisterService = getManager().find(NamingModule.NAME).getService(NamingHandlerRegisterService.class); - namingHandlerRegisterService.register(new AgentGRPCNamingHandler(namingListener)); + NamingHandlerRegisterService namingHandlerRegisterService = getManager().find(NamingModule.NAME).getService(NamingHandlerRegisterService.class); + namingHandlerRegisterService.register(new AgentGRPCNamingHandler(namingListener)); - CacheServiceManager cacheServiceManager = new CacheServiceManager(); - cacheServiceManager.init(getManager()); + GRPCManagerService managerService = getManager().find(GRPCManagerModule.NAME).getService(GRPCManagerService.class); + Server gRPCServer = managerService.createIfAbsent(host, port); - DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); - - GRPCManagerService managerService = getManager().find(GRPCManagerModule.NAME).getService(GRPCManagerService.class); - Server gRPCServer = managerService.createIfAbsent(host, port); - - AgentStreamSingleton agentStreamSingleton = AgentStreamSingleton.getInstance(getManager(), cacheServiceManager, new WorkerCreateListener()); - - addHandlers(daoService, gRPCServer, cacheServiceManager, agentStreamSingleton); - } catch (ModuleNotFoundException e) { - throw new ServiceNotProvidedException(e.getMessage()); - } + AgentStreamSingleton.getInstance(getManager(), new WorkerCreateListener()); + addHandlers(gRPCServer); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { @@ -109,12 +94,10 @@ public class AgentModuleGRPCProvider extends ModuleProvider { return new String[] {ClusterModule.NAME, NamingModule.NAME, StorageModule.NAME, GRPCManagerModule.NAME, CacheModule.NAME, RemoteModule.NAME}; } - private void addHandlers(DAOService daoService, Server gRPCServer, CacheServiceManager cacheServiceManager, - AgentStreamSingleton agentStreamSingleton) { - Graph applicationRegisterGraph = agentStreamSingleton.getApplicationRegisterGraph(); - gRPCServer.addHandler(new ApplicationRegisterServiceHandler(cacheServiceManager, applicationRegisterGraph)); - gRPCServer.addHandler(new InstanceDiscoveryServiceHandler(daoService, cacheServiceManager)); - gRPCServer.addHandler(new ServiceNameDiscoveryServiceHandler(cacheServiceManager)); + private void addHandlers(Server gRPCServer) { + gRPCServer.addHandler(new ApplicationRegisterServiceHandler(getManager())); + gRPCServer.addHandler(new InstanceDiscoveryServiceHandler(getManager())); + gRPCServer.addHandler(new ServiceNameDiscoveryServiceHandler(getManager())); gRPCServer.addHandler(new JVMMetricsServiceHandler()); gRPCServer.addHandler(new TraceSegmentServiceHandler()); } diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java index 8e92fac58..d6f6649a8 100644 --- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java +++ b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java @@ -21,8 +21,9 @@ package org.skywalking.apm.collector.agent.grpc.handler; import com.google.protobuf.ProtocolStringList; import io.grpc.stub.StreamObserver; import org.skywalking.apm.collector.agent.stream.worker.register.ApplicationIDService; -import org.skywalking.apm.collector.cache.CacheServiceManager; -import org.skywalking.apm.collector.core.graph.Graph; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.core.module.ModuleNotFoundException; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.server.grpc.GRPCHandler; import org.skywalking.apm.network.proto.Application; import org.skywalking.apm.network.proto.ApplicationMapping; @@ -40,9 +41,8 @@ public class ApplicationRegisterServiceHandler extends ApplicationRegisterServic private final ApplicationIDService applicationIDService; - public ApplicationRegisterServiceHandler(CacheServiceManager cacheServiceManager, - Graph applicationRegisterGraph) { - applicationIDService = new ApplicationIDService(cacheServiceManager, applicationRegisterGraph); + public ApplicationRegisterServiceHandler(ModuleManager moduleManager) { + applicationIDService = new ApplicationIDService(moduleManager); } @Override public void register(Application request, StreamObserver responseObserver) { @@ -52,7 +52,12 @@ public class ApplicationRegisterServiceHandler extends ApplicationRegisterServic ApplicationMapping.Builder builder = ApplicationMapping.newBuilder(); for (int i = 0; i < applicationCodes.size(); i++) { String applicationCode = applicationCodes.get(i); - int applicationId = applicationIDService.getOrCreate(applicationCode); + int applicationId = 0; + try { + applicationId = applicationIDService.getOrCreate(applicationCode); + } catch (ModuleNotFoundException | ServiceNotProvidedException e) { + logger.error(e.getMessage(), e); + } if (applicationId != 0) { KeyWithIntegerValue value = KeyWithIntegerValue.newBuilder().setKey(applicationCode).setValue(applicationId).build(); diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java index 391cc742c..449afddd3 100644 --- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java +++ b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java @@ -22,10 +22,11 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import io.grpc.stub.StreamObserver; import org.skywalking.apm.collector.agent.stream.worker.register.InstanceIDService; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.core.module.ModuleNotFoundException; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.server.grpc.GRPCHandler; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.network.proto.ApplicationInstance; import org.skywalking.apm.network.proto.ApplicationInstanceMapping; import org.skywalking.apm.network.proto.ApplicationInstanceRecover; @@ -44,14 +45,19 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp private final InstanceIDService instanceIDService; - public InstanceDiscoveryServiceHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.instanceIDService = new InstanceIDService(daoService, cacheServiceManager); + public InstanceDiscoveryServiceHandler(ModuleManager moduleManager) { + this.instanceIDService = new InstanceIDService(moduleManager); } @Override public void register(ApplicationInstance request, StreamObserver responseObserver) { long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); - int instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); + int instanceId = 0; + try { + instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); + } catch (ModuleNotFoundException | ServiceNotProvidedException e) { + logger.error(e.getMessage(), e); + } ApplicationInstanceMapping.Builder builder = ApplicationInstanceMapping.newBuilder(); builder.setApplicationId(request.getApplicationId()); builder.setApplicationInstanceId(instanceId); @@ -62,7 +68,11 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp @Override public void registerRecover(ApplicationInstanceRecover request, StreamObserver responseObserver) { long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); - instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), timeBucket, buildOsInfo(request.getOsinfo())); + try { + instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), timeBucket, buildOsInfo(request.getOsinfo())); + } catch (ModuleNotFoundException | ServiceNotProvidedException e) { + logger.error(e.getMessage(), e); + } responseObserver.onNext(Downstream.newBuilder().build()); responseObserver.onCompleted(); } @@ -74,9 +84,9 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp osInfoJson.addProperty("processId", osinfo.getProcessNo()); JsonArray ipv4Array = new JsonArray(); - osinfo.getIpv4SList().forEach(ipv4 -> { + for (String ipv4 : osinfo.getIpv4SList()) { ipv4Array.add(ipv4); - }); + } osInfoJson.add("ipv4s", ipv4Array); return osInfoJson.toString(); } diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java index 0b31a9b9c..4b84db6c3 100644 --- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java +++ b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java @@ -21,7 +21,7 @@ package org.skywalking.apm.collector.agent.grpc.handler; import io.grpc.stub.StreamObserver; import java.util.List; import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameService; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.grpc.GRPCHandler; import org.skywalking.apm.network.proto.ServiceNameCollection; import org.skywalking.apm.network.proto.ServiceNameDiscoveryServiceGrpc; @@ -40,8 +40,8 @@ public class ServiceNameDiscoveryServiceHandler extends ServiceNameDiscoveryServ private final ServiceNameService serviceNameService; - public ServiceNameDiscoveryServiceHandler(CacheServiceManager cacheServiceManager) { - this.serviceNameService = new ServiceNameService(cacheServiceManager); + public ServiceNameDiscoveryServiceHandler(ModuleManager moduleManager) { + this.serviceNameService = new ServiceNameService(moduleManager); } @Override public void discovery(ServiceNameCollection request, diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java b/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java index abede52fc..6a57ab310 100644 --- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java +++ b/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java @@ -28,7 +28,6 @@ import org.skywalking.apm.collector.cluster.ClusterModule; import org.skywalking.apm.collector.cluster.service.ModuleListenerService; import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; import org.skywalking.apm.collector.core.module.Module; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.jetty.manager.JettyManagerModule; @@ -66,25 +65,21 @@ public class AgentModuleJettyProvider extends ModuleProvider { Integer port = (Integer)config.get(PORT); String contextPath = config.getProperty(CONTEXT_PATH); - try { - ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); - moduleRegisterService.register(AgentModule.NAME, this.name(), new AgentModuleJettyRegistration(host, port, contextPath)); + ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); + moduleRegisterService.register(AgentModule.NAME, this.name(), new AgentModuleJettyRegistration(host, port, contextPath)); - AgentJettyNamingListener namingListener = new AgentJettyNamingListener(); - ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); - moduleListenerService.addListener(namingListener); + AgentJettyNamingListener namingListener = new AgentJettyNamingListener(); + ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); + moduleListenerService.addListener(namingListener); - NamingHandlerRegisterService namingHandlerRegisterService = getManager().find(NamingModule.NAME).getService(NamingHandlerRegisterService.class); - namingHandlerRegisterService.register(new AgentJettyNamingHandler(namingListener)); + NamingHandlerRegisterService namingHandlerRegisterService = getManager().find(NamingModule.NAME).getService(NamingHandlerRegisterService.class); + namingHandlerRegisterService.register(new AgentJettyNamingHandler(namingListener)); - DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); + DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); - JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class); - Server jettyServer = managerService.createIfAbsent(host, port, contextPath); - addHandlers(daoService, jettyServer); - } catch (ModuleNotFoundException e) { - throw new ServiceNotProvidedException(e.getMessage()); - } + JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class); + Server jettyServer = managerService.createIfAbsent(host, port, contextPath); + addHandlers(daoService, jettyServer); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java index a7f0deee4..010a8653f 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java @@ -19,13 +19,8 @@ package org.skywalking.apm.collector.agent.stream; import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph; -import org.skywalking.apm.collector.cache.CacheServiceManager; -import org.skywalking.apm.collector.core.graph.Graph; import org.skywalking.apm.collector.core.module.ModuleManager; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; -import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.core.util.ObjectUtils; -import org.skywalking.apm.collector.storage.table.register.Application; import org.skywalking.apm.collector.stream.worker.base.WorkerCreateListener; /** @@ -36,15 +31,10 @@ public class AgentStreamSingleton { private static AgentStreamSingleton INSTANCE; private final ModuleManager moduleManager; - private final CacheServiceManager cacheServiceManager; private final WorkerCreateListener workerCreateListener; - private Graph applicationRegisterGraph; - - public AgentStreamSingleton(ModuleManager moduleManager, CacheServiceManager cacheServiceManager, - WorkerCreateListener workerCreateListener) throws ServiceNotProvidedException, ModuleNotFoundException { + public AgentStreamSingleton(ModuleManager moduleManager, WorkerCreateListener workerCreateListener) { this.moduleManager = moduleManager; - this.cacheServiceManager = cacheServiceManager; this.workerCreateListener = workerCreateListener; createJVMGraph(); createRegisterGraph(); @@ -52,10 +42,9 @@ public class AgentStreamSingleton { } public static synchronized AgentStreamSingleton getInstance(ModuleManager moduleManager, - CacheServiceManager cacheServiceManager, - WorkerCreateListener workerCreateListener) throws ServiceNotProvidedException, ModuleNotFoundException { + WorkerCreateListener workerCreateListener) { if (ObjectUtils.isEmpty(INSTANCE)) { - INSTANCE = new AgentStreamSingleton(moduleManager, cacheServiceManager, workerCreateListener); + INSTANCE = new AgentStreamSingleton(moduleManager, workerCreateListener); } return INSTANCE; } @@ -64,13 +53,11 @@ public class AgentStreamSingleton { } - private void createRegisterGraph() throws ServiceNotProvidedException, ModuleNotFoundException { - RegisterStreamGraph registerStreamGraph = new RegisterStreamGraph(moduleManager, cacheServiceManager, workerCreateListener); - applicationRegisterGraph = registerStreamGraph.createApplicationRegisterGraph(); - } - - public Graph getApplicationRegisterGraph() { - return applicationRegisterGraph; + private void createRegisterGraph() { + RegisterStreamGraph registerStreamGraph = new RegisterStreamGraph(moduleManager, workerCreateListener); + registerStreamGraph.createApplicationRegisterGraph(); + registerStreamGraph.createInstanceRegisterGraph(); + registerStreamGraph.createServiceNameRegisterGraph(); } private void createTraceGraph() { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java index 94bea42bd..00f26ef7d 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java @@ -20,12 +20,13 @@ package org.skywalking.apm.collector.agent.stream.graph; import org.skywalking.apm.collector.agent.stream.worker.register.ApplicationRegisterRemoteWorker; import org.skywalking.apm.collector.agent.stream.worker.register.ApplicationRegisterSerialWorker; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.agent.stream.worker.register.InstanceRegisterRemoteWorker; +import org.skywalking.apm.collector.agent.stream.worker.register.InstanceRegisterSerialWorker; +import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameRegisterRemoteWorker; +import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameRegisterSerialWorker; import org.skywalking.apm.collector.core.graph.Graph; import org.skywalking.apm.collector.core.graph.GraphManager; import org.skywalking.apm.collector.core.module.ModuleManager; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; -import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.queue.QueueModule; import org.skywalking.apm.collector.queue.service.QueueCreatorService; import org.skywalking.apm.collector.remote.RemoteModule; @@ -33,6 +34,8 @@ import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.Application; +import org.skywalking.apm.collector.storage.table.register.Instance; +import org.skywalking.apm.collector.storage.table.register.ServiceName; import org.skywalking.apm.collector.stream.worker.base.WorkerCreateListener; /** @@ -41,28 +44,53 @@ import org.skywalking.apm.collector.stream.worker.base.WorkerCreateListener; public class RegisterStreamGraph { public static final int APPLICATION_REGISTER_GRAPH_ID = 200; + public static final int INSTANCE_REGISTER_GRAPH_ID = 201; + public static final int SERVICE_NAME_REGISTER_GRAPH_ID = 202; private final ModuleManager moduleManager; - private final CacheServiceManager cacheServiceManager; private final WorkerCreateListener workerCreateListener; - public RegisterStreamGraph(ModuleManager moduleManager, - CacheServiceManager cacheServiceManager, - WorkerCreateListener workerCreateListener) { + public RegisterStreamGraph(ModuleManager moduleManager, WorkerCreateListener workerCreateListener) { this.moduleManager = moduleManager; - this.cacheServiceManager = cacheServiceManager; this.workerCreateListener = workerCreateListener; } - public Graph createApplicationRegisterGraph() throws ModuleNotFoundException, ServiceNotProvidedException { + @SuppressWarnings("unchecked") + public Graph createApplicationRegisterGraph() { DAOService daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class); QueueCreatorService queueCreatorService = moduleManager.find(QueueModule.NAME).getService(QueueCreatorService.class); Graph graph = GraphManager.INSTANCE.createIfAbsent(APPLICATION_REGISTER_GRAPH_ID, Application.class); - graph.addNode(new ApplicationRegisterRemoteWorker.Factory(daoService, cacheServiceManager, remoteSenderService, APPLICATION_REGISTER_GRAPH_ID).create(workerCreateListener)) - .addNext(new ApplicationRegisterSerialWorker.Factory(daoService, cacheServiceManager, queueCreatorService).create(workerCreateListener)); + graph.addNode(new ApplicationRegisterRemoteWorker.Factory(moduleManager, remoteSenderService, APPLICATION_REGISTER_GRAPH_ID).create(workerCreateListener)) + .addNext(new ApplicationRegisterSerialWorker.Factory(moduleManager, queueCreatorService).create(workerCreateListener)); + return graph; + } + + @SuppressWarnings("unchecked") + public Graph createInstanceRegisterGraph() { + DAOService daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); + RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class); + + QueueCreatorService queueCreatorService = moduleManager.find(QueueModule.NAME).getService(QueueCreatorService.class); + + Graph graph = GraphManager.INSTANCE.createIfAbsent(INSTANCE_REGISTER_GRAPH_ID, Instance.class); + graph.addNode(new InstanceRegisterRemoteWorker.Factory(moduleManager, remoteSenderService, INSTANCE_REGISTER_GRAPH_ID).create(workerCreateListener)) + .addNext(new InstanceRegisterSerialWorker.Factory(moduleManager, queueCreatorService).create(workerCreateListener)); + return graph; + } + + @SuppressWarnings("unchecked") + public Graph createServiceNameRegisterGraph() { + DAOService daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); + RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class); + + QueueCreatorService queueCreatorService = moduleManager.find(QueueModule.NAME).getService(QueueCreatorService.class); + + Graph graph = GraphManager.INSTANCE.createIfAbsent(SERVICE_NAME_REGISTER_GRAPH_ID, ServiceName.class); + graph.addNode(new ServiceNameRegisterRemoteWorker.Factory(moduleManager, remoteSenderService, SERVICE_NAME_REGISTER_GRAPH_ID).create(workerCreateListener)) + .addNext(new ServiceNameRegisterSerialWorker.Factory(moduleManager, queueCreatorService).create(workerCreateListener)); return graph; } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java index 62ccc9470..baca08a09 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java @@ -34,7 +34,7 @@ import org.skywalking.apm.collector.agent.stream.worker.trace.noderef.NodeRefere import org.skywalking.apm.collector.agent.stream.worker.trace.segment.SegmentCostSpanListener; import org.skywalking.apm.collector.agent.stream.worker.trace.service.ServiceEntrySpanListener; import org.skywalking.apm.collector.agent.stream.worker.trace.serviceref.ServiceReferenceSpanListener; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.storage.table.segment.Segment; import org.skywalking.apm.network.proto.SpanType; import org.skywalking.apm.network.proto.TraceSegmentObject; @@ -51,18 +51,18 @@ public class SegmentParse { private final Logger logger = LoggerFactory.getLogger(SegmentParse.class); private final List spanListeners; - private final CacheServiceManager cacheServiceManager; + private final ModuleManager moduleManager; private String segmentId; - public SegmentParse(CacheServiceManager cacheServiceManager) { - this.cacheServiceManager = cacheServiceManager; + public SegmentParse(ModuleManager moduleManager) { + this.moduleManager = moduleManager; this.spanListeners = new ArrayList<>(); this.spanListeners.add(new NodeComponentSpanListener()); this.spanListeners.add(new NodeMappingSpanListener()); - this.spanListeners.add(new NodeReferenceSpanListener(cacheServiceManager)); - this.spanListeners.add(new SegmentCostSpanListener(cacheServiceManager)); + this.spanListeners.add(new NodeReferenceSpanListener(moduleManager)); + this.spanListeners.add(new SegmentCostSpanListener(moduleManager)); this.spanListeners.add(new GlobalTraceSpanListener()); - this.spanListeners.add(new ServiceEntrySpanListener(cacheServiceManager)); + this.spanListeners.add(new ServiceEntrySpanListener(moduleManager)); this.spanListeners.add(new ServiceReferenceSpanListener()); this.spanListeners.add(new InstPerformanceSpanListener()); } @@ -73,6 +73,7 @@ public class SegmentParse { TraceSegmentObject segmentObject = TraceSegmentObject.parseFrom(segment.getSegment()); SegmentDecorator segmentDecorator = new SegmentDecorator(segmentObject); + if (!preBuild(traceIds, segmentDecorator)) { logger.debug("This segment id exchange not success, write to buffer file, id: {}", segmentId); @@ -114,7 +115,7 @@ public class SegmentParse { for (int i = 0; i < segmentDecorator.getRefsCount(); i++) { ReferenceDecorator referenceDecorator = segmentDecorator.getRefs(i); - if (!ReferenceIdExchanger.getInstance(cacheServiceManager).exchange(referenceDecorator, applicationId)) { + if (!ReferenceIdExchanger.getInstance(moduleManager).exchange(referenceDecorator, applicationId)) { return false; } @@ -124,7 +125,7 @@ public class SegmentParse { for (int i = 0; i < segmentDecorator.getSpansCount(); i++) { SpanDecorator spanDecorator = segmentDecorator.getSpans(i); - if (!SpanIdExchanger.getInstance(cacheServiceManager).exchange(spanDecorator, applicationId)) { + if (!SpanIdExchanger.getInstance(moduleManager).exchange(spanDecorator, applicationId)) { return false; } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java index 03f2eec12..9b6e5aa55 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java @@ -19,7 +19,10 @@ package org.skywalking.apm.collector.agent.stream.parser.standardization; import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameService; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.cache.service.InstanceCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.StringUtils; import org.slf4j.Logger; @@ -34,23 +37,26 @@ public class ReferenceIdExchanger implements IdExchanger { private static ReferenceIdExchanger EXCHANGER; private ServiceNameService serviceNameService; - private final CacheServiceManager cacheServiceManager; + private final InstanceCacheService instanceCacheService; + private final ApplicationCacheService applicationCacheService; - public static ReferenceIdExchanger getInstance(CacheServiceManager cacheServiceManager) { + public static ReferenceIdExchanger getInstance(ModuleManager moduleManager) { if (EXCHANGER == null) { - EXCHANGER = new ReferenceIdExchanger(cacheServiceManager); + EXCHANGER = new ReferenceIdExchanger(moduleManager); } return EXCHANGER; } - public ReferenceIdExchanger(CacheServiceManager cacheServiceManager) { - this.cacheServiceManager = cacheServiceManager; - serviceNameService = new ServiceNameService(cacheServiceManager); + private ReferenceIdExchanger(ModuleManager moduleManager) { + serviceNameService = new ServiceNameService(moduleManager); + instanceCacheService = moduleManager.find(CacheModule.NAME).getService(InstanceCacheService.class); + applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } @Override public boolean exchange(ReferenceDecorator standardBuilder, int applicationId) { if (standardBuilder.getEntryServiceId() == 0 && StringUtils.isNotEmpty(standardBuilder.getEntryServiceName())) { - int entryServiceId = serviceNameService.getOrCreate(cacheServiceManager.getInstanceCacheService().get(standardBuilder.getEntryApplicationInstanceId()), standardBuilder.getEntryServiceName()); + int entryServiceId = serviceNameService.getOrCreate(instanceCacheService.get(standardBuilder.getEntryApplicationInstanceId()), standardBuilder.getEntryServiceName()); + if (entryServiceId == 0) { return false; } else { @@ -61,7 +67,8 @@ public class ReferenceIdExchanger implements IdExchanger { } if (standardBuilder.getParentServiceId() == 0 && StringUtils.isNotEmpty(standardBuilder.getParentServiceName())) { - int parentServiceId = serviceNameService.getOrCreate(cacheServiceManager.getInstanceCacheService().get(standardBuilder.getParentApplicationInstanceId()), standardBuilder.getParentServiceName()); + int parentServiceId = serviceNameService.getOrCreate(instanceCacheService.get(standardBuilder.getParentApplicationInstanceId()), standardBuilder.getParentServiceName()); + if (parentServiceId == 0) { return false; } else { @@ -72,7 +79,7 @@ public class ReferenceIdExchanger implements IdExchanger { } if (standardBuilder.getNetworkAddressId() == 0 && StringUtils.isNotEmpty(standardBuilder.getNetworkAddress())) { - int networkAddressId = cacheServiceManager.getApplicationCacheService().get(standardBuilder.getNetworkAddress()); + int networkAddressId = applicationCacheService.get(standardBuilder.getNetworkAddress()); if (networkAddressId == 0) { return false; } else { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java index 83e379f6b..ea32a2c44 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java @@ -19,9 +19,8 @@ package org.skywalking.apm.collector.agent.stream.parser.standardization; import org.skywalking.apm.collector.agent.stream.buffer.SegmentBufferManager; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorkerProvider; import org.skywalking.apm.collector.stream.worker.base.WorkerException; @@ -36,8 +35,8 @@ public class SegmentStandardizationWorker extends AbstractLocalAsyncWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public SegmentStandardizationWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new SegmentStandardizationWorker(getDaoService(), getCacheServiceManager()); + @Override public SegmentStandardizationWorker workerInstance(ModuleManager moduleManager) { + return new SegmentStandardizationWorker(moduleManager); } @Override public int queueSize() { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java index ad0f8acae..08afe3066 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java @@ -19,34 +19,40 @@ package org.skywalking.apm.collector.agent.stream.parser.standardization; import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameService; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author peng-yongsheng */ public class SpanIdExchanger implements IdExchanger { + private final Logger logger = LoggerFactory.getLogger(SpanIdExchanger.class); + private static SpanIdExchanger EXCHANGER; private final ServiceNameService serviceNameService; - private final CacheServiceManager cacheServiceManager; + private final ApplicationCacheService applicationCacheService; - public static SpanIdExchanger getInstance(CacheServiceManager cacheServiceManager) { + public static SpanIdExchanger getInstance(ModuleManager moduleManager) { if (EXCHANGER == null) { - EXCHANGER = new SpanIdExchanger(cacheServiceManager); + EXCHANGER = new SpanIdExchanger(moduleManager); } return EXCHANGER; } - public SpanIdExchanger(CacheServiceManager cacheServiceManager) { - this.cacheServiceManager = cacheServiceManager; - this.serviceNameService = new ServiceNameService(cacheServiceManager); + public SpanIdExchanger(ModuleManager moduleManager) { + this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); + this.serviceNameService = new ServiceNameService(moduleManager); } @Override public boolean exchange(SpanDecorator standardBuilder, int applicationId) { if (standardBuilder.getPeerId() == 0 && StringUtils.isNotEmpty(standardBuilder.getPeer())) { - int peerId = cacheServiceManager.getApplicationCacheService().get(standardBuilder.getPeer()); + int peerId = applicationCacheService.get(standardBuilder.getPeer()); if (peerId == 0) { return false; } else { @@ -58,6 +64,7 @@ public class SpanIdExchanger implements IdExchanger { if (standardBuilder.getOperationNameId() == 0 && StringUtils.isNotEmpty(standardBuilder.getOperationName())) { int operationNameId = serviceNameService.getOrCreate(applicationId, standardBuilder.getOperationName()); + if (operationNameId == 0) { return false; } else { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java index 4981ae588..ef1f21c47 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.jvm; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.ICpuMetricPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,8 +33,8 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class CpuMetricPersistenceWorker extends PersistenceWorker { - public CpuMetricPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public CpuMetricPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { @@ -45,20 +46,17 @@ public class CpuMetricPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public CpuMetricPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new CpuMetricPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public CpuMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new CpuMetricPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java index 47cdc5b8b..fd17f676c 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.jvm; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IGCMetricPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,12 +33,15 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class GCMetricPersistenceWorker extends PersistenceWorker { - @Override public int id() { - return 0; + private final DAOService daoService; + + public GCMetricPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } - public GCMetricPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + @Override public int id() { + return 0; } @Override protected boolean needMergeDBData() { @@ -45,20 +49,17 @@ public class GCMetricPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public GCMetricPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new GCMetricPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public GCMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new GCMetricPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java index c43766fa7..b7e9f2219 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.jvm; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IInstanceHeartBeatPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,12 +33,15 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class InstHeartBeatPersistenceWorker extends PersistenceWorker { - @Override public int id() { - return 0; + private final DAOService daoService; + + public InstHeartBeatPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } - public InstHeartBeatPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + @Override public int id() { + return InstHeartBeatPersistenceWorker.class.hashCode(); } @Override protected boolean needMergeDBData() { @@ -45,19 +49,17 @@ public class InstHeartBeatPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public InstHeartBeatPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new InstHeartBeatPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public InstHeartBeatPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new InstHeartBeatPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java index 1621190d8..42edb59ed 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.jvm; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IMemoryMetricPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,8 +33,11 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class MemoryMetricPersistenceWorker extends PersistenceWorker { - public MemoryMetricPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public MemoryMetricPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { @@ -45,19 +49,17 @@ public class MemoryMetricPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public MemoryMetricPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new MemoryMetricPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public MemoryMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new MemoryMetricPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java index fc22e5a4b..f1450e393 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.jvm; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IMemoryPoolMetricPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -36,8 +37,11 @@ public class MemoryPoolMetricPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public MemoryPoolMetricPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new MemoryPoolMetricPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public MemoryPoolMetricPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new MemoryPoolMetricPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java index d706ca4c7..b51dac226 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java @@ -18,8 +18,13 @@ package org.skywalking.apm.collector.agent.stream.worker.register; -import org.skywalking.apm.collector.cache.CacheServiceManager; -import org.skywalking.apm.collector.core.graph.Graph; +import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.core.graph.GraphManager; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.core.module.ModuleNotFoundException; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.storage.table.register.Application; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,23 +36,23 @@ public class ApplicationIDService { private final Logger logger = LoggerFactory.getLogger(ApplicationIDService.class); - private final CacheServiceManager cacheServiceManager; - private final Graph applicationRegisterGraph; + private final ModuleManager moduleManager; - public ApplicationIDService(CacheServiceManager cacheServiceManager, Graph applicationRegisterGraph) { - this.cacheServiceManager = cacheServiceManager; - this.applicationRegisterGraph = applicationRegisterGraph; + public ApplicationIDService(ModuleManager moduleManager) { + this.moduleManager = moduleManager; } - public int getOrCreate(String applicationCode) { - int applicationId = cacheServiceManager.getApplicationCacheService().get(applicationCode); + @SuppressWarnings("unchecked") + public int getOrCreate(String applicationCode) throws ModuleNotFoundException, ServiceNotProvidedException { + ApplicationCacheService service = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); + int applicationId = service.get(applicationCode); if (applicationId == 0) { Application application = new Application(applicationCode); application.setApplicationCode(applicationCode); application.setApplicationId(0); - applicationRegisterGraph.start(application); + GraphManager.INSTANCE.findGraph(RegisterStreamGraph.APPLICATION_REGISTER_GRAPH_ID).start(application); } return applicationId; } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java index 45e0d5330..8d828766c 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.register; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.Application; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -36,8 +35,8 @@ public class ApplicationRegisterRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override public ApplicationRegisterRemoteWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ApplicationRegisterRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public ApplicationRegisterRemoteWorker workerInstance(ModuleManager moduleManager) { + return new ApplicationRegisterRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java index 8c41dfa22..2b15bd4b8 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java @@ -19,9 +19,12 @@ package org.skywalking.apm.collector.agent.stream.worker.register; import org.skywalking.apm.collector.agent.stream.IdAutoIncrement; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IApplicationStreamDAO; import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.Application; @@ -38,8 +41,13 @@ public class ApplicationRegisterSerialWorker extends AbstractLocalAsyncWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public ApplicationRegisterSerialWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ApplicationRegisterSerialWorker(daoService, cacheServiceManager); + @Override public ApplicationRegisterSerialWorker workerInstance(ModuleManager moduleManager) { + return new ApplicationRegisterSerialWorker(moduleManager); } @Override public int queueSize() { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java index 66e423c2f..bc758dc4f 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java @@ -18,7 +18,14 @@ package org.skywalking.apm.collector.agent.stream.worker.register; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.InstanceCacheService; +import org.skywalking.apm.collector.core.graph.GraphManager; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.core.module.ModuleNotFoundException; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IInstanceStreamDAO; import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.Instance; @@ -32,17 +39,18 @@ public class InstanceIDService { private final Logger logger = LoggerFactory.getLogger(InstanceIDService.class); - private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; + private final ModuleManager moduleManager; - public InstanceIDService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public InstanceIDService(ModuleManager moduleManager) { + this.moduleManager = moduleManager; } - public int getOrCreate(int applicationId, String agentUUID, long registerTime, String osInfo) { + @SuppressWarnings("unchecked") + public int getOrCreate(int applicationId, String agentUUID, long registerTime, + String osInfo) throws ModuleNotFoundException, ServiceNotProvidedException { logger.debug("get or create instance id, application id: {}, agentUUID: {}, registerTime: {}, osInfo: {}", applicationId, agentUUID, registerTime, osInfo); - int instanceId = cacheServiceManager.getInstanceCacheService().getInstanceId(applicationId, agentUUID); + InstanceCacheService service = moduleManager.find(CacheModule.NAME).getService(InstanceCacheService.class); + int instanceId = service.getInstanceId(applicationId, agentUUID); if (instanceId == 0) { Instance instance = new Instance("0"); @@ -52,12 +60,16 @@ public class InstanceIDService { instance.setHeartBeatTime(registerTime); instance.setInstanceId(0); instance.setOsInfo(osInfo); + + GraphManager.INSTANCE.findGraph(RegisterStreamGraph.INSTANCE_REGISTER_GRAPH_ID).start(instance); } return instanceId; } - public void recover(int instanceId, int applicationId, long registerTime, String osInfo) { + public void recover(int instanceId, int applicationId, long registerTime, + String osInfo) throws ModuleNotFoundException, ServiceNotProvidedException { logger.debug("instance recover, instance id: {}, application id: {}, register time: {}", instanceId, applicationId, registerTime); + DAOService daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); IInstanceStreamDAO dao = (IInstanceStreamDAO)daoService.get(IInstanceStreamDAO.class); Instance instance = new Instance(String.valueOf(instanceId)); diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java index 46fe1a87d..f36fae2ba 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.register; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.Instance; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -40,8 +39,8 @@ public class InstanceRegisterRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override - public InstanceRegisterRemoteWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new InstanceRegisterRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public InstanceRegisterRemoteWorker workerInstance(ModuleManager moduleManager) { + return new InstanceRegisterRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java index 515e9a1c7..993a8829e 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java @@ -18,8 +18,11 @@ package org.skywalking.apm.collector.agent.stream.worker.register; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.InstanceCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IInstanceStreamDAO; import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.Instance; @@ -36,8 +39,13 @@ public class InstanceRegisterSerialWorker extends AbstractLocalAsyncWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public InstanceRegisterSerialWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new InstanceRegisterSerialWorker(getDaoService(), getCacheServiceManager()); + @Override public InstanceRegisterSerialWorker workerInstance(ModuleManager moduleManager) { + return new InstanceRegisterSerialWorker(moduleManager); } @Override public int queueSize() { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java index f620f8080..87793be31 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.register; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.ServiceName; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -36,8 +35,8 @@ public class ServiceNameRegisterRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override public ServiceNameRegisterRemoteWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ServiceNameRegisterRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceNameRegisterRemoteWorker workerInstance(ModuleManager moduleManager) { + return new ServiceNameRegisterRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java index 9a1eb58ef..bf44f4675 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java @@ -19,9 +19,12 @@ package org.skywalking.apm.collector.agent.stream.worker.register; import org.skywalking.apm.collector.agent.stream.IdAutoIncrement; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ServiceIdCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IServiceNameStreamDAO; import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.register.ServiceName; @@ -38,8 +41,13 @@ public class ServiceNameRegisterSerialWorker extends AbstractLocalAsyncWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public ServiceNameRegisterSerialWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ServiceNameRegisterSerialWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceNameRegisterSerialWorker workerInstance(ModuleManager moduleManager) { + return new ServiceNameRegisterSerialWorker(moduleManager); } @Override public int queueSize() { diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java index 84608d538..ccecae1b5 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java @@ -18,7 +18,11 @@ package org.skywalking.apm.collector.agent.stream.worker.register; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ServiceIdCacheService; +import org.skywalking.apm.collector.core.graph.GraphManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.storage.table.register.ServiceName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,20 +34,24 @@ public class ServiceNameService { private final Logger logger = LoggerFactory.getLogger(ServiceNameService.class); - private final CacheServiceManager cacheServiceManager; + private final ModuleManager moduleManager; - public ServiceNameService(CacheServiceManager cacheServiceManager) { - this.cacheServiceManager = cacheServiceManager; + public ServiceNameService(ModuleManager moduleManager) { + this.moduleManager = moduleManager; } + @SuppressWarnings("unchecked") public int getOrCreate(int applicationId, String serviceName) { - int serviceId = cacheServiceManager.getServiceIdCacheService().get(applicationId, serviceName); + ServiceIdCacheService idCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceIdCacheService.class); + int serviceId = idCacheService.get(applicationId, serviceName); if (serviceId == 0) { ServiceName service = new ServiceName("0"); service.setApplicationId(applicationId); service.setServiceName(serviceName); service.setServiceId(0); + + GraphManager.INSTANCE.findGraph(RegisterStreamGraph.SERVICE_NAME_REGISTER_GRAPH_ID).start(service); } return serviceId; } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java index eedf62534..a4ba5c5ab 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.global; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IGlobalTracePersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,8 +33,11 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class GlobalTracePersistenceWorker extends PersistenceWorker { - public GlobalTracePersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public GlobalTracePersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { @@ -45,20 +49,17 @@ public class GlobalTracePersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public GlobalTracePersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new GlobalTracePersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public GlobalTracePersistenceWorker workerInstance(ModuleManager moduleManager) { + return new GlobalTracePersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java index c33f58d0c..3291a5568 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.instance; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IInstPerformancePersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,12 +33,15 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class InstPerformancePersistenceWorker extends PersistenceWorker { - public InstPerformancePersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public InstPerformancePersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { - return 0; + return InstPerformancePersistenceWorker.class.hashCode(); } @Override protected boolean needMergeDBData() { @@ -45,18 +49,17 @@ public class InstPerformancePersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public InstPerformancePersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new InstPerformancePersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public InstPerformancePersistenceWorker workerInstance(ModuleManager moduleManager) { + return new InstPerformancePersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java index ea5aabbdf..1789e4e75 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java @@ -18,9 +18,8 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.node; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.node.NodeComponent; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorkerProvider; import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; @@ -30,23 +29,22 @@ import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; */ public class NodeComponentAggregationWorker extends AggregationWorker { - public NodeComponentAggregationWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public NodeComponentAggregationWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { - return 0; + return NodeComponentAggregationWorker.class.hashCode(); } public static class Factory extends AbstractLocalAsyncWorkerProvider { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public NodeComponentAggregationWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeComponentAggregationWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeComponentAggregationWorker workerInstance(ModuleManager moduleManager) { + return new NodeComponentAggregationWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java index c623e5f6f..c7cb45536 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.node; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.INodeComponentPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,12 +33,15 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class NodeComponentPersistenceWorker extends PersistenceWorker { - public NodeComponentPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public NodeComponentPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { - return 0; + return NodeComponentPersistenceWorker.class.hashCode(); } @Override protected boolean needMergeDBData() { @@ -45,19 +49,17 @@ public class NodeComponentPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public NodeComponentPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeComponentPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeComponentPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new NodeComponentPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java index 290bb5bb0..732a4e16d 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.node; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.node.NodeComponent; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -32,8 +31,8 @@ import org.skywalking.apm.collector.stream.worker.base.WorkerException; */ public class NodeComponentRemoteWorker extends AbstractRemoteWorker { - public NodeComponentRemoteWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public NodeComponentRemoteWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { @@ -49,15 +48,13 @@ public class NodeComponentRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override - public NodeComponentRemoteWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeComponentRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeComponentRemoteWorker workerInstance(ModuleManager moduleManager) { + return new NodeComponentRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java index 4ade8e9c6..b70b5424d 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java @@ -18,9 +18,8 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.node; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.node.NodeMapping; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorkerProvider; import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; @@ -30,25 +29,22 @@ import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; */ public class NodeMappingAggregationWorker extends AggregationWorker { - public NodeMappingAggregationWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public NodeMappingAggregationWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { - return 0; + return NodeMappingAggregationWorker.class.hashCode(); } public static class Factory extends AbstractLocalAsyncWorkerProvider { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public NodeMappingAggregationWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeMappingAggregationWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeMappingAggregationWorker workerInstance(ModuleManager moduleManager) { + return new NodeMappingAggregationWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java index ad9fe6689..f52e6d5f2 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.node; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.INodeMappingPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,12 +33,15 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class NodeMappingPersistenceWorker extends PersistenceWorker { - public NodeMappingPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public NodeMappingPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { - return 0; + return NodeMappingPersistenceWorker.class.hashCode(); } @Override protected boolean needMergeDBData() { @@ -45,19 +49,17 @@ public class NodeMappingPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public NodeMappingPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeMappingPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeMappingPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new NodeMappingPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java index 0dfc2e131..6f8b8fc4e 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.node; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.node.NodeMapping; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -32,8 +31,8 @@ import org.skywalking.apm.collector.stream.worker.base.WorkerException; */ public class NodeMappingRemoteWorker extends AbstractRemoteWorker { - public NodeMappingRemoteWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public NodeMappingRemoteWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { @@ -49,14 +48,12 @@ public class NodeMappingRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override - public NodeMappingRemoteWorker workerInstance(DAOService daoService, CacheServiceManager cacheServiceManager) { - return new NodeMappingRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeMappingRemoteWorker workerInstance(ModuleManager moduleManager) { + return new NodeMappingRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java index 53b557c76..9b3156065 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java @@ -18,9 +18,8 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.noderef; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.noderef.NodeReference; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorkerProvider; import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; @@ -30,23 +29,22 @@ import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; */ public class NodeReferenceAggregationWorker extends AggregationWorker { - public NodeReferenceAggregationWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public NodeReferenceAggregationWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { - return 0; + return NodeReferenceAggregationWorker.class.hashCode(); } public static class Factory extends AbstractLocalAsyncWorkerProvider { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public NodeReferenceAggregationWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeReferenceAggregationWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeReferenceAggregationWorker workerInstance(ModuleManager moduleManager) { + return new NodeReferenceAggregationWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java index 88c065b74..7cca8dd5e 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.noderef; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.INodeReferencePersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,8 +33,11 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class NodeReferencePersistenceWorker extends PersistenceWorker { - public NodeReferencePersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public NodeReferencePersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { @@ -45,18 +49,17 @@ public class NodeReferencePersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public NodeReferencePersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeReferencePersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeReferencePersistenceWorker workerInstance(ModuleManager moduleManager) { + return new NodeReferencePersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java index 01cc8f30c..f12a7a1e7 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.noderef; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.noderef.NodeReference; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -32,8 +31,8 @@ import org.skywalking.apm.collector.stream.worker.base.WorkerException; */ public class NodeReferenceRemoteWorker extends AbstractRemoteWorker { - public NodeReferenceRemoteWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public NodeReferenceRemoteWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { @@ -49,15 +48,12 @@ public class NodeReferenceRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override - public NodeReferenceRemoteWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new NodeReferenceRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public NodeReferenceRemoteWorker workerInstance(ModuleManager moduleManager) { + return new NodeReferenceRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java index 0cc701e31..88a8d1395 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java @@ -25,7 +25,9 @@ import org.skywalking.apm.collector.agent.stream.parser.ExitSpanListener; import org.skywalking.apm.collector.agent.stream.parser.RefsListener; import org.skywalking.apm.collector.agent.stream.parser.standardization.ReferenceDecorator; import org.skywalking.apm.collector.agent.stream.parser.standardization.SpanDecorator; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.InstanceCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.CollectionUtils; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.TimeBucketUtils; @@ -40,14 +42,14 @@ public class NodeReferenceSpanListener implements EntrySpanListener, ExitSpanLis private final Logger logger = LoggerFactory.getLogger(NodeReferenceSpanListener.class); - private final CacheServiceManager cacheServiceManager; + private final InstanceCacheService instanceCacheService; private final List nodeReferences; private final List references; - public NodeReferenceSpanListener(CacheServiceManager cacheServiceManager) { - this.cacheServiceManager = cacheServiceManager; + public NodeReferenceSpanListener(ModuleManager moduleManager) { this.nodeReferences = new LinkedList<>(); this.references = new LinkedList<>(); + this.instanceCacheService = moduleManager.find(CacheModule.NAME).getService(InstanceCacheService.class); } @Override @@ -93,7 +95,7 @@ public class NodeReferenceSpanListener implements EntrySpanListener, ExitSpanLis @Override public void parseRef(ReferenceDecorator referenceDecorator, int applicationId, int instanceId, String segmentId) { - int parentApplicationId = cacheServiceManager.getInstanceCacheService().get(referenceDecorator.getParentApplicationInstanceId()); + int parentApplicationId = instanceCacheService.get(referenceDecorator.getParentApplicationInstanceId()); NodeReference referenceSum = new NodeReference(Const.EMPTY_STRING); referenceSum.setFrontApplicationId(parentApplicationId); diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java index 5cacbe252..7dc0664e4 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.segment; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.ISegmentCostPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,12 +33,15 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class SegmentCostPersistenceWorker extends PersistenceWorker { - public SegmentCostPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public SegmentCostPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { - return 0; + return SegmentCostPersistenceWorker.class.hashCode(); } @Override protected boolean needMergeDBData() { @@ -45,19 +49,17 @@ public class SegmentCostPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public SegmentCostPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new SegmentCostPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public SegmentCostPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new SegmentCostPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java index d656b6c27..bbd59775c 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java @@ -25,7 +25,9 @@ import org.skywalking.apm.collector.agent.stream.parser.ExitSpanListener; import org.skywalking.apm.collector.agent.stream.parser.FirstSpanListener; import org.skywalking.apm.collector.agent.stream.parser.LocalSpanListener; import org.skywalking.apm.collector.agent.stream.parser.standardization.SpanDecorator; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ServiceNameCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.storage.table.segment.SegmentCost; @@ -40,13 +42,13 @@ public class SegmentCostSpanListener implements EntrySpanListener, ExitSpanListe private final Logger logger = LoggerFactory.getLogger(SegmentCostSpanListener.class); private final List segmentCosts; - private final CacheServiceManager cacheServiceManager; + private final ServiceNameCacheService serviceNameCacheService; private boolean isError = false; private long timeBucket; - public SegmentCostSpanListener(CacheServiceManager cacheServiceManager) { - this.cacheServiceManager = cacheServiceManager; + public SegmentCostSpanListener(ModuleManager moduleManager) { this.segmentCosts = new ArrayList<>(); + this.serviceNameCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceNameCacheService.class); } @Override @@ -64,7 +66,7 @@ public class SegmentCostSpanListener implements EntrySpanListener, ExitSpanListe if (spanDecorator.getOperationNameId() == 0) { segmentCost.setServiceName(spanDecorator.getOperationName()); } else { - segmentCost.setServiceName(cacheServiceManager.getServiceNameCacheService().getSplitServiceName(cacheServiceManager.getServiceNameCacheService().get(spanDecorator.getOperationNameId()))); + segmentCost.setServiceName(serviceNameCacheService.getSplitServiceName(serviceNameCacheService.get(spanDecorator.getOperationNameId()))); } segmentCosts.add(segmentCost); diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java index 94ea3d1a6..c90b1689a 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.segment; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.ISegmentPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,8 +33,8 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class SegmentPersistenceWorker extends PersistenceWorker { - public SegmentPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public SegmentPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { @@ -45,18 +46,17 @@ public class SegmentPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override - public SegmentPersistenceWorker workerInstance(DAOService daoService, CacheServiceManager cacheServiceManager) { - return new SegmentPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public SegmentPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new SegmentPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java index 9bc1baea2..840de19e0 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java @@ -18,9 +18,8 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.service; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.service.ServiceEntry; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorkerProvider; import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; @@ -30,23 +29,22 @@ import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; */ public class ServiceEntryAggregationWorker extends AggregationWorker { - public ServiceEntryAggregationWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public ServiceEntryAggregationWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { - return 0; + return ServiceEntryAggregationWorker.class.hashCode(); } public static class Factory extends AbstractLocalAsyncWorkerProvider { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public ServiceEntryAggregationWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ServiceEntryAggregationWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceEntryAggregationWorker workerInstance(ModuleManager moduleManager) { + return new ServiceEntryAggregationWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java index a0e71fa6e..7c45a0494 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.service; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IServiceEntryPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,8 +33,11 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class ServiceEntryPersistenceWorker extends PersistenceWorker { - public ServiceEntryPersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public ServiceEntryPersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { @@ -45,18 +49,16 @@ public class ServiceEntryPersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public ServiceEntryPersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ServiceEntryPersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceEntryPersistenceWorker workerInstance(ModuleManager moduleManager) { + return new ServiceEntryPersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java index 98a434118..6265f458e 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.service; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.service.ServiceEntry; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -32,8 +31,8 @@ import org.skywalking.apm.collector.stream.worker.base.WorkerException; */ public class ServiceEntryRemoteWorker extends AbstractRemoteWorker { - public ServiceEntryRemoteWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public ServiceEntryRemoteWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { @@ -49,14 +48,13 @@ public class ServiceEntryRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override - public ServiceEntryRemoteWorker workerInstance(DAOService daoService, CacheServiceManager cacheServiceManager) { - return new ServiceEntryRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceEntryRemoteWorker workerInstance(ModuleManager moduleManager) { + return new ServiceEntryRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java index 3f9131b23..3075cb2cc 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java @@ -23,7 +23,9 @@ import org.skywalking.apm.collector.agent.stream.parser.FirstSpanListener; import org.skywalking.apm.collector.agent.stream.parser.RefsListener; import org.skywalking.apm.collector.agent.stream.parser.standardization.ReferenceDecorator; import org.skywalking.apm.collector.agent.stream.parser.standardization.SpanDecorator; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ServiceNameCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.storage.table.service.ServiceEntry; @@ -43,10 +45,10 @@ public class ServiceEntrySpanListener implements RefsListener, FirstSpanListener private int entryServiceId; private String entryServiceName; private boolean hasEntry = false; - private final CacheServiceManager cacheServiceManager; + private final ServiceNameCacheService serviceNameCacheService; - public ServiceEntrySpanListener(CacheServiceManager cacheServiceManager) { - this.cacheServiceManager = cacheServiceManager; + public ServiceEntrySpanListener(ModuleManager moduleManager) { + this.serviceNameCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceNameCacheService.class); } @Override @@ -54,7 +56,7 @@ public class ServiceEntrySpanListener implements RefsListener, FirstSpanListener String segmentId) { this.applicationId = applicationId; this.entryServiceId = spanDecorator.getOperationNameId(); - this.entryServiceName = cacheServiceManager.getServiceNameCacheService().getSplitServiceName(cacheServiceManager.getServiceNameCacheService().get(entryServiceId)); + this.entryServiceName = serviceNameCacheService.getSplitServiceName(serviceNameCacheService.get(entryServiceId)); this.hasEntry = true; } diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java index 8046829e8..9f00ea395 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java @@ -18,9 +18,8 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.serviceref; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.serviceref.ServiceReference; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorkerProvider; import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; @@ -30,23 +29,22 @@ import org.skywalking.apm.collector.stream.worker.impl.AggregationWorker; */ public class ServiceReferenceAggregationWorker extends AggregationWorker { - public ServiceReferenceAggregationWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public ServiceReferenceAggregationWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { - return 0; + return ServiceReferenceAggregationWorker.class.hashCode(); } public static class Factory extends AbstractLocalAsyncWorkerProvider { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public ServiceReferenceAggregationWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ServiceReferenceAggregationWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceReferenceAggregationWorker workerInstance(ModuleManager moduleManager) { + return new ServiceReferenceAggregationWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java index 93f2d0f96..1207ab388 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java @@ -18,8 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.serviceref; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.service.QueueCreatorService; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.dao.IServiceReferencePersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -32,8 +33,11 @@ import org.skywalking.apm.collector.stream.worker.impl.PersistenceWorker; */ public class ServiceReferencePersistenceWorker extends PersistenceWorker { - public ServiceReferencePersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + private final DAOService daoService; + + public ServiceReferencePersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); + this.daoService = getModuleManager().find(StorageModule.NAME).getService(DAOService.class); } @Override public int id() { @@ -45,18 +49,17 @@ public class ServiceReferencePersistenceWorker extends PersistenceWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager, queueCreatorService); + + public Factory(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { + super(moduleManager, queueCreatorService); } - @Override public ServiceReferencePersistenceWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ServiceReferencePersistenceWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceReferencePersistenceWorker workerInstance(ModuleManager moduleManager) { + return new ServiceReferencePersistenceWorker(moduleManager); } @Override diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java index 0639619ec..4582a2522 100644 --- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java +++ b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.agent.stream.worker.trace.serviceref; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.storage.table.serviceref.ServiceReference; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorker; import org.skywalking.apm.collector.stream.worker.base.AbstractRemoteWorkerProvider; @@ -32,8 +31,8 @@ import org.skywalking.apm.collector.stream.worker.base.WorkerException; */ public class ServiceReferenceRemoteWorker extends AbstractRemoteWorker { - public ServiceReferenceRemoteWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public ServiceReferenceRemoteWorker(ModuleManager moduleManager) { + super(moduleManager); } @Override public int id() { @@ -49,15 +48,13 @@ public class ServiceReferenceRemoteWorker extends AbstractRemoteWorker { - public Factory(DAOService daoService, CacheServiceManager cacheServiceManager, - RemoteSenderService remoteSenderService, int graphId) { - super(daoService, cacheServiceManager, remoteSenderService, graphId); + + public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) { + super(moduleManager, remoteSenderService, graphId); } - @Override - public ServiceReferenceRemoteWorker workerInstance(DAOService daoService, - CacheServiceManager cacheServiceManager) { - return new ServiceReferenceRemoteWorker(getDaoService(), getCacheServiceManager()); + @Override public ServiceReferenceRemoteWorker workerInstance(ModuleManager moduleManager) { + return new ServiceReferenceRemoteWorker(moduleManager); } } } diff --git a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/skywalking/apm/collector/cache/guava/CacheModuleGuavaProvider.java b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/skywalking/apm/collector/cache/guava/CacheModuleGuavaProvider.java index 7644018ce..58893f14a 100644 --- a/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/skywalking/apm/collector/cache/guava/CacheModuleGuavaProvider.java +++ b/apm-collector/apm-collector-cache/collector-cache-guava-provider/src/main/java/org/skywalking/apm/collector/cache/guava/CacheModuleGuavaProvider.java @@ -29,7 +29,6 @@ import org.skywalking.apm.collector.cache.service.InstanceCacheService; import org.skywalking.apm.collector.cache.service.ServiceIdCacheService; import org.skywalking.apm.collector.cache.service.ServiceNameCacheService; import org.skywalking.apm.collector.core.module.Module; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.storage.StorageModule; @@ -52,16 +51,12 @@ public class CacheModuleGuavaProvider extends ModuleProvider { } @Override public void start(Properties config) throws ServiceNotProvidedException { - try { - DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); + DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); - this.registerServiceImplementation(ApplicationCacheService.class, new ApplicationCacheGuavaService(daoService)); - this.registerServiceImplementation(InstanceCacheService.class, new InstanceCacheGuavaService(daoService)); - this.registerServiceImplementation(ServiceIdCacheService.class, new ServiceIdCacheGuavaService(daoService)); - this.registerServiceImplementation(ServiceNameCacheService.class, new ServiceNameCacheGuavaService(daoService)); - } catch (ModuleNotFoundException e) { - throw new ServiceNotProvidedException(e.getMessage()); - } + this.registerServiceImplementation(ApplicationCacheService.class, new ApplicationCacheGuavaService(daoService)); + this.registerServiceImplementation(InstanceCacheService.class, new InstanceCacheGuavaService(daoService)); + this.registerServiceImplementation(ServiceIdCacheService.class, new ServiceIdCacheGuavaService(daoService)); + this.registerServiceImplementation(ServiceNameCacheService.class, new ServiceNameCacheGuavaService(daoService)); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java index b041e4444..a5a9811cb 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java @@ -102,11 +102,11 @@ public abstract class Module { return loadedProviders.getFirst(); } - public final T getService(Class serviceType) throws ServiceNotProvidedException { + public final T getService(Class serviceType) throws ServiceNotProvidedRuntimeException { try { return provider().getService(serviceType); - } catch (ProviderNotFoundException | DuplicateProviderException e) { - throw new ServiceNotProvidedException(e.getMessage()); + } catch (ProviderNotFoundException | DuplicateProviderException | ServiceNotProvidedException e) { + throw new ServiceNotProvidedRuntimeException(e.getMessage()); } } } diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleManager.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleManager.java index b0cad6aee..a91b81568 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleManager.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleManager.java @@ -27,7 +27,7 @@ import java.util.ServiceLoader; /** * The ModuleManager takes charge of all {@link Module}s in collector. * - * @author wu-sheng + * @author wu-sheng, peng-yongsheng */ public class ModuleManager { private Map loadedModules = new HashMap<>(); @@ -74,10 +74,10 @@ public class ModuleManager { return loadedModules.get(moduleName) != null; } - public Module find(String moduleName) throws ModuleNotFoundException { + public Module find(String moduleName) throws ModuleNotFoundRuntimeException { Module module = loadedModules.get(moduleName); if (module != null) return module; - throw new ModuleNotFoundException(moduleName + " missing."); + throw new ModuleNotFoundRuntimeException(moduleName + " missing."); } } diff --git a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java index b6e63440f..b1ac81f88 100644 --- a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java +++ b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java @@ -21,7 +21,6 @@ package org.skywalking.apm.collector.naming.jetty; import java.util.Properties; import org.skywalking.apm.collector.cluster.ClusterModule; import org.skywalking.apm.collector.core.module.Module; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.jetty.manager.JettyManagerModule; @@ -58,12 +57,8 @@ public class NamingModuleJettyProvider extends ModuleProvider { Integer port = (Integer)config.get(PORT); String contextPath = config.getProperty(CONTEXT_PATH); - try { - JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class); - managerService.createIfAbsent(host, port, contextPath); - } catch (ModuleNotFoundException e) { - throw new ServiceNotProvidedException(e.getMessage()); - } + JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class); + managerService.createIfAbsent(host, port, contextPath); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { diff --git a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java index 5a60a17a7..5c51894cb 100644 --- a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java +++ b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java @@ -19,8 +19,6 @@ package org.skywalking.apm.collector.naming.jetty.service; import org.skywalking.apm.collector.core.module.ModuleManager; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; -import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.jetty.manager.JettyManagerModule; import org.skywalking.apm.collector.jetty.manager.service.JettyManagerService; import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService; @@ -46,11 +44,7 @@ public class NamingJettyHandlerRegisterService implements NamingHandlerRegisterS } @Override public void register(ServerHandler namingHandler) { - try { - JettyManagerService managerService = moduleManager.find(JettyManagerModule.NAME).getService(JettyManagerService.class); - managerService.addHandler(this.host, this.port, namingHandler); - } catch (ModuleNotFoundException | ServiceNotProvidedException e) { - logger.error(e.getMessage(), e); - } + JettyManagerService managerService = moduleManager.find(JettyManagerModule.NAME).getService(JettyManagerService.class); + managerService.addHandler(this.host, this.port, namingHandler); } } diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java index 622af17a7..3493cd7f4 100644 --- a/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java +++ b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java @@ -5,7 +5,6 @@ import org.skywalking.apm.collector.cluster.ClusterModule; import org.skywalking.apm.collector.cluster.service.ModuleListenerService; import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; import org.skywalking.apm.collector.core.module.Module; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.grpc.manager.GRPCManagerModule; @@ -51,19 +50,15 @@ public class RemoteModuleGRPCProvider extends ModuleProvider { String host = config.getProperty(HOST); Integer port = (Integer)config.get(PORT); - try { - GRPCManagerService managerService = getManager().find(GRPCManagerModule.NAME).getService(GRPCManagerService.class); - Server gRPCServer = managerService.createIfAbsent(host, port); - gRPCServer.addHandler(new RemoteCommonServiceHandler(listener)); + GRPCManagerService managerService = getManager().find(GRPCManagerModule.NAME).getService(GRPCManagerService.class); + Server gRPCServer = managerService.createIfAbsent(host, port); + gRPCServer.addHandler(new RemoteCommonServiceHandler(listener)); - ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); - moduleRegisterService.register(RemoteModule.NAME, this.name(), new RemoteModuleGRPCRegistration(host, port)); + ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); + moduleRegisterService.register(RemoteModule.NAME, this.name(), new RemoteModuleGRPCRegistration(host, port)); - ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); - moduleListenerService.addListener(remoteSenderService); - } catch (ModuleNotFoundException e) { - throw new ServiceNotProvidedException(e.getMessage()); - } + ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); + moduleListenerService.addListener(remoteSenderService); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java index d74b0d75f..6516b6dd7 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java @@ -21,7 +21,6 @@ package org.skywalking.apm.collector.stream; import java.util.Properties; import org.skywalking.apm.collector.cache.CacheModule; import org.skywalking.apm.collector.core.module.Module; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.queue.QueueModule; @@ -50,14 +49,10 @@ public class StreamModuleProvider extends ModuleProvider { @Override public void start(Properties config) throws ServiceNotProvidedException { PersistenceTimer persistenceTimer = new PersistenceTimer(); - try { - QueueCreatorService queueCreatorService = getManager().find(QueueModule.NAME).getService(QueueCreatorService.class); - RemoteSenderService remoteSenderService = getManager().find(RemoteModule.NAME).getService(RemoteSenderService.class); - DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); - persistenceTimer.start(daoService); - } catch (ModuleNotFoundException e) { - throw new ServiceNotProvidedException(e.getMessage()); - } + QueueCreatorService queueCreatorService = getManager().find(QueueModule.NAME).getService(QueueCreatorService.class); + RemoteSenderService remoteSenderService = getManager().find(RemoteModule.NAME).getService(RemoteSenderService.class); + DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); + persistenceTimer.start(daoService); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java index 590eebe78..81c49ca71 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java @@ -18,9 +18,8 @@ package org.skywalking.apm.collector.stream.worker.base; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.base.QueueExecutor; -import org.skywalking.apm.collector.storage.service.DAOService; /** * The AbstractLocalAsyncWorker implementations represent workers, @@ -31,8 +30,8 @@ import org.skywalking.apm.collector.storage.service.DAOService; */ public abstract class AbstractLocalAsyncWorker extends AbstractWorker implements QueueExecutor { - public AbstractLocalAsyncWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public AbstractLocalAsyncWorker(ModuleManager moduleManager) { + super(moduleManager); } /** diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java index 679170e07..64d89696c 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java @@ -18,11 +18,10 @@ package org.skywalking.apm.collector.stream.worker.base; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.queue.base.QueueEventHandler; import org.skywalking.apm.collector.queue.base.QueueExecutor; import org.skywalking.apm.collector.queue.service.QueueCreatorService; -import org.skywalking.apm.collector.storage.service.DAOService; /** * @author peng-yongsheng @@ -33,15 +32,15 @@ public abstract class AbstractLocalAsyncWorkerProvider queueCreatorService; - public AbstractLocalAsyncWorkerProvider(DAOService daoService, CacheServiceManager cacheServiceManager, + public AbstractLocalAsyncWorkerProvider(ModuleManager moduleManager, QueueCreatorService queueCreatorService) { - super(daoService, cacheServiceManager); + super(moduleManager); this.queueCreatorService = queueCreatorService; } @Override public final WorkerRef create(WorkerCreateListener workerCreateListener) { - WORKER_TYPE localAsyncWorker = workerInstance(getDaoService(), getCacheServiceManager()); + WORKER_TYPE localAsyncWorker = workerInstance(getModuleManager()); workerCreateListener.addWorker(localAsyncWorker); QueueEventHandler queueEventHandler = queueCreatorService.create(queueSize(), localAsyncWorker); return new LocalAsyncWorkerRef<>(localAsyncWorker, queueEventHandler); diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java index 07fbd1eb3..4718a3c29 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.stream.worker.base; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.core.data.Data; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.Selector; -import org.skywalking.apm.collector.storage.service.DAOService; /** * The AbstractRemoteWorker implementations represent workers, @@ -34,8 +33,8 @@ import org.skywalking.apm.collector.storage.service.DAOService; */ public abstract class AbstractRemoteWorker extends AbstractWorker { - public AbstractRemoteWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public AbstractRemoteWorker(ModuleManager moduleManager) { + super(moduleManager); } public abstract Selector selector(); diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java index 5a3afaccb..ddb06ef47 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.stream.worker.base; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.core.data.Data; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.remote.service.RemoteSenderService; -import org.skywalking.apm.collector.storage.service.DAOService; /** * The AbstractRemoteWorkerProvider implementations represent providers, @@ -36,9 +35,9 @@ public abstract class AbstractRemoteWorkerProvider(remoteWorker, remoteSenderService, graphId); } diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java index 328c5b09d..48539dcc4 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java @@ -18,10 +18,9 @@ package org.skywalking.apm.collector.stream.worker.base; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.core.graph.Next; import org.skywalking.apm.collector.core.graph.NodeProcessor; -import org.skywalking.apm.collector.storage.service.DAOService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,20 +31,14 @@ public abstract class AbstractWorker implements NodeProcessor next; diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java index 29afdb0ce..8d4d5c66b 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java @@ -18,29 +18,22 @@ package org.skywalking.apm.collector.stream.worker.base; -import org.skywalking.apm.collector.cache.CacheServiceManager; -import org.skywalking.apm.collector.storage.service.DAOService; +import org.skywalking.apm.collector.core.module.ModuleManager; /** * @author peng-yongsheng */ public abstract class AbstractWorkerProvider> implements Provider { - private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; + private final ModuleManager moduleManager; - public AbstractWorkerProvider(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public AbstractWorkerProvider(ModuleManager moduleManager) { + this.moduleManager = moduleManager; } - public final DAOService getDaoService() { - return daoService; + public final ModuleManager getModuleManager() { + return moduleManager; } - public final CacheServiceManager getCacheServiceManager() { - return cacheServiceManager; - } - - public abstract WORKER_TYPE workerInstance(DAOService daoService, CacheServiceManager cacheServiceManager); + public abstract WORKER_TYPE workerInstance(ModuleManager moduleManager); } diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java index 32d94975b..2da917796 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java @@ -18,9 +18,8 @@ package org.skywalking.apm.collector.stream.worker.impl; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.core.data.Data; -import org.skywalking.apm.collector.storage.service.DAOService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.stream.worker.base.AbstractLocalAsyncWorker; import org.skywalking.apm.collector.stream.worker.base.WorkerException; import org.skywalking.apm.collector.stream.worker.impl.data.DataCache; @@ -37,8 +36,8 @@ public abstract class AggregationWorker private DataCache dataCache; private int messageNum; - public AggregationWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public AggregationWorker(ModuleManager moduleManager) { + super(moduleManager); this.dataCache = new DataCache(); } diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java index 7e2a22c30..53e415621 100644 --- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java +++ b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java @@ -21,9 +21,10 @@ package org.skywalking.apm.collector.stream.worker.impl; import java.util.LinkedList; import java.util.List; import java.util.Map; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.core.data.Data; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.ObjectUtils; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.base.dao.IBatchDAO; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -41,10 +42,12 @@ public abstract class PersistenceWorker private final Logger logger = LoggerFactory.getLogger(PersistenceWorker.class); private final DataCache dataCache; + private final DAOService daoService; - public PersistenceWorker(DAOService daoService, CacheServiceManager cacheServiceManager) { - super(daoService, cacheServiceManager); + public PersistenceWorker(ModuleManager moduleManager) { + super(moduleManager); this.dataCache = new DataCache(); + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); } public final void flushAndSwitch() { @@ -64,7 +67,7 @@ public abstract class PersistenceWorker dataCache.switchPointer(); List collection = buildBatchCollection(); - IBatchDAO dao = (IBatchDAO)getDaoService().get(IBatchDAO.class); + IBatchDAO dao = (IBatchDAO)daoService.get(IBatchDAO.class); dao.batchPersistence(collection); } } finally { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java index 3ef17383a..59212d93f 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java @@ -20,12 +20,10 @@ package org.skywalking.apm.collector.ui.jetty; import java.util.Properties; import org.skywalking.apm.collector.cache.CacheModule; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.cluster.ClusterModule; import org.skywalking.apm.collector.cluster.service.ModuleListenerService; import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; import org.skywalking.apm.collector.core.module.Module; -import org.skywalking.apm.collector.core.module.ModuleNotFoundException; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; import org.skywalking.apm.collector.jetty.manager.JettyManagerModule; @@ -34,7 +32,6 @@ import org.skywalking.apm.collector.naming.NamingModule; import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService; import org.skywalking.apm.collector.server.Server; import org.skywalking.apm.collector.storage.StorageModule; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.ui.UIModule; import org.skywalking.apm.collector.ui.jetty.handler.SegmentTopGetHandler; import org.skywalking.apm.collector.ui.jetty.handler.SpanGetHandler; @@ -77,28 +74,20 @@ public class UIModuleJettyProvider extends ModuleProvider { String host = config.getProperty(HOST); Integer port = (Integer)config.get(PORT); String contextPath = config.getProperty(CONTEXT_PATH); - try { - ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); - moduleRegisterService.register(UIModule.NAME, this.name(), new UIModuleJettyRegistration(host, port, contextPath)); - UIJettyNamingListener namingListener = new UIJettyNamingListener(); - ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); - moduleListenerService.addListener(namingListener); + ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class); + moduleRegisterService.register(UIModule.NAME, this.name(), new UIModuleJettyRegistration(host, port, contextPath)); - NamingHandlerRegisterService namingHandlerRegisterService = getManager().find(NamingModule.NAME).getService(NamingHandlerRegisterService.class); - namingHandlerRegisterService.register(new UIJettyNamingHandler(namingListener)); + UIJettyNamingListener namingListener = new UIJettyNamingListener(); + ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class); + moduleListenerService.addListener(namingListener); - CacheServiceManager cacheServiceManager = new CacheServiceManager(); - cacheServiceManager.init(getManager()); + NamingHandlerRegisterService namingHandlerRegisterService = getManager().find(NamingModule.NAME).getService(NamingHandlerRegisterService.class); + namingHandlerRegisterService.register(new UIJettyNamingHandler(namingListener)); - DAOService daoService = getManager().find(StorageModule.NAME).getService(DAOService.class); - - JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class); - Server jettyServer = managerService.createIfAbsent(host, port, contextPath); - addHandlers(daoService, jettyServer, cacheServiceManager); - } catch (ModuleNotFoundException e) { - throw new ServiceNotProvidedException(e.getMessage()); - } + JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class); + Server jettyServer = managerService.createIfAbsent(host, port, contextPath); + addHandlers(jettyServer); } @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { @@ -109,19 +98,19 @@ public class UIModuleJettyProvider extends ModuleProvider { return new String[] {ClusterModule.NAME, JettyManagerModule.NAME, NamingModule.NAME, CacheModule.NAME, StorageModule.NAME}; } - private void addHandlers(DAOService daoService, Server jettyServer, CacheServiceManager cacheServiceManager) { - jettyServer.addHandler(new ApplicationsGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new InstanceHealthGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new InstanceMetricGetOneTimeBucketHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new InstanceMetricGetRangeTimeBucketHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new InstanceOsInfoGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new EntryServiceGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new ServiceTreeGetByIdHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new AllInstanceLastTimeGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new OneInstanceLastTimeGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new SegmentTopGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new SpanGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new TraceDagGetHandler(daoService, cacheServiceManager)); - jettyServer.addHandler(new TraceStackGetHandler(daoService, cacheServiceManager)); + private void addHandlers(Server jettyServer) { + jettyServer.addHandler(new ApplicationsGetHandler(getManager())); + jettyServer.addHandler(new InstanceHealthGetHandler(getManager())); + jettyServer.addHandler(new InstanceMetricGetOneTimeBucketHandler(getManager())); + jettyServer.addHandler(new InstanceMetricGetRangeTimeBucketHandler(getManager())); + jettyServer.addHandler(new InstanceOsInfoGetHandler(getManager())); + jettyServer.addHandler(new EntryServiceGetHandler(getManager())); + jettyServer.addHandler(new ServiceTreeGetByIdHandler(getManager())); + jettyServer.addHandler(new AllInstanceLastTimeGetHandler(getManager())); + jettyServer.addHandler(new OneInstanceLastTimeGetHandler(getManager())); + jettyServer.addHandler(new SegmentTopGetHandler(getManager())); + jettyServer.addHandler(new SpanGetHandler(getManager())); + jettyServer.addHandler(new TraceDagGetHandler(getManager())); + jettyServer.addHandler(new TraceStackGetHandler(getManager())); } } diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SegmentTopGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SegmentTopGetHandler.java index 7c1eb885a..08648d3e8 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SegmentTopGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SegmentTopGetHandler.java @@ -20,12 +20,11 @@ package org.skywalking.apm.collector.ui.jetty.handler; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.StringUtils; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; import org.skywalking.apm.collector.storage.dao.ISegmentCostUIDAO; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.SegmentTopService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,8 +42,8 @@ public class SegmentTopGetHandler extends JettyHandler { private final SegmentTopService service; - public SegmentTopGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new SegmentTopService(daoService, cacheServiceManager); + public SegmentTopGetHandler(ModuleManager moduleManager) { + this.service = new SegmentTopService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SpanGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SpanGetHandler.java index 32502d1c6..3d66cd4df 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SpanGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/SpanGetHandler.java @@ -20,10 +20,9 @@ package org.skywalking.apm.collector.ui.jetty.handler; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.SpanService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +40,8 @@ public class SpanGetHandler extends JettyHandler { private final SpanService service; - public SpanGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new SpanService(daoService, cacheServiceManager); + public SpanGetHandler(ModuleManager moduleManager) { + this.service = new SpanService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceDagGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceDagGetHandler.java index ff499a5e4..e56c44a46 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceDagGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceDagGetHandler.java @@ -20,10 +20,9 @@ package org.skywalking.apm.collector.ui.jetty.handler; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.TraceDagService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +40,8 @@ public class TraceDagGetHandler extends JettyHandler { private final TraceDagService service; - public TraceDagGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new TraceDagService(daoService, cacheServiceManager); + public TraceDagGetHandler(ModuleManager moduleManager) { + this.service = new TraceDagService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceStackGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceStackGetHandler.java index ed98765f1..e8b98fc6e 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceStackGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/TraceStackGetHandler.java @@ -20,10 +20,9 @@ package org.skywalking.apm.collector.ui.jetty.handler; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.TraceStackService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +40,8 @@ public class TraceStackGetHandler extends JettyHandler { private final TraceStackService service; - public TraceStackGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new TraceStackService(daoService, cacheServiceManager); + public TraceStackGetHandler(ModuleManager moduleManager) { + this.service = new TraceStackService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/application/ApplicationsGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/application/ApplicationsGetHandler.java index 2b038a8ac..5a400451c 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/application/ApplicationsGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/application/ApplicationsGetHandler.java @@ -20,11 +20,10 @@ package org.skywalking.apm.collector.ui.jetty.handler.application; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.collector.ui.service.ApplicationService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +40,8 @@ public class ApplicationsGetHandler extends JettyHandler { private final ApplicationService applicationService; - public ApplicationsGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.applicationService = new ApplicationService(daoService, cacheServiceManager); + public ApplicationsGetHandler(ModuleManager moduleManager) { + this.applicationService = new ApplicationService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancehealth/InstanceHealthGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancehealth/InstanceHealthGetHandler.java index a3c17ff2c..1d547dc8d 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancehealth/InstanceHealthGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancehealth/InstanceHealthGetHandler.java @@ -22,10 +22,9 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.InstanceHealthService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,8 +42,8 @@ public class InstanceHealthGetHandler extends JettyHandler { private final InstanceHealthService service; - public InstanceHealthGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new InstanceHealthService(daoService, cacheServiceManager); + public InstanceHealthGetHandler(ModuleManager moduleManager) { + this.service = new InstanceHealthService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetOneTimeBucketHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetOneTimeBucketHandler.java index 6d3482b70..db3136ade 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetOneTimeBucketHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetOneTimeBucketHandler.java @@ -22,10 +22,9 @@ import com.google.gson.JsonElement; import java.util.LinkedHashSet; import java.util.Set; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.InstanceJVMService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,8 +42,8 @@ public class InstanceMetricGetOneTimeBucketHandler extends JettyHandler { private final InstanceJVMService service; - public InstanceMetricGetOneTimeBucketHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new InstanceJVMService(daoService, cacheServiceManager); + public InstanceMetricGetOneTimeBucketHandler(ModuleManager moduleManager) { + this.service = new InstanceJVMService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetRangeTimeBucketHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetRangeTimeBucketHandler.java index 683a79346..543b1803f 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetRangeTimeBucketHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceMetricGetRangeTimeBucketHandler.java @@ -22,10 +22,9 @@ import com.google.gson.JsonElement; import java.util.LinkedHashSet; import java.util.Set; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.InstanceJVMService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,8 +42,8 @@ public class InstanceMetricGetRangeTimeBucketHandler extends JettyHandler { private final InstanceJVMService service; - public InstanceMetricGetRangeTimeBucketHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new InstanceJVMService(daoService, cacheServiceManager); + public InstanceMetricGetRangeTimeBucketHandler(ModuleManager moduleManager) { + this.service = new InstanceJVMService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceOsInfoGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceOsInfoGetHandler.java index 6da9011a7..cadd8d593 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceOsInfoGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/instancemetric/InstanceOsInfoGetHandler.java @@ -20,10 +20,9 @@ package org.skywalking.apm.collector.ui.jetty.handler.instancemetric; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.InstanceJVMService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +40,8 @@ public class InstanceOsInfoGetHandler extends JettyHandler { private final InstanceJVMService service; - public InstanceOsInfoGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new InstanceJVMService(daoService, cacheServiceManager); + public InstanceOsInfoGetHandler(ModuleManager moduleManager) { + this.service = new InstanceJVMService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/EntryServiceGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/EntryServiceGetHandler.java index ddee2c4c8..92e3ce48f 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/EntryServiceGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/EntryServiceGetHandler.java @@ -20,10 +20,9 @@ package org.skywalking.apm.collector.ui.jetty.handler.servicetree; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.ServiceTreeService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +40,8 @@ public class EntryServiceGetHandler extends JettyHandler { private final ServiceTreeService service; - public EntryServiceGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new ServiceTreeService(daoService, cacheServiceManager); + public EntryServiceGetHandler(ModuleManager moduleManager) { + this.service = new ServiceTreeService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/ServiceTreeGetByIdHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/ServiceTreeGetByIdHandler.java index d62c5170c..26eb335ba 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/ServiceTreeGetByIdHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/servicetree/ServiceTreeGetByIdHandler.java @@ -20,10 +20,9 @@ package org.skywalking.apm.collector.ui.jetty.handler.servicetree; import com.google.gson.JsonElement; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.ServiceTreeService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +40,8 @@ public class ServiceTreeGetByIdHandler extends JettyHandler { private final ServiceTreeService service; - public ServiceTreeGetByIdHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new ServiceTreeService(daoService, cacheServiceManager); + public ServiceTreeGetByIdHandler(ModuleManager moduleManager) { + this.service = new ServiceTreeService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java index a401244c9..0b931c132 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/AllInstanceLastTimeGetHandler.java @@ -22,11 +22,10 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import java.util.Calendar; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.TimeSynchronousService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,8 +43,8 @@ public class AllInstanceLastTimeGetHandler extends JettyHandler { private final TimeSynchronousService service; - public AllInstanceLastTimeGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new TimeSynchronousService(daoService, cacheServiceManager); + public AllInstanceLastTimeGetHandler(ModuleManager moduleManager) { + this.service = new TimeSynchronousService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/OneInstanceLastTimeGetHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/OneInstanceLastTimeGetHandler.java index 2c7fea2bb..601d6048e 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/OneInstanceLastTimeGetHandler.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/time/OneInstanceLastTimeGetHandler.java @@ -21,10 +21,9 @@ package org.skywalking.apm.collector.ui.jetty.handler.time; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import javax.servlet.http.HttpServletRequest; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.server.jetty.ArgumentsParseException; import org.skywalking.apm.collector.server.jetty.JettyHandler; -import org.skywalking.apm.collector.storage.service.DAOService; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.ui.service.TimeSynchronousService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,8 +41,8 @@ public class OneInstanceLastTimeGetHandler extends JettyHandler { private final TimeSynchronousService service; - public OneInstanceLastTimeGetHandler(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.service = new TimeSynchronousService(daoService, cacheServiceManager); + public OneInstanceLastTimeGetHandler(ModuleManager moduleManager) { + this.service = new TimeSynchronousService(moduleManager); } @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ApplicationService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ApplicationService.java index 071392533..139bd754b 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ApplicationService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ApplicationService.java @@ -20,7 +20,10 @@ package org.skywalking.apm.collector.ui.service; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IInstanceUIDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -30,11 +33,11 @@ import org.skywalking.apm.collector.storage.service.DAOService; public class ApplicationService { private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; + private final ApplicationCacheService applicationCacheService; - public ApplicationService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public ApplicationService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); + this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } public JsonArray getApplications(long startTime, long endTime) { @@ -44,7 +47,7 @@ public class ApplicationService { applications.forEach(jsonElement -> { JsonObject application = jsonElement.getAsJsonObject(); int applicationId = application.get("applicationId").getAsInt(); - String applicationCode = cacheServiceManager.getApplicationCacheService().get(applicationId); + String applicationCode = applicationCacheService.get(applicationId); application.addProperty("applicationCode", applicationCode); }); return applications; diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java index 896f6aeb0..82eb9c09b 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceHealthService.java @@ -21,8 +21,11 @@ package org.skywalking.apm.collector.ui.service; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import java.util.List; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.TimeBucketUtils; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IGCMetricUIDAO; import org.skywalking.apm.collector.storage.dao.IInstPerformanceUIDAO; import org.skywalking.apm.collector.storage.dao.IInstanceUIDAO; @@ -39,11 +42,11 @@ public class InstanceHealthService { private final Logger logger = LoggerFactory.getLogger(InstanceHealthService.class); private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; + private final ApplicationCacheService applicationCacheService; - public InstanceHealthService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public InstanceHealthService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); + this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } public JsonObject getInstances(long timeBucket, int applicationId) { @@ -58,7 +61,7 @@ public class InstanceHealthService { response.add("instances", instances); instanceList.forEach(instance -> { - response.addProperty("applicationCode", cacheServiceManager.getApplicationCacheService().get(applicationId)); + response.addProperty("applicationCode", applicationCacheService.get(applicationId)); response.addProperty("applicationId", applicationId); IInstPerformanceUIDAO instPerformanceDAO = (IInstPerformanceUIDAO)daoService.get(IInstPerformanceUIDAO.class); diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java index 1f9eaaf21..276626905 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/InstanceJVMService.java @@ -21,9 +21,10 @@ package org.skywalking.apm.collector.ui.service; import com.google.gson.Gson; import com.google.gson.JsonObject; import java.util.Set; -import org.skywalking.apm.collector.cache.CacheServiceManager; import org.skywalking.apm.collector.core.UnexpectedException; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.ObjectUtils; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.ICpuMetricUIDAO; import org.skywalking.apm.collector.storage.dao.IGCMetricUIDAO; import org.skywalking.apm.collector.storage.dao.IInstPerformanceUIDAO; @@ -46,11 +47,9 @@ public class InstanceJVMService { private final Gson gson = new Gson(); private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; - public InstanceJVMService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public InstanceJVMService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); } public JsonObject getInstanceOsInfo(int instanceId) { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SegmentTopService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SegmentTopService.java index 27f9635c9..c11422c09 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SegmentTopService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SegmentTopService.java @@ -21,8 +21,9 @@ package org.skywalking.apm.collector.ui.service; import com.google.gson.JsonObject; import java.util.LinkedList; import java.util.List; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.StringUtils; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IGlobalTraceUIDAO; import org.skywalking.apm.collector.storage.dao.ISegmentCostUIDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -37,11 +38,9 @@ public class SegmentTopService { private final Logger logger = LoggerFactory.getLogger(SegmentTopService.class); private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; - public SegmentTopService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public SegmentTopService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); } public JsonObject loadTop(long startTime, long endTime, long minCost, long maxCost, String operationName, diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ServiceTreeService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ServiceTreeService.java index 2c13178ad..e02faa90f 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ServiceTreeService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/ServiceTreeService.java @@ -23,10 +23,13 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import java.util.Iterator; import java.util.Map; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.ColumnNameUtils; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.ObjectUtils; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IServiceEntryUIDAO; import org.skywalking.apm.collector.storage.dao.IServiceReferenceUIDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -39,11 +42,11 @@ import org.skywalking.apm.collector.storage.table.serviceref.ServiceReferenceTab public class ServiceTreeService { private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; + private final ApplicationCacheService applicationCacheService; - public ServiceTreeService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public ServiceTreeService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); + this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } public JsonObject loadEntryService(int applicationId, String entryServiceName, long startTime, long endTime, @@ -55,7 +58,7 @@ public class ServiceTreeService { for (JsonElement element : entryServices) { JsonObject entryService = element.getAsJsonObject(); int respApplication = entryService.get(ColumnNameUtils.INSTANCE.rename(ServiceEntryTable.COLUMN_APPLICATION_ID)).getAsInt(); - String applicationCode = cacheServiceManager.getApplicationCacheService().get(respApplication); + String applicationCode = applicationCacheService.get(respApplication); entryService.addProperty("applicationCode", applicationCode); } diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SpanService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SpanService.java index fd208519b..6fdc1afb0 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SpanService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/SpanService.java @@ -21,9 +21,13 @@ package org.skywalking.apm.collector.ui.service; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import java.util.List; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.cache.service.ServiceNameCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.StringUtils; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.ISegmentUIDAO; import org.skywalking.apm.collector.storage.service.DAOService; import org.skywalking.apm.network.proto.KeyWithStringValue; @@ -38,11 +42,13 @@ import org.skywalking.apm.network.trace.component.ComponentsDefine; public class SpanService { private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; + private final ServiceNameCacheService serviceNameCacheService; + private final ApplicationCacheService applicationCacheService; - public SpanService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public SpanService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); + this.serviceNameCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceNameCacheService.class); + this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); } public JsonObject load(String segmentId, int spanId) { @@ -55,7 +61,7 @@ public class SpanService { if (spanId == spanObject.getSpanId()) { String operationName = spanObject.getOperationName(); if (spanObject.getOperationNameId() != 0) { - String serviceName = cacheServiceManager.getServiceNameCacheService().get(spanObject.getOperationNameId()); + String serviceName = serviceNameCacheService.get(spanObject.getOperationNameId()); if (StringUtils.isNotEmpty(serviceName)) { operationName = serviceName.split(Const.ID_SPLIT)[1]; } @@ -103,7 +109,7 @@ public class SpanService { if (spanObject.getPeerId() == 0) { peerJson.addProperty("value", spanObject.getPeer()); } else { - peerJson.addProperty("value", cacheServiceManager.getServiceNameCacheService().get(spanObject.getPeerId())); + peerJson.addProperty("value", applicationCacheService.get(spanObject.getPeerId())); } tagsArray.add(peerJson); diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TimeSynchronousService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TimeSynchronousService.java index 55af010c9..1fb712a4a 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TimeSynchronousService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TimeSynchronousService.java @@ -18,7 +18,8 @@ package org.skywalking.apm.collector.ui.service; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IInstanceUIDAO; import org.skywalking.apm.collector.storage.service.DAOService; import org.slf4j.Logger; @@ -32,11 +33,9 @@ public class TimeSynchronousService { private final Logger logger = LoggerFactory.getLogger(TimeSynchronousService.class); private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; - public TimeSynchronousService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public TimeSynchronousService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); } public Long allInstanceLastTime() { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java index f292d5666..4232ded31 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceDagService.java @@ -20,7 +20,8 @@ package org.skywalking.apm.collector.ui.service; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.INodeComponentUIDAO; import org.skywalking.apm.collector.storage.dao.INodeMappingUIDAO; import org.skywalking.apm.collector.storage.dao.INodeReferenceUIDAO; @@ -36,11 +37,9 @@ public class TraceDagService { private final Logger logger = LoggerFactory.getLogger(TraceDagService.class); private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; - public TraceDagService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public TraceDagService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); } public JsonObject load(long startTime, long endTime) { diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceStackService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceStackService.java index ca7973fc4..ea492b490 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceStackService.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/service/TraceStackService.java @@ -22,11 +22,15 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import java.util.ArrayList; import java.util.List; -import org.skywalking.apm.collector.cache.CacheServiceManager; +import org.skywalking.apm.collector.cache.CacheModule; +import org.skywalking.apm.collector.cache.service.ApplicationCacheService; +import org.skywalking.apm.collector.cache.service.ServiceNameCacheService; +import org.skywalking.apm.collector.core.module.ModuleManager; import org.skywalking.apm.collector.core.util.CollectionUtils; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.core.util.ObjectUtils; import org.skywalking.apm.collector.core.util.StringUtils; +import org.skywalking.apm.collector.storage.StorageModule; import org.skywalking.apm.collector.storage.dao.IGlobalTraceUIDAO; import org.skywalking.apm.collector.storage.dao.ISegmentUIDAO; import org.skywalking.apm.collector.storage.service.DAOService; @@ -41,11 +45,13 @@ import org.skywalking.apm.network.proto.UniqueId; public class TraceStackService { private final DAOService daoService; - private final CacheServiceManager cacheServiceManager; + private final ApplicationCacheService applicationCacheService; + private final ServiceNameCacheService serviceNameCacheService; - public TraceStackService(DAOService daoService, CacheServiceManager cacheServiceManager) { - this.daoService = daoService; - this.cacheServiceManager = cacheServiceManager; + public TraceStackService(ModuleManager moduleManager) { + this.daoService = moduleManager.find(StorageModule.NAME).getService(DAOService.class); + this.applicationCacheService = moduleManager.find(CacheModule.NAME).getService(ApplicationCacheService.class); + this.serviceNameCacheService = moduleManager.find(CacheModule.NAME).getService(ServiceNameCacheService.class); } public JsonArray load(String globalTraceId) { @@ -124,14 +130,14 @@ public class TraceStackService { String operationName = spanObject.getOperationName(); if (spanObject.getOperationNameId() != 0) { - String serviceName = cacheServiceManager.getServiceNameCacheService().get(spanObject.getOperationNameId()); + String serviceName = serviceNameCacheService.get(spanObject.getOperationNameId()); if (StringUtils.isNotEmpty(serviceName)) { operationName = serviceName.split(Const.ID_SPLIT)[1]; } else { operationName = Const.EMPTY_STRING; } } - String applicationCode = cacheServiceManager.getApplicationCacheService().get(segment.getApplicationId()); + String applicationCode = applicationCacheService.get(segment.getApplicationId()); long cost = spanObject.getEndTime() - spanObject.getStartTime(); if (cost == 0) {