From d7a2a198e0b06260633767d5668674df1fefe29c Mon Sep 17 00:00:00 2001 From: wusheng Date: Mon, 13 Nov 2017 00:35:45 +0800 Subject: [PATCH] Move instruments into an independency module in collector, named `apm-collector-instrument`. --- apm-collector/apm-collector-core/pom.xml | 7 +-- .../collector/core/module/ModuleProvider.java | 1 - .../core/module/ModuleManagerTest.java | 34 -------------- .../apm-collector-instrument/pom.xml | 44 +++++++++++++++++++ .../instrument/MetricCollector.java | 2 +- .../instrument/ServiceInstrumentation.java | 3 +- .../instrument/ServiceMetricTracing.java | 2 +- .../collector}/instrument/TracedService.java | 7 +-- apm-collector/pom.xml | 3 +- 9 files changed, 53 insertions(+), 50 deletions(-) create mode 100644 apm-collector/apm-collector-instrument/pom.xml rename apm-collector/{apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module => apm-collector-instrument/src/main/java/org/skywalking/apm/collector}/instrument/MetricCollector.java (99%) rename apm-collector/{apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module => apm-collector-instrument/src/main/java/org/skywalking/apm/collector}/instrument/ServiceInstrumentation.java (97%) rename apm-collector/{apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module => apm-collector-instrument/src/main/java/org/skywalking/apm/collector}/instrument/ServiceMetricTracing.java (97%) rename apm-collector/{apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module => apm-collector-instrument/src/main/java/org/skywalking/apm/collector}/instrument/TracedService.java (80%) 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/ModuleProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java index d1df2c3c6..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}. 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 45d767663..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,37 +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.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 97% 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..5ead66cdb 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,12 +16,13 @@ * 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; import net.bytebuddy.implementation.MethodDelegation; import net.bytebuddy.matcher.ElementMatcher; +import net.bytebuddy.matcher.ElementMatchers; import org.skywalking.apm.collector.core.module.Service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 + -- GitLab