diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml index 9f6b7e9c7f687076677fdfa602a7decd6a401995..5ec0b19dd69f2783bebfeda00b27c79f8d7747e9 100644 --- a/apm-collector/apm-collector-boot/pom.xml +++ b/apm-collector/apm-collector-boot/pom.xml @@ -29,4 +29,51 @@ apm-collector-boot jar + + + + org.yaml + snakeyaml + 1.18 + + + org.skywalking + apm-collector-core + ${project.version} + + + + org.skywalking + collector-cluster-redis-provider + ${project.version} + + + org.skywalking + collector-cluster-standalone-provider + ${project.version} + + + org.skywalking + collector-cluster-zookeeper-provider + ${project.version} + + + + + org.skywalking + collector-grpc-manager-provider + ${project.version} + + + org.skywalking + collector-jetty-manager-provider + ${project.version} + + + + org.skywalking + collector-ui-jetty-provider + ${project.version} + + \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorBootStartUp.java b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorBootStartUp.java new file mode 100644 index 0000000000000000000000000000000000000000..9724ce9767b083f41bd8728e8f7f37cc08f73f26 --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/CollectorBootStartUp.java @@ -0,0 +1,54 @@ +/* + * Copyright 2017, OpenSkywalking Organization All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Project repository: https://github.com/OpenSkywalking/skywalking + */ + +package org.skywalking.apm.collector.boot; + +import org.skywalking.apm.collector.boot.config.ApplicationConfigLoader; +import org.skywalking.apm.collector.boot.config.ConfigFileNotFoundException; +import org.skywalking.apm.collector.core.module.ApplicationConfiguration; +import org.skywalking.apm.collector.core.module.ModuleManager; +import org.skywalking.apm.collector.core.module.ModuleNotFoundException; +import org.skywalking.apm.collector.core.module.ProviderNotFoundException; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author peng-yongsheng + */ +public class CollectorBootStartUp { + + public static void main(String[] args) { + final Logger logger = LoggerFactory.getLogger(CollectorBootStartUp.class); + + ApplicationConfigLoader configLoader = new ApplicationConfigLoader(); + ModuleManager manager = new ModuleManager(); + try { + ApplicationConfiguration applicationConfiguration = configLoader.load(); + manager.init(applicationConfiguration); + } catch (ConfigFileNotFoundException e) { + logger.error(e.getMessage(), e); + } catch (ModuleNotFoundException e) { + logger.error(e.getMessage(), e); + } catch (ProviderNotFoundException e) { + logger.error(e.getMessage(), e); + } catch (ServiceNotProvidedException e) { + logger.error(e.getMessage(), e); + } + } +} diff --git a/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ApplicationConfigLoader.java b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ApplicationConfigLoader.java new file mode 100644 index 0000000000000000000000000000000000000000..4b6b6a77e3753f9c00673c62342df937f690024b --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ApplicationConfigLoader.java @@ -0,0 +1,96 @@ +/* + * Copyright 2017, OpenSkywalking Organization All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Project repository: https://github.com/OpenSkywalking/skywalking + */ + +package org.skywalking.apm.collector.boot.config; + +import java.io.FileNotFoundException; +import java.io.Reader; +import java.util.Map; +import java.util.Properties; +import org.skywalking.apm.collector.core.module.ApplicationConfiguration; +import org.skywalking.apm.collector.core.util.ResourceUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.yaml.snakeyaml.Yaml; + +/** + * @author peng-yongsheng + */ +public class ApplicationConfigLoader implements ConfigLoader { + + private final Logger logger = LoggerFactory.getLogger(ApplicationConfigLoader.class); + + private final Yaml yaml = new Yaml(); + + @Override public ApplicationConfiguration load() throws ConfigFileNotFoundException { + ApplicationConfiguration configuration = new ApplicationConfiguration(); + this.loadConfig(configuration); + this.loadDefaultConfig(configuration); + return configuration; + } + + private void loadConfig(ApplicationConfiguration configuration) throws ConfigFileNotFoundException { + try { + Reader applicationReader = ResourceUtils.read("application.yml"); + Map>> moduleConfig = yaml.loadAs(applicationReader, Map.class); + moduleConfig.forEach((moduleName, providerConfig) -> { + if (providerConfig.size() > 0) { + logger.info("Get a module define from application.yml, module name: {}", moduleName); + ApplicationConfiguration.ModuleConfiguration moduleConfiguration = configuration.addModule(moduleName); + providerConfig.forEach((name, propertiesConfig) -> { + logger.info("Get a provider define belong to {} module, provider name: {}", moduleName, name); + Properties properties = new Properties(); + if (propertiesConfig != null) { + propertiesConfig.forEach((key, value) -> { + properties.put(key, value); + logger.info("The property with key: {}, value: {}, in {} provider", key, value, name); + }); + } + moduleConfiguration.addProviderConfiguration(name, properties); + }); + } else { + logger.warn("Get a module define from application.yml, but no provider define, use default, module name: {}", moduleName); + } + }); + } catch (FileNotFoundException e) { + throw new ConfigFileNotFoundException(e.getMessage(), e); + } + } + + private void loadDefaultConfig(ApplicationConfiguration configuration) throws ConfigFileNotFoundException { + try { + Reader applicationReader = ResourceUtils.read("application-default.yml"); + Map>> moduleConfig = yaml.loadAs(applicationReader, Map.class); + moduleConfig.forEach((moduleName, providerConfig) -> { + if (!configuration.has(moduleName)) { + logger.warn("The {} module did't define in application.yml, use default", moduleName); + ApplicationConfiguration.ModuleConfiguration moduleConfiguration = configuration.addModule(moduleName); + providerConfig.forEach((name, propertiesConfig) -> { + Properties properties = new Properties(); + if (propertiesConfig != null) { + propertiesConfig.forEach(properties::put); + } + moduleConfiguration.addProviderConfiguration(name, properties); + }); + } + }); + } catch (FileNotFoundException e) { + throw new ConfigFileNotFoundException(e.getMessage(), e); + } + } +} diff --git a/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ConfigFileNotFoundException.java b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ConfigFileNotFoundException.java new file mode 100644 index 0000000000000000000000000000000000000000..335ca7015fd88f4620cbd6c785a17eb595ac9ee1 --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ConfigFileNotFoundException.java @@ -0,0 +1,35 @@ +/* + * Copyright 2017, OpenSkywalking Organization All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Project repository: https://github.com/OpenSkywalking/skywalking + */ + +package org.skywalking.apm.collector.boot.config; + +import org.skywalking.apm.collector.core.CollectorException; + +/** + * @author peng-yongsheng + */ +public class ConfigFileNotFoundException extends CollectorException { + + public ConfigFileNotFoundException(String message) { + super(message); + } + + public ConfigFileNotFoundException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ConfigLoader.java b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ConfigLoader.java new file mode 100644 index 0000000000000000000000000000000000000000..ff089fc034e432a29f88bcc7fdfecb75cab7a70e --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/java/org/skywalking/apm/collector/boot/config/ConfigLoader.java @@ -0,0 +1,26 @@ +/* + * Copyright 2017, OpenSkywalking Organization All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Project repository: https://github.com/OpenSkywalking/skywalking + */ + +package org.skywalking.apm.collector.boot.config; + +/** + * @author peng-yongsheng + */ +public interface ConfigLoader { + T load() throws ConfigFileNotFoundException; +} diff --git a/apm-collector/apm-collector-boot/src/main/resources/application.yml b/apm-collector/apm-collector-boot/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..fa6855ba0fc13f28d9baed46ccc79b08c77fb7d0 --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/resources/application.yml @@ -0,0 +1,40 @@ +cluster: + zookeeper: + hostPort: localhost:2181 + sessionTimeout: 100000 +#agent_server: +# jetty: +# host: localhost +# port: 10800 +# context_path: / +#agent_stream: +# grpc: +# host: localhost +# port: 11800 +# jetty: +# host: localhost +# port: 12800 +# context_path: / +# config: +# buffer_offset_max_file_size: 10M +# buffer_segment_max_file_size: 500M +ui: + jetty: + host: localhost + port: 12800 + context_path: / +#collector_inside: +# grpc: +# host: localhost +# port: 11800 +#storage: +# elasticsearch: +# cluster_name: CollectorDBCluster +# cluster_transport_sniffer: true +# cluster_nodes: localhost:9300 +# index_shards_number: 2 +# index_replicas_number: 0 +#storage: +# h2: +# url: jdbc:h2:tcp://localhost/~/test +# user_name: sa \ No newline at end of file diff --git a/apm-collector/apm-collector-boot/src/main/resources/log4j2.xml b/apm-collector/apm-collector-boot/src/main/resources/log4j2.xml new file mode 100644 index 0000000000000000000000000000000000000000..a76ab8c13034643898799c80431670a2550fcb20 --- /dev/null +++ b/apm-collector/apm-collector-boot/src/main/resources/log4j2.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + diff --git a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java index 5491382880be00a0ea0a5e31e2b649fb46781545..30a2df87b0e5a6aff5e6940ab4fa3fff0da44bfa 100644 --- a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java +++ b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java @@ -18,6 +18,7 @@ package org.skywalking.apm.collector.cluster; +import org.skywalking.apm.collector.cluster.service.ModuleListenerService; import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; import org.skywalking.apm.collector.cluster.service.ModuleRegistrationGetService; import org.skywalking.apm.collector.core.module.Module; @@ -28,13 +29,13 @@ import org.skywalking.apm.collector.core.module.Service; */ public class ClusterModule extends Module { - public static final String NAME = "Cluster"; + public static final String NAME = "cluster"; @Override public String name() { return NAME; } @Override public Class[] services() { - return new Class[] {ModuleRegisterService.class, ModuleRegistrationGetService.class}; + return new Class[] {ModuleListenerService.class, ModuleRegisterService.class, ModuleRegistrationGetService.class}; } } diff --git a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java index c067d8d3d62b7fbf309b48765c925e0d0bd269aa..084958d319cbdfb06861e3eebb1b5b39101e5e8b 100644 --- a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java +++ b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java @@ -18,6 +18,7 @@ package org.skywalking.apm.collector.cluster.redis.service; +import org.skywalking.apm.collector.cluster.ModuleRegistration; import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; /** @@ -25,7 +26,7 @@ import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; */ public class RedisModuleRegisterService implements ModuleRegisterService { - @Override public void register(String moduleName, String providerName, String address, String others) { + @Override public void register(String moduleName, String providerName, ModuleRegistration registration) { } } diff --git a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java index 0538d51c793c4210f59a9e10c80a566afa84e098..13d1f491dc90ff9d563b00f18b69b569982c54cf 100644 --- a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java +++ b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java @@ -18,6 +18,7 @@ package org.skywalking.apm.collector.cluster.standalone.service; +import org.skywalking.apm.collector.cluster.ModuleRegistration; import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; /** @@ -25,7 +26,7 @@ import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; */ public class StandaloneModuleRegisterService implements ModuleRegisterService { - @Override public void register(String moduleName, String providerName, String address, String others) { - + @Override public void register(String moduleName, String providerName, ModuleRegistration registration) { + } } diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java index f8411bb9ca6f64c21b527876a52567da10642e6b..1b0037f2c248fd37133a2741085add8b51599e20 100644 --- a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java +++ b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java @@ -55,8 +55,8 @@ public class ClusterModuleZookeeperProvider extends ModuleProvider { dataMonitor = new ClusterZKDataMonitor(); final String hostPort = config.getProperty(HOST_PORT); - final String sessionTimeout = config.getProperty(SESSION_TIMEOUT); - ZookeeperClient zookeeperClient = new ZookeeperClient(hostPort, Integer.valueOf(sessionTimeout), dataMonitor); + final int sessionTimeout = (Integer)config.get(SESSION_TIMEOUT); + ZookeeperClient zookeeperClient = new ZookeeperClient(hostPort, sessionTimeout, dataMonitor); dataMonitor.setClient(zookeeperClient); this.registerServiceImplementation(ModuleListenerService.class, new ZookeeperModuleListenerService(dataMonitor)); diff --git a/apm-collector/apm-collector-core/pom.xml b/apm-collector/apm-collector-core/pom.xml index 5c19df2da02291e98b5663a52f7c6ac91ef2a9dc..4cb512837614de4922671024b581691d645b6535 100644 --- a/apm-collector/apm-collector-core/pom.xml +++ b/apm-collector/apm-collector-core/pom.xml @@ -13,11 +13,6 @@ jar - - org.yaml - snakeyaml - 1.18 - com.google.code.gson gson diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ApplicationConfiguration.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ApplicationConfiguration.java index db1fb0af030a5c06057863ca3fd588aa919124db..e41786381991d3f4ff29560b2de73a254bbafe6a 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ApplicationConfiguration.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ApplicationConfiguration.java @@ -24,7 +24,7 @@ import java.util.Properties; /** * Modulization configurations. The {@link ModuleManager} is going to start, lookup, start modules based on this. * - * @author wu-sheng + * @author wu-sheng, peng-yongsheng */ public class ApplicationConfiguration { private HashMap modules = new HashMap<>(); @@ -39,6 +39,10 @@ public class ApplicationConfiguration { return newModule; } + public boolean has(String moduleName) { + return modules.containsKey(moduleName); + } + public ModuleConfiguration getModuleConfiguration(String name) { return modules.get(name); } @@ -56,6 +60,10 @@ public class ApplicationConfiguration { return providers.get(name).getProperties(); } + public boolean has(String name) { + return providers.containsKey(name); + } + public ModuleConfiguration addProviderConfiguration(String name, Properties properties) { ProviderConfiguration newProvider = new ProviderConfiguration(properties); providers.put(name, newProvider); 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 9fb70de587fcb24a5fcb42b12b120e00a008ffbe..fc99c9a1f91b397f4dd51e527d3c261c3642198c 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 @@ -21,6 +21,8 @@ package org.skywalking.apm.collector.core.module; import java.util.LinkedList; import java.util.List; import java.util.ServiceLoader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * A module definition. @@ -28,6 +30,9 @@ import java.util.ServiceLoader; * @author wu-sheng, peng-yongsheng */ public abstract class Module { + + private final Logger logger = LoggerFactory.getLogger(Module.class); + private LinkedList loadedProviders = new LinkedList<>(); /** @@ -52,6 +57,10 @@ public abstract class Module { ServiceLoader moduleProviderLoader = ServiceLoader.load(ModuleProvider.class); boolean providerExist = false; for (ModuleProvider provider : moduleProviderLoader) { + if (!configuration.has(provider.name())) { + continue; + } + providerExist = true; if (provider.module().equals(getClass())) { ModuleProvider newProvider; @@ -69,10 +78,11 @@ public abstract class Module { } if (!providerExist) { - throw new ProviderNotFoundException("no provider exists."); + throw new ProviderNotFoundException(this.name() + " module no provider exists."); } for (ModuleProvider moduleProvider : loadedProviders) { + logger.info("Prepare the {} provider in {} module.", moduleProvider.name(), this.name()); moduleProvider.prepare(configuration.getProviderConfiguration(moduleProvider.name())); } } @@ -105,7 +115,7 @@ public abstract class Module { */ final List providers() throws ProviderNotFoundException { if (loadedProviders.size() == 0) { - throw new ProviderNotFoundException("no provider exists."); + throw new ProviderNotFoundException(this.name() + " module no provider exists."); } return loadedProviders; @@ -113,9 +123,9 @@ public abstract class Module { final ModuleProvider provider() throws ProviderNotFoundException, DuplicateProviderException { if (loadedProviders.size() == 0) { - throw new ProviderNotFoundException("no provider exists."); + throw new ProviderNotFoundException(this.name() + " module no provider exists."); } else if (loadedProviders.size() > 1) { - throw new DuplicateProviderException("exist " + loadedProviders.size() + " providers"); + throw new DuplicateProviderException(this.name() + " module exist " + loadedProviders.size() + " providers"); } return loadedProviders.getFirst(); diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java index 43e52ef8056e167575b8b3b5d483146d6102b892..2b48ecbec7f1681e6b42a208054f815c79c2a9f3 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java @@ -121,7 +121,7 @@ public abstract class ModuleProvider { } if (requiredServices.length != services.size()) { - throw new ServiceNotProvidedException("Provide more service implementations than Module requirements."); + throw new ServiceNotProvidedException("The " + this.name() + " provider in " + module.name() + " module provide more service implementations than Module requirements."); } } diff --git a/apm-collector/apm-collector-core/src/main/resources/application-default.yml b/apm-collector/apm-collector-core/src/main/resources/application-default.yml new file mode 100644 index 0000000000000000000000000000000000000000..047e4dff949d55032aab714b300dd8e1b620669d --- /dev/null +++ b/apm-collector/apm-collector-core/src/main/resources/application-default.yml @@ -0,0 +1,39 @@ +cluster: + h2: + hostPort: localhost:2181 + sessionTimeout: 100000 +#agent_server: +# jetty: +# host: localhost +# port: 10800 +# context_path: / +#agent_stream: +# grpc: +# host: localhost +# port: 11800 +# jetty: +# host: localhost +# port: 12800 +# context_path: / +# config: +# buffer_offset_max_file_size: 10M +# buffer_segment_max_file_size: 500M +ui: + jetty: + host: localhost + port: 12800 + context_path: / +server_manager: + jetty: + gRPC: +#collector_inside: +# grpc: +# host: localhost +# port: 11800 +#storage: +# elasticsearch: +# cluster_name: CollectorDBCluster +# cluster_transport_sniffer: true +# cluster_nodes: localhost:9300 +# index_shards_number: 2 +# index_replicas_number: 0 \ No newline at end of file diff --git a/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java index 2554f269cd64dc43a5e5c3dbc1c9d55b58fb424a..e760b30bd8900c1fba022774a89ea6378cf68825 100644 --- a/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java +++ b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java @@ -32,7 +32,7 @@ import org.skywalking.apm.collector.server.manager.service.GRPCServerManagerServ public class ServerManagerModuleGRPCProvider extends ModuleProvider { @Override public String name() { - return "Google_RPC"; + return "gRPC"; } @Override public Class module() { @@ -43,7 +43,11 @@ public class ServerManagerModuleGRPCProvider extends ModuleProvider { this.registerServiceImplementation(GRPCServerManagerService.class, new GRPCServerService()); } - @Override public void init(Properties config) throws ServiceNotProvidedException { + @Override public void start(Properties config) throws ServiceNotProvidedException { + + } + + @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { } diff --git a/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java index f1780a99d9db5f65332c975d82ceb82c9007cdbe..7ebc153d573e4c7158517c92ea6e3b510ddcf4a7 100644 --- a/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java +++ b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java @@ -32,7 +32,7 @@ import org.skywalking.apm.collector.server.manager.service.JettyServerManagerSer public class ServerManagerModuleJettyProvider extends ModuleProvider { @Override public String name() { - return "Jetty"; + return "jetty"; } @Override public Class module() { @@ -43,7 +43,11 @@ public class ServerManagerModuleJettyProvider extends ModuleProvider { this.registerServiceImplementation(JettyServerManagerService.class, new JettyServerService()); } - @Override public void init(Properties config) throws ServiceNotProvidedException { + @Override public void start(Properties config) throws ServiceNotProvidedException { + + } + + @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { } diff --git a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java index affdd437a158ef15599ddfb032f9e2d4474977ba..286ff4404ffb70e6544d56a594f0b7ad179b748c 100644 --- a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java @@ -27,7 +27,7 @@ import org.skywalking.apm.collector.server.manager.service.JettyServerManagerSer */ public class ServerManagerModule extends Module { - public static final String NAME = "Server_Manager"; + public static final String NAME = "server_manager"; @Override public String name() { return NAME; diff --git a/apm-collector/apm-collector-ui/collector-ui-define/src/main/java/org/skywalking/apm/collector/ui/UIModule.java b/apm-collector/apm-collector-ui/collector-ui-define/src/main/java/org/skywalking/apm/collector/ui/UIModule.java index 7ce129a9fc2c74d8fc64da88688676b6c3e63177..ff50629ab755c0a1f106b04ca744fd44e60b8a88 100644 --- a/apm-collector/apm-collector-ui/collector-ui-define/src/main/java/org/skywalking/apm/collector/ui/UIModule.java +++ b/apm-collector/apm-collector-ui/collector-ui-define/src/main/java/org/skywalking/apm/collector/ui/UIModule.java @@ -25,7 +25,7 @@ import org.skywalking.apm.collector.core.module.Module; */ public class UIModule extends Module { - public static final String NAME = "Naming"; + public static final String NAME = "ui"; @Override public String name() { return NAME; 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 dbcf3158a3fce9b1541379983711cbc4a943b970..06ea4663079d2e2c79554da1e35c9bf623ac0bee 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 @@ -40,8 +40,10 @@ public class UIModuleJettyProvider extends ModuleProvider { private static final String PORT = "port"; private static final String CONTEXT_PATH = "context_path"; + private JettyServerConfig serverConfig; + @Override public String name() { - return "Jetty"; + return "jetty"; } @Override public Class module() { @@ -50,10 +52,12 @@ public class UIModuleJettyProvider extends ModuleProvider { @Override public void prepare(Properties config) throws ServiceNotProvidedException { String host = config.getProperty(HOST); - String port = config.getProperty(PORT); + Integer port = (Integer)config.get(PORT); String contextPath = config.getProperty(CONTEXT_PATH); - JettyServerConfig serverConfig = new JettyServerConfig(host, Integer.valueOf(port), contextPath); + serverConfig = new JettyServerConfig(host, port, contextPath); + } + @Override public void start(Properties config) throws ServiceNotProvidedException { try { JettyServerManagerService managerService = getManager().find(ServerManagerModule.NAME).getService(JettyServerManagerService.class); Server jettyServer = managerService.getElseCreateServer(serverConfig); @@ -64,10 +68,6 @@ public class UIModuleJettyProvider extends ModuleProvider { } } - @Override public void start(Properties config) throws ServiceNotProvidedException { - - } - @Override public void notifyAfterCompleted() throws ServiceNotProvidedException { }