diff --git a/apm-collector/apm-collector-core/pom.xml b/apm-collector/apm-collector-core/pom.xml
index 3ab0bc9dc..9b9a29565 100644
--- a/apm-collector/apm-collector-core/pom.xml
+++ b/apm-collector/apm-collector-core/pom.xml
@@ -18,10 +18,5 @@
gson
2.8.1
-
- net.bytebuddy
- byte-buddy
- 1.7.8
-
-
\ No newline at end of file
+
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/BootstrapFlow.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/BootstrapFlow.java
index 351339218..9cd994750 100644
--- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/BootstrapFlow.java
+++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/BootstrapFlow.java
@@ -58,9 +58,9 @@ public class BootstrapFlow {
}
}
logger.info("start the provider {} in {} module.", provider.name(), provider.getModuleName());
- provider.start(configuration.getModuleConfiguration(provider.getModuleName()).getProviderConfiguration(provider.name()));
-
provider.requiredCheck(provider.getModule().services());
+
+ provider.start(configuration.getModuleConfiguration(provider.getModuleName()).getProviderConfiguration(provider.name()));
}
}
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 6bf0d4452..b0cad6aee 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
@@ -31,7 +31,6 @@ import java.util.ServiceLoader;
*/
public class ModuleManager {
private Map loadedModules = new HashMap<>();
- private boolean isServiceInstrument = true;
/**
* Init the given modules
@@ -81,12 +80,4 @@ public class ModuleManager {
return module;
throw new ModuleNotFoundException(moduleName + " missing.");
}
-
- public boolean isServiceInstrument() {
- return isServiceInstrument;
- }
-
- public void setServiceInstrument(boolean serviceInstrument) {
- isServiceInstrument = serviceInstrument;
- }
}
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 aaa7ed165..b0d01e4ef 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
@@ -21,7 +21,6 @@ package org.skywalking.apm.collector.core.module;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
-import org.skywalking.apm.collector.core.module.instrument.ServiceInstrumentation;
/**
* The ModuleProvider is an implementation of a {@link Module}.
@@ -95,9 +94,6 @@ public abstract class ModuleProvider {
protected final void registerServiceImplementation(Class extends Service> serviceType,
Service service) throws ServiceNotProvidedException {
if (serviceType.isInstance(service)) {
- if (manager.isServiceInstrument()) {
-// service = ServiceInstrumentation.INSTANCE.buildServiceUnderMonitor(module.name(), name(), service);
- }
this.services.put(serviceType, service);
} else {
throw new ServiceNotProvidedException(serviceType + " is not implemented by " + service);
diff --git a/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleAProvider.java b/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleAProvider.java
index 332af247c..7b69ca52a 100644
--- a/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleAProvider.java
+++ b/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleAProvider.java
@@ -34,10 +34,10 @@ public class ModuleAProvider extends ModuleProvider {
@Override public void prepare(Properties config) throws ServiceNotProvidedException {
this.registerServiceImplementation(BaseModuleA.ServiceABusiness1.class, new ModuleABusiness1Impl());
+ this.registerServiceImplementation(BaseModuleA.ServiceABusiness2.class, new ModuleABusiness2Impl());
}
@Override public void start(Properties config) throws ServiceNotProvidedException {
- this.registerServiceImplementation(BaseModuleA.ServiceABusiness2.class, new ModuleABusiness2Impl());
}
@Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
diff --git a/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleBProvider.java b/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleBProvider.java
index 3b5066340..132959599 100644
--- a/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleBProvider.java
+++ b/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleBProvider.java
@@ -34,10 +34,10 @@ public class ModuleBProvider extends ModuleProvider {
@Override public void prepare(Properties config) throws ServiceNotProvidedException {
this.registerServiceImplementation(BaseModuleB.ServiceBBusiness1.class, new ModuleBBusiness1Impl());
+ this.registerServiceImplementation(BaseModuleB.ServiceBBusiness2.class, new ModuleBBusiness2Impl());
}
@Override public void start(Properties config) throws ServiceNotProvidedException {
- this.registerServiceImplementation(BaseModuleB.ServiceBBusiness2.class, new ModuleBBusiness2Impl());
}
@Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
diff --git a/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleManagerTest.java b/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleManagerTest.java
index 5965e1025..8172d59c1 100644
--- a/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleManagerTest.java
+++ b/apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/module/ModuleManagerTest.java
@@ -20,7 +20,6 @@ package org.skywalking.apm.collector.core.module;
import org.junit.Assert;
import org.junit.Test;
-import org.skywalking.apm.collector.core.module.instrument.TracedService;
/**
* @author wu-sheng
@@ -39,38 +38,4 @@ public class ModuleManagerTest {
BaseModuleA.ServiceABusiness1 serviceABusiness1 = manager.find("BaseA").provider().getService(BaseModuleA.ServiceABusiness1.class);
Assert.assertTrue(serviceABusiness1 != null);
}
-
- @Test
- public void testInstrument() throws ServiceNotProvidedException, ModuleNotFoundException, ProviderNotFoundException, DuplicateProviderException {
- ApplicationConfiguration configuration = new ApplicationConfiguration();
- configuration.addModule("Test").addProviderConfiguration("TestModule-Provider", null);
- configuration.addModule("BaseA").addProviderConfiguration("P-A", null);
- configuration.addModule("BaseB").addProviderConfiguration("P-B", null);
-
- ModuleManager manager = new ModuleManager();
- manager.setServiceInstrument(true);
- manager.init(configuration);
-
- BaseModuleA.ServiceABusiness1 serviceABusiness1 = manager.find("BaseA").getService(BaseModuleA.ServiceABusiness1.class);
-
- Assert.assertTrue(serviceABusiness1 instanceof TracedService);
-
-// for (int i = 0; i < 10000; i++)
-// serviceABusiness1.print();
-//
-// try {
-// Thread.sleep(60 * 1000L);
-// } catch (InterruptedException e) {
-// e.printStackTrace();
-// }
-//
-// for (int i = 0; i < 10000; i++)
-// serviceABusiness1.print();
-//
-// try {
-// Thread.sleep(120 * 1000L);
-// } catch (InterruptedException e) {
-// e.printStackTrace();
-// }
- }
}
diff --git a/apm-collector/apm-collector-instrument/pom.xml b/apm-collector/apm-collector-instrument/pom.xml
new file mode 100644
index 000000000..39817d613
--- /dev/null
+++ b/apm-collector/apm-collector-instrument/pom.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ apm-collector
+ org.skywalking
+ 3.2.4-2017
+
+ 4.0.0
+
+ apm-collector-instrument
+
+
+
+ org.skywalking
+ apm-collector-core
+ ${project.version}
+
+
+ net.bytebuddy
+ byte-buddy
+ 1.7.8
+
+
+
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/MetricCollector.java b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/MetricCollector.java
similarity index 99%
rename from apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/MetricCollector.java
rename to apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/MetricCollector.java
index 00c8b1617..cd5d92e4c 100644
--- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/MetricCollector.java
+++ b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/MetricCollector.java
@@ -16,7 +16,7 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.core.module.instrument;
+package org.skywalking.apm.collector.instrument;
import java.lang.reflect.Method;
import java.util.HashMap;
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/ServiceInstrumentation.java b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/ServiceInstrumentation.java
similarity index 98%
rename from apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/ServiceInstrumentation.java
rename to apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/ServiceInstrumentation.java
index a41a6232d..7589bade5 100644
--- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/ServiceInstrumentation.java
+++ b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/ServiceInstrumentation.java
@@ -16,7 +16,7 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.core.module.instrument;
+package org.skywalking.apm.collector.instrument;
import net.bytebuddy.ByteBuddy;
import net.bytebuddy.description.method.MethodDescription;
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/ServiceMetricTracing.java b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/ServiceMetricTracing.java
similarity index 97%
rename from apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/ServiceMetricTracing.java
rename to apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/ServiceMetricTracing.java
index 1f99ffc94..94052a054 100644
--- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/ServiceMetricTracing.java
+++ b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/ServiceMetricTracing.java
@@ -16,7 +16,7 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.core.module.instrument;
+package org.skywalking.apm.collector.instrument;
import java.lang.reflect.Method;
import java.util.concurrent.Callable;
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/TracedService.java b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/TracedService.java
similarity index 80%
rename from apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/TracedService.java
rename to apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/TracedService.java
index 7cec836ca..2925338c8 100644
--- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/instrument/TracedService.java
+++ b/apm-collector/apm-collector-instrument/src/main/java/org/skywalking/apm/collector/instrument/TracedService.java
@@ -16,13 +16,10 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.core.module.instrument;
-
-import org.skywalking.apm.collector.core.module.ModuleManager;
+package org.skywalking.apm.collector.instrument;
/**
- * The TracedService implementation are dynamic class, generated by {@link ServiceInstrumentation}, when
- * {@link ModuleManager#isServiceInstrument} is true.
+ * The TracedService implementation are dynamic class, generated by {@link ServiceInstrumentation}.
*
* By that, all the services metrics are collected, and report in the certain cycle through console.
*
diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml
index 048731b38..03ee98a81 100644
--- a/apm-collector/pom.xml
+++ b/apm-collector/pom.xml
@@ -45,6 +45,7 @@
apm-collector-remote
apm-collector-stream
apm-collector-queue
+ apm-collector-instrument
@@ -83,4 +84,4 @@
-
\ No newline at end of file
+