diff --git a/CHANGES.md b/CHANGES.md index 2b504f888..1d7d4c7c1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -37,6 +37,7 @@ Release Notes. * Fix gateway plugin async finish repeatedly when fallback url configured. * Chore: polish methods naming for `Spring-Kafka` plugins. * Remove plugins for ShardingSphere legacy version. +* Update agent plugin for ElasticJob GA version #### OAP-Backend diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/pom.xml similarity index 81% rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/pom.xml rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/pom.xml index ed4ac59b2..61238bb02 100644 --- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/pom.xml +++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/pom.xml @@ -24,15 +24,15 @@ 4.0.0 - apm-elastic-job-3.x-plugin + apm-elasticjob-3.x-plugin jar - elastic-job-3.x-plugin + elasticjob-3.x-plugin http://maven.apache.org UTF-8 - 3.0.0-alpha + 3.0.0 @@ -42,5 +42,11 @@ ${elasticjob.version} provided + + org.apache.shardingsphere.elasticjob + elasticjob-infra-common + ${elasticjob.version} + provided + diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java similarity index 78% rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java index 9c223ffb1..17f053255 100644 --- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/ElasticJobExecutorInterceptor.java @@ -18,7 +18,7 @@ package org.apache.skywalking.apm.plugin.elasticjob; -import org.apache.shardingsphere.elasticjob.api.listener.ShardingContexts; +import org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts; import org.apache.skywalking.apm.agent.core.context.ContextManager; import org.apache.skywalking.apm.agent.core.context.tag.Tags; import org.apache.skywalking.apm.agent.core.context.trace.AbstractSpan; @@ -32,22 +32,23 @@ import java.lang.reflect.Method; public class ElasticJobExecutorInterceptor implements InstanceMethodsAroundInterceptor { @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, - MethodInterceptResult result) throws Throwable { - ShardingContexts shardingContexts = (ShardingContexts) allArguments[0]; - Integer item = (Integer) allArguments[1]; + MethodInterceptResult result) { + ShardingContexts shardingContexts = (ShardingContexts) allArguments[1]; + Integer item = (Integer) allArguments[2]; String operateName = ComponentsDefine.ELASTIC_JOB.getName() + "/" + shardingContexts.getJobName(); AbstractSpan span = ContextManager.createLocalSpan(operateName); span.setComponent(ComponentsDefine.ELASTIC_JOB); Tags.LOGIC_ENDPOINT.set(span, Tags.VAL_LOCAL_SPAN_AS_LOGIC_ENDPOINT); - span.tag("item", item == null ? "" : String.valueOf(item)); - span.tag("shardingTotalCount", Integer.toString(shardingContexts.getShardingTotalCount())); - span.tag("taskId", shardingContexts.getTaskId()); - span.tag("shardingItemParameters", shardingContexts.getShardingItemParameters() == null ? "" : shardingContexts.getShardingItemParameters().toString()); + span.tag(Tags.ofKey("item"), item == null ? "" : String.valueOf(item)); + span.tag(Tags.ofKey("shardingTotalCount"), Integer.toString(shardingContexts.getShardingTotalCount())); + span.tag(Tags.ofKey("taskId"), shardingContexts.getTaskId()); + span.tag(Tags.ofKey("shardingItemParameters"), shardingContexts.getShardingItemParameters() == null ? + "" : shardingContexts.getShardingItemParameters().toString()); } @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, - Object ret) throws Throwable { + Object ret) { ContextManager.stopSpan(); return ret; } diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java similarity index 85% rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java index eb45bf39f..79ff02382 100644 --- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java +++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/elasticjob/define/ElasticJobExecutorInstrumentation.java @@ -24,6 +24,7 @@ import org.apache.skywalking.apm.agent.core.plugin.interceptor.ConstructorInterc import org.apache.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint; import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.ClassInstanceMethodsEnhancePluginDefine; import org.apache.skywalking.apm.agent.core.plugin.match.ClassMatch; +import org.apache.skywalking.apm.plugin.elasticjob.ElasticJobExecutorInterceptor; import static net.bytebuddy.matcher.ElementMatchers.named; import static net.bytebuddy.matcher.ElementMatchers.takesArgument; @@ -34,8 +35,6 @@ public class ElasticJobExecutorInstrumentation extends ClassInstanceMethodsEnhan private static final String ENHANCE_CLASS = "org.apache.shardingsphere.elasticjob.executor.ElasticJobExecutor"; - private static final String JOB_EXECUTOR_INTERCEPTOR_CLASS = "org.apache.skywalking.apm.plugin.elasticjob.ElasticJobExecutorInterceptor"; - @Override public ConstructorInterceptPoint[] getConstructorsInterceptPoints() { return new ConstructorInterceptPoint[0]; @@ -48,15 +47,16 @@ public class ElasticJobExecutorInstrumentation extends ClassInstanceMethodsEnhan @Override public ElementMatcher getMethodsMatcher() { - return named("process").and(takesArguments(3)) - .and(takesArgument(0, named("org.apache.shardingsphere.elasticjob.api.listener.ShardingContexts"))) - .and(takesArgument(1, int.class)) - .and(takesArgument(2, named("org.apache.shardingsphere.elasticjob.tracing.event.JobExecutionEvent"))); + return named("process").and(takesArguments(4)) + .and(takesArgument(0, named("org.apache.shardingsphere.elasticjob.api.JobConfiguration"))) + .and(takesArgument(1, named("org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts"))) + .and(takesArgument(2, int.class)) + .and(takesArgument(3, named("org.apache.shardingsphere.elasticjob.tracing.event.JobExecutionEvent"))); } @Override public String getMethodsInterceptor() { - return JOB_EXECUTOR_INTERCEPTOR_CLASS; + return ElasticJobExecutorInterceptor.class.getName(); } @Override diff --git a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/resources/skywalking-plugin.def b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/resources/skywalking-plugin.def similarity index 88% rename from apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/resources/skywalking-plugin.def rename to apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/resources/skywalking-plugin.def index d01c8db51..d1075fa96 100644 --- a/apm-sniffer/apm-sdk-plugin/elastic-job-3.x-plugin/src/main/resources/skywalking-plugin.def +++ b/apm-sniffer/apm-sdk-plugin/elasticjob-3.x-plugin/src/main/resources/skywalking-plugin.def @@ -14,4 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -elastic-job-3.x=org.apache.skywalking.apm.plugin.elasticjob.define.ElasticJobExecutorInstrumentation +elasticjob-3.x=org.apache.skywalking.apm.plugin.elasticjob.define.ElasticJobExecutorInstrumentation diff --git a/apm-sniffer/apm-sdk-plugin/pom.xml b/apm-sniffer/apm-sdk-plugin/pom.xml index 224c31971..075d2d302 100644 --- a/apm-sniffer/apm-sdk-plugin/pom.xml +++ b/apm-sniffer/apm-sdk-plugin/pom.xml @@ -61,7 +61,7 @@ rocketMQ-3.x-plugin rocketMQ-4.x-plugin elastic-job-2.x-plugin - elastic-job-3.x-plugin + elasticjob-3.x-plugin mongodb-2.x-plugin httpasyncclient-4.x-plugin kafka-commons diff --git a/docs/en/setup/service-agent/java-agent/Plugin-list.md b/docs/en/setup/service-agent/java-agent/Plugin-list.md index 3c54b631f..55936b67a 100644 --- a/docs/en/setup/service-agent/java-agent/Plugin-list.md +++ b/docs/en/setup/service-agent/java-agent/Plugin-list.md @@ -13,7 +13,7 @@ - dubbo - ehcache-2.x - elastic-job-2.x -- elastic-job-3.x +- elasticjob-3.x - elasticsearch-5.x - elasticsearch-6.x - elasticsearch-7.x diff --git a/docs/en/setup/service-agent/java-agent/Supported-list.md b/docs/en/setup/service-agent/java-agent/Supported-list.md index 0f9c79190..72475c495 100644 --- a/docs/en/setup/service-agent/java-agent/Supported-list.md +++ b/docs/en/setup/service-agent/java-agent/Supported-list.md @@ -98,7 +98,7 @@ metrics based on the tracing data. * [Sentinel: The Sentinel of Your Microservices](https://github.com/alibaba/Sentinel) 1.7.0 -> 1.8.1 * Scheduler * [Elastic Job](https://github.com/elasticjob/elastic-job) 2.x - * [Apache ShardingSphere-Elasticjob](https://github.com/apache/shardingsphere-elasticjob) 3.0.0-alpha + * [Apache ShardingSphere-Elasticjob](https://github.com/apache/shardingsphere-elasticjob) 3.x * [Spring @Scheduled](https://github.com/spring-projects/spring-framework) 3.1+ * [Quartz Scheduler](https://github.com/quartz-scheduler/quartz) 2.x (Optional²) * [XXL Job](https://github.com/xuxueli/xxl-job) 2.x diff --git a/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml b/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml index 1184b2574..ff091d956 100644 --- a/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml +++ b/test/plugin/scenarios/elasticjob-3.x-scenario/pom.xml @@ -31,7 +31,7 @@ UTF-8 1.8 - 3.0.0-alpha + 3.0.0 ${test.framework.version} 2.1.6.RELEASE @@ -134,4 +134,4 @@ - \ No newline at end of file + diff --git a/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list b/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list index ce26c5d41..62c408d1b 100644 --- a/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list +++ b/test/plugin/scenarios/elasticjob-3.x-scenario/support-version.list @@ -14,4 +14,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -3.0.0-alpha +3.0.0