You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2020/09/13 05:33:52 UTC
[skywalking] branch source-tls updated (a947992 -> 14b0956)
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a change to branch source-tls
in repository https://gitbox.apache.org/repos/asf/skywalking.git.
from a947992 Polish code
add 10fe6b2 fix plugin test (#5456)
add c89e766 Fix the bug #5443 and add documents for the local E2E remote debugging. (#5457)
add 1b5dd9b Move spring webflux into optional plugin (#5445)
add 29de696 exception-ignore-plugin (#5426)
add efd0808 fix jvm heap memory aggregation number to 1048576 (#5473)
add c408cf9 Alarm support wechat webhook (#5474)
add 14b0956 Merge branch 'master' into source-tls
No new revisions were added by this update.
Summary of changes:
.github/workflows/plugins-test.0.yaml | 2 +
.../apm/toolkit/trace/IgnoredException.java | 25 ++--
.../skywalking/apm/agent/core/conf/Config.java | 16 ++-
.../AnnotationMatchExceptionCheckStrategy.java} | 18 ++-
.../core/context/status/ExceptionCheckContext.java | 50 +++++++
.../context/status/ExceptionCheckStrategy.java} | 13 +-
.../HierarchyMatchExceptionCheckStrategy.java | 46 +++++++
.../context/status/OffExceptionCheckStrategy.java | 24 ++--
.../core/context/status/StatusCheckService.java | 69 ++++++++++
.../agent/core/context/status/StatusChecker.java | 90 +++++++++++++
.../core/context/trace/AbstractTracingSpan.java | 5 +
...ache.skywalking.apm.agent.core.boot.BootService | 3 +-
.../apm/agent/core/boot/ServiceManagerTest.java | 2 +-
.../apm/agent/core/context/ContextManagerTest.java | 2 -
.../context/status/ExceptionCheckStrategyTest.java | 70 ++++++++++
.../status/StatusCheckServiceCheckTest.java | 83 ++++++++++++
.../core/context/status/StatusCheckerTest.java | 77 +++++++++++
.../status/TestAnnotationMatchException.java | 56 ++++++++
.../status/TestHierarchyMatchException.java | 44 ++++++
.../context/status/TestNamedMatchException.java | 30 +++--
.../activemq/ActiveMQConsumerInterceptor.java | 2 +-
.../activemq/ActiveMQProducerInterceptor.java | 2 +-
.../armeria/Armeria084ClientInterceptor.java | 2 +-
.../armeria/Armeria084ServerInterceptor.java | 2 +-
.../armeria/Armeria085ServerInterceptor.java | 2 +-
.../plugin/armeria/ArmeriaClientInterceptor.java | 2 +-
.../plugin/avro/AbstractRequestInterceptor.java | 2 +-
.../apm/plugin/avro/ResponderInterceptor.java | 2 +-
.../apm/plugin/baidu/brpc/ClientInterceptor.java | 1 -
.../apm/plugin/baidu/brpc/ServerInterceptor.java | 2 -
.../apm/plugin/canal/CanalInterceptor.java | 2 +-
.../java/driver/v3/ClusterConnectInterceptor.java | 1 -
...sultSetFutureGetUninterruptiblyInterceptor.java | 1 -
...AndExecuteAsyncWithStatementArgInterceptor.java | 1 -
.../apm/plugin/asf/dubbo/DubboInterceptor.java | 1 -
.../apm/plugin/dubbo/DubboInterceptor.java | 1 -
.../plugin/ehcache/v2/EhcacheLockInterceptor.java | 2 +-
.../ehcache/v2/EhcacheOperateAllInterceptor.java | 2 +-
.../v2/EhcacheOperateElementInterceptor.java | 2 +-
.../v2/EhcacheOperateObjectInterceptor.java | 2 +-
.../apm/plugin/esjob/JobExecutorInterceptor.java | 2 +-
.../elasticjob/ElasticJobExecutorInterceptor.java | 2 +-
.../v5/PlainListenableActionFutureInterceptor.java | 2 +-
.../v5/TransportActionNodeProxyInterceptor.java | 2 +-
...terActionFutureActionGetMethodsInterceptor.java | 2 +-
...ClusterClientGetSettingsMethodsInterceptor.java | 6 +-
.../ClusterClientHealthMethodsInterceptor.java | 6 +-
...ClusterClientPutSettingsMethodsInterceptor.java | 8 +-
.../IndicesClientCreateMethodsInterceptor.java | 8 +-
.../IndicesClientDeleteMethodsInterceptor.java | 6 +-
.../RestHighLevelClientGetMethodsInterceptor.java | 8 +-
...RestHighLevelClientIndexMethodsInterceptor.java | 8 +-
...estHighLevelClientSearchMethodsInterceptor.java | 8 +-
...estHighLevelClientUpdateMethodsInterceptor.java | 8 +-
...rtActionNodeProxyExecuteMethodsInterceptor.java | 2 +-
.../http/v9/DefaultHttpClientInterceptor.java | 1 -
.../ClientDestTracingFilterInterceptor.java | 2 +-
.../finagle/ClientTracingFilterInterceptor.java | 3 +-
.../finagle/ServerTracingFilterInterceptor.java | 3 +-
.../apm/plugin/graphql/v12/GraphqlInterceptor.java | 1 -
.../apm/plugin/graphql/v8/GraphqlInterceptor.java | 1 -
.../apm/plugin/graphql/v9/GraphqlInterceptor.java | 1 -
.../grpc/v1/client/BlockingCallInterceptor.java | 2 +-
.../plugin/grpc/v1/client/TracingClientCall.java | 14 +-
.../plugin/grpc/v1/server/TracingServerCall.java | 10 +-
.../grpc/v1/server/TracingServerCallListener.java | 6 +-
.../apm/plugin/hbase/HTableInterceptor.java | 1 -
.../v4/HttpClientExecuteInterceptor.java | 1 -
.../v4/wrapper/FutureCallbackWrapper.java | 2 +-
.../wrapper/HttpAsyncResponseConsumerWrapper.java | 2 +-
.../v3/HttpClientExecuteInterceptor.java | 2 +-
.../v1/HystrixCommandGetFallbackInterceptor.java | 2 +-
.../hystrix/v1/HystrixCommandRunInterceptor.java | 2 +-
.../interceptor/InfluxDBMethodInterceptor.java | 2 +-
.../jdbc/ConnectionServiceMethodInterceptor.java | 2 +-
.../jdbc/trace/CallableStatementTracing.java | 1 -
.../jdbc/trace/PreparedStatementTracing.java | 1 -
.../apm/plugin/jdbc/trace/StatementTracing.java | 1 -
.../apm/plugin/jdbc/ConnectionTracing.java | 1 -
.../plugin/jedis/v2/JedisMethodInterceptor.java | 1 -
.../v90/client/SyncHttpRequestSendInterceptor.java | 2 +-
.../v9/client/SyncHttpRequestSendInterceptor.java | 2 +-
.../plugin/jetty/v9/server/HandleInterceptor.java | 2 +-
.../apm/plugin/kafka/define/InterceptorMethod.java | 2 +-
.../plugin/kafka/CallbackAdapterInterceptor.java | 4 +-
.../apm/plugin/kafka/CallbackInterceptor.java | 4 +-
.../apm/plugin/kafka/KafkaConsumerInterceptor.java | 2 +-
.../plugin/kafka/SubscribeMethodInterceptor.java | 2 +-
.../lettuce/v5/AsyncCommandMethodInterceptor.java | 2 +-
.../lettuce/v5/RedisChannelWriterInterceptor.java | 1 -
.../apm/plugin/lettuce/v5/SWBiConsumer.java | 2 +-
.../apm/plugin/lettuce/v5/SWConsumer.java | 2 +-
.../plugin/light4j/HandleRequestInterceptor.java | 2 +-
...PreparedStatementExecuteMethodsInterceptor.java | 2 +-
.../v2/StatementExecuteMethodsInterceptor.java | 2 +-
.../v2/MongoDBCollectionMethodInterceptor.java | 1 -
.../v3/interceptor/v30/MongoDBInterceptor.java | 1 -
.../v37/MongoDBOperationExecutorInterceptor.java | 1 -
.../apm/plugin/motan/MotanConsumerInterceptor.java | 2 -
.../apm/plugin/motan/MotanProviderInterceptor.java | 2 -
...PreparedStatementExecuteMethodsInterceptor.java | 2 +-
.../mysql/StatementExecuteMethodsInterceptor.java | 2 +-
.../NettySocketIOConnectionInterceptor.java | 2 +-
.../socketio/NettySocketIOOnEventInterceptor.java | 2 +-
.../socketio/NettySocketIORoomInterceptor.java | 2 +-
.../nutz/http/sync/SenderSendInterceptor.java | 2 +-
.../plugin/nutz/mvc/ActionMethodInterceptor.java | 2 +-
.../apm/plugin/okhttp/v3/EnqueueInterceptor.java | 2 +-
.../apm/plugin/okhttp/v3/OnFailureInterceptor.java | 4 +-
.../plugin/okhttp/v3/OnResponseInterceptor.java | 2 +-
.../apm/plugin/okhttp/v3/RealCallInterceptor.java | 1 -
.../plugin/play/v2x/HttpFiltersInterceptor.java | 2 +-
.../apm/plugin/play/v2x/TracingFilter.java | 2 +-
...PreparedStatementExecuteMethodsInterceptor.java | 2 +-
.../StatementExecuteMethodsInterceptor.java | 2 +-
.../plugin/pulsar/PulsarConsumerInterceptor.java | 2 +-
.../plugin/pulsar/PulsarProducerInterceptor.java | 2 +-
.../apm/plugin/pulsar/SendCallbackInterceptor.java | 4 +-
.../apm/plugin/quasar/FiberInterceptor.java | 1 -
.../rabbitmq/RabbitMQConsumerInterceptor.java | 2 +-
.../rabbitmq/RabbitMQProducerInterceptor.java | 2 +-
.../v3/RedisConnectionMethodInterceptor.java | 1 -
.../SynchronousDispatcherExceptionInterceptor.java | 4 +-
.../server/SynchronousDispatcherInterceptor.java | 2 +-
.../v3/AbstractMessageConsumeInterceptor.java | 2 +-
.../plugin/rocketMQ/v3/MessageSendInterceptor.java | 2 +-
.../plugin/rocketMQ/v3/OnExceptionInterceptor.java | 2 +-
.../plugin/rocketMQ/v3/OnSuccessInterceptor.java | 2 +-
.../v4/AbstractMessageConsumeInterceptor.java | 2 +-
.../plugin/rocketMQ/v4/MessageSendInterceptor.java | 2 +-
.../plugin/rocketMQ/v4/OnExceptionInterceptor.java | 2 +-
.../plugin/rocketMQ/v4/OnSuccessInterceptor.java | 2 +-
.../ProducerOperationHandlerInterceptor.java | 1 -
.../TransportClientHandlerInterceptor.java | 1 -
.../v1/ProducerOperationHandlerInterceptor.java | 1 -
.../v1/TransportClientHandlerInterceptor.java | 1 -
.../plugin/sjdbc/define/ExecuteInterceptor.java | 2 +-
.../plugin/shardingsphere/ExecuteInterceptor.java | 2 +-
.../shardingsphere/JDBCRootInvokeInterceptor.java | 2 +-
.../plugin/shardingsphere/ParseInterceptor.java | 2 +-
.../shardingsphere/ProxyRootInvokeInterceptor.java | 2 +-
.../shardingsphere/v40/ExecuteInterceptor.java | 2 +-
.../v40/JDBCRootInvokeInterceptor.java | 2 +-
.../shardingsphere/v40/ParseInterceptor.java | 2 +-
.../v40/ProxyRootInvokeInterceptor.java | 2 +-
.../shardingsphere/v41/ExecuteInterceptor.java | 2 +-
.../v41/JDBCRootInvokeInterceptor.java | 2 +-
.../shardingsphere/v41/ParseInterceptor.java | 2 +-
.../v41/ProxyRootInvokeInterceptor.java | 2 +-
.../shardingsphere/v4rc3/ExecuteInterceptor.java | 2 +-
.../v4rc3/JDBCRootInvokeInterceptor.java | 2 +-
.../shardingsphere/v4rc3/ParseInterceptor.java | 2 +-
.../v4rc3/ProxyRootInvokeInterceptor.java | 2 +-
.../shardingsphere/v4/ExecuteInterceptor.java | 2 +-
.../v4/JDBCRootInvokeInterceptor.java | 2 +-
.../plugin/shardingsphere/v4/ParseInterceptor.java | 2 +-
.../v4/ProxyRootInvokeInterceptor.java | 2 +-
.../plugin/sofarpc/SofaRpcConsumerInterceptor.java | 1 -
.../plugin/sofarpc/SofaRpcProviderInterceptor.java | 1 -
.../apm/plugin/solrj/SolrClientInterceptor.java | 2 +-
.../apm/plugin/solrj/SolrConnectorInterceptor.java | 2 +-
.../apm/plugin/spring/async/SWCallable.java | 2 +-
.../concurrent/FailureCallbackInterceptor.java | 5 +-
.../concurrent/SuccessCallbackInterceptor.java | 2 +-
.../interceptor/AbstractMethodInterceptor.java | 2 +-
apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml | 1 -
.../resttemplate/async/FutureGetInterceptor.java | 2 +-
.../resttemplate/async/RestExecuteInterceptor.java | 2 +-
.../resttemplate/sync/RestExecuteInterceptor.java | 2 +-
.../resttemplate/sync/RestResponseInterceptor.java | 2 +-
.../scheduled/ScheduledMethodInterceptor.java | 2 +-
.../v2/MemcachedMethodInterceptor.java | 1 -
.../apm/plugin/struts2/Struts2Interceptor.java | 2 +-
.../tomcat78x/TomcatExceptionInterceptor.java | 2 +-
.../plugin/tomcat78x/TomcatInvokeInterceptor.java | 1 -
.../undertow/v2x/ListenerConfigInterceptor.java | 2 +-
.../undertow/v2x/RootHandlerInterceptor.java | 2 +-
.../undertow/v2x/RoutingHandlerInterceptor.java | 2 +-
.../undertow/v2x/handler/TracingHandler.java | 2 +-
.../ClusteredEventBusSendRemoteInterceptor.java | 2 +-
.../EventBusImplDeliverToHandlerInterceptor.java | 2 +-
.../vertx3/HandlerRegistrationInterceptor.java | 2 +-
...lientRequestImplHandleExceptionInterceptor.java | 4 +-
...ClientRequestImplHandleResponseInterceptor.java | 2 +-
.../vertx3/HttpClientRequestImplInterceptor.java | 2 +-
...tpContextHandleDispatchResponseInterceptor.java | 2 +-
.../vertx3/HttpContextSendRequestInterceptor.java | 2 +-
...rverResponseImplHandleExceptionInterceptor.java | 4 +-
.../vertx3/HttpServerResponseImplInterceptor.java | 2 +-
.../plugin/vertx3/RouteImplHandlerInterceptor.java | 2 +-
.../apm/plugin/vertx3/RouteStateInterceptor.java | 2 +-
.../ServerConnectionHandleMessageInterceptor.java | 2 +-
.../xmemcached/v2/XMemcachedMethodInterceptor.java | 1 -
.../trace/ActiveSpanErrorThrowableInteceptor.java | 1 -
.../trace/CallableOrRunnableInvokeInterceptor.java | 2 +-
.../IgnoredExceptionAnnotationActivation.java} | 19 ++-
.../IgnoredExceptionConstructInterceptor.java} | 14 +-
.../trace/TagAnnotationMethodInterceptor.java | 2 +-
.../trace/TraceAnnotationMethodInterceptor.java | 2 +-
.../src/main/resources/skywalking-plugin.def | 3 +-
.../jdk/http/HttpClientParseHttpInterceptor.java | 2 +-
.../http/HttpClientWriteRequestInterceptor.java | 2 +-
.../jdk/threading/ThreadingMethodInterceptor.java | 2 +-
apm-sniffer/config/agent.config | 7 +
.../interceptor/BaseInterceptorMethods.java | 2 +-
.../apm/plugin/gson/GsonFromJsonInterceptor.java | 2 +-
.../apm/plugin/gson/GsonToJsonInterceptor.java | 2 +-
.../gateway-2.0.x-plugin/pom.xml | 32 +++++
.../gateway/v20x/HttpClientRequestInterceptor.java | 2 +-
.../v20x/NettyRoutingFilterInterceptor.java | 2 +-
.../AbstractGateway200EnhancePluginDefine.java | 30 +++++
.../define/DispatcherHandlerInstrumentation.java | 17 +--
.../v20x/define/HttpClientInstrumentation.java | 5 +-
.../define/HttpClientRequestInstrumentation.java | 3 +-
.../define/NettyRoutingFilterInstrumentation.java | 3 +-
.../define/ServerWebExchangeInstrumentation.java | 17 +--
.../src/main/resources/skywalking-plugin.def | 4 +-
.../gateway-2.1.x-plugin/pom.xml | 36 ++++-
.../v21x/NettyRoutingFilterInterceptor.java | 2 +-
.../define/DispatcherHandlerInstrumentation.java} | 11 +-
.../define/ServerWebExchangeInstrumentation.java} | 11 +-
.../src/main/resources/skywalking-plugin.def | 2 +
.../optional-spring-plugins/pom.xml | 1 +
.../annotations/SpringAnnotationInterceptor.java | 2 +-
.../EndTransactionMethodInterceptor.java | 2 +-
.../GetTransactionMethodInterceptor.java | 2 +-
.../spring-webflux-5.x-plugin/pom.xml | 2 +-
.../DispatcherHandlerHandleMethodInterceptor.java | 0
.../ServerWebExchangeConstructorInterceptor.java | 0
.../define/DispatcherHandlerInstrumentation.java | 0
.../define/ServerWebExchangeInstrumentation.java | 0
.../src/main/resources/skywalking-plugin.def | 0
.../quartz/JobRunShellMethodInterceptor.java | 2 +-
.../plugin/zookeeper/ClientCnxnInterceptor.java | 1 -
.../zookeeper/EventThreadMethodInterceptor.java | 2 +-
docs/en/guides/E2E-local-remote-debug.md | 28 ++++
docs/en/guides/README.md | 3 +
docs/en/setup/backend/backend-alarm.md | 17 +++
.../java-agent/How-to-tolerate-exceptions.md | 114 ++++++++++++++++
.../setup/service-agent/java-agent/Plugin-list.md | 1 +
docs/en/setup/service-agent/java-agent/README.md | 5 +-
.../service-agent/java-agent/Supported-list.md | 2 +-
.../core/alarm/provider/AlarmRulesWatcher.java | 5 +
.../server/core/alarm/provider/NotifyHandler.java | 2 +
.../oap/server/core/alarm/provider/Rules.java | 2 +
.../server/core/alarm/provider/RulesReader.java | 19 ++-
.../alarm/provider/wechat/WechatHookCallback.java | 101 ++++++++++++++
.../{Rules.java => wechat/WechatSettings.java} | 24 ++--
.../provider/wechat/WechatHookCallbackTest.java | 147 ++++++++++++++++++++
.../src/main/resources/alarm-settings.yml | 10 ++
.../main/resources/ui-initialized-templates.yml | 4 +-
.../skywalking/e2e/SkyWalkingAnnotations.java | 31 +++--
.../skywalking/e2e/docker/DockerComposeFile.java | 6 +-
.../e2e/docker/DockerComposeFileTest.java | 33 +++--
.../{docker-compose.yml => docker-compose.one.yml} | 32 ++---
.../{docker-compose.yml => docker-compose.two.yml} | 0
test/plugin/agent-test-tools/pom.xml | 2 +-
.../bin/startup.sh | 7 +-
.../config/expectedData.yaml | 148 +++++++++++++++++++++
.../configuration.yml | 6 +-
.../exception-checker-spring-scenario/pom.xml | 118 ++++++++++++++++
.../src/main/assembly/assembly.xml | 42 +++---
.../apm/toolkit/trace/IgnoredException.java} | 25 ++--
.../testcase/exceptionchecker}/Application.java | 15 ++-
.../controller/CaseController.java | 79 +++++++++++
.../exception/TestAnnotatedException.java | 49 ++++---
.../exceptionchecker/exception/TestException.java} | 30 +++--
.../exception/TestHierarchyListedException.java | 44 ++++++
.../exception/TestListedException.java} | 30 +++--
.../exceptionchecker/service/TestService.java | 50 +++++++
.../src/main/resources/application.yaml | 23 ++++
.../src/main/resources/log4j2.xml | 0
.../support-version.list} | 8 +-
.../config/expectedData.yaml | 132 ++++++++++++++++++
.../configuration.yml | 11 +-
.../exception-checker-tomcat-scenario/pom.xml | 97 ++++++++++++++
.../apm/toolkit/trace/IgnoredException.java} | 25 ++--
.../controller/CaseController.java | 79 +++++++++++
.../exception/TestAnnotatedException.java | 49 ++++---
.../exceptionchecker/exception/TestException.java} | 30 +++--
.../exception/TestHierarchyListedException.java | 44 ++++++
.../exception/TestListedException.java} | 30 +++--
.../exception/TestOtherClassLoaderException.java | 44 ++++++
.../exceptionchecker/service/TestService.java | 50 +++++++
.../src/main/resources/log4j2.xml | 0
.../src/main/webapp/WEB-INF/spring-mvc-servlet.xml | 0
.../src/main/webapp/WEB-INF/web.xml | 39 +++---
.../support-version.list} | 8 +-
.../sc/gateway/projectA/TestFilterConfig.java | 35 -----
.../sc/gateway/projectA/ApiKeyResolver.java | 31 +++++
.../testcase/sc/gateway/projectA/Application.java | 29 ++++
.../testcase/sc/gateway/projectA/Test1Filter.java | 20 +--
.../testcase/sc/gateway/projectA/Test2Filter.java | 20 +--
.../sc/gateway/projectA/TestFilterConfig.java | 35 +++++
.../testcase/sc/gateway/projectB/Application.java | 31 -----
.../projectB/controller/TestController.java | 36 -----
.../testcase/sc/gateway/projectB/Application.java | 31 +++++
.../projectB/controller/TestController.java | 36 +++++
.../sc/gateway/projectA/TestFilterConfig.java | 35 -----
.../sc/gateway/projectA/ApiKeyResolver.java | 31 +++++
.../testcase/sc/gateway/projectA/Application.java | 29 ++++
.../testcase/sc/gateway/projectA/Test1Filter.java | 20 +--
.../testcase/sc/gateway/projectA/Test2Filter.java | 20 +--
.../sc/gateway/projectA/TestFilterConfig.java | 35 +++++
.../testcase/sc/gateway/projectB/Application.java | 31 -----
.../projectB/controller/TestController.java | 36 -----
.../testcase/sc/gateway/projectB/Application.java | 31 +++++
.../projectB/controller/TestController.java | 36 +++++
.../scenarios/gateway-2.1.x-scenario/pom.xml | 2 +-
.../grpc-scenario/config/expectedData.yaml | 2 +-
.../hystrix-scenario/config/expectedData.yaml | 2 +-
.../scenarios/webflux-scenario/configuration.yml | 2 +
312 files changed, 3067 insertions(+), 830 deletions(-)
copy test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => apm-application-toolkit/apm-toolkit-trace/src/main/java/org/apache/skywalking/apm/toolkit/trace/IgnoredException.java (61%)
copy apm-sniffer/{apm-sdk-plugin/spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java => apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/status/AnnotationMatchExceptionCheckStrategy.java} (54%)
create mode 100644 apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/status/ExceptionCheckContext.java
copy apm-sniffer/{apm-sdk-plugin/spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java => apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/status/ExceptionCheckStrategy.java} (64%)
create mode 100644 apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/status/HierarchyMatchExceptionCheckStrategy.java
rename test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/Application.java => apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/status/OffExceptionCheckStrategy.java (57%)
create mode 100644 apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/status/StatusCheckService.java
create mode 100644 apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/status/StatusChecker.java
create mode 100644 apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/context/status/ExceptionCheckStrategyTest.java
create mode 100644 apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/context/status/StatusCheckServiceCheckTest.java
create mode 100644 apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/context/status/StatusCheckerTest.java
create mode 100644 apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/context/status/TestAnnotationMatchException.java
create mode 100644 apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/context/status/TestHierarchyMatchException.java
copy test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => apm-sniffer/apm-agent-core/src/test/java/org/apache/skywalking/apm/agent/core/context/status/TestNamedMatchException.java (50%)
copy apm-sniffer/{apm-sdk-plugin/spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/define/ServerWebExchangeInstrumentation.java => apm-toolkit-activation/apm-toolkit-trace-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/trace/IgnoredExceptionAnnotationActivation.java} (73%)
copy apm-sniffer/{apm-sdk-plugin/spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java => apm-toolkit-activation/apm-toolkit-trace-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/trace/IgnoredExceptionConstructInterceptor.java} (65%)
create mode 100644 apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/AbstractGateway200EnhancePluginDefine.java
copy test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/DispatcherHandlerInstrumentation.java (63%)
copy test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.0.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v20x/define/ServerWebExchangeInstrumentation.java (63%)
copy apm-sniffer/{apm-sdk-plugin/spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java => optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v21x/define/DispatcherHandlerInstrumentation.java} (65%)
copy apm-sniffer/{apm-sdk-plugin/spring-plugins/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java => optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.1.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v21x/define/ServerWebExchangeInstrumentation.java} (65%)
rename apm-sniffer/{apm-sdk-plugin/spring-plugins => optional-plugins/optional-spring-plugins}/spring-webflux-5.x-plugin/pom.xml (96%)
rename apm-sniffer/{apm-sdk-plugin/spring-plugins => optional-plugins/optional-spring-plugins}/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/DispatcherHandlerHandleMethodInterceptor.java (100%)
rename apm-sniffer/{apm-sdk-plugin/spring-plugins => optional-plugins/optional-spring-plugins}/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/ServerWebExchangeConstructorInterceptor.java (100%)
rename apm-sniffer/{apm-sdk-plugin/spring-plugins => optional-plugins/optional-spring-plugins}/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/define/DispatcherHandlerInstrumentation.java (100%)
rename apm-sniffer/{apm-sdk-plugin/spring-plugins => optional-plugins/optional-spring-plugins}/spring-webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/define/ServerWebExchangeInstrumentation.java (100%)
copy apm-sniffer/{apm-sdk-plugin/spring-plugins => optional-plugins/optional-spring-plugins}/spring-webflux-5.x-plugin/src/main/resources/skywalking-plugin.def (100%)
create mode 100644 docs/en/guides/E2E-local-remote-debug.md
create mode 100644 docs/en/setup/service-agent/java-agent/How-to-tolerate-exceptions.md
create mode 100644 oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/wechat/WechatHookCallback.java
copy oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/{Rules.java => wechat/WechatSettings.java} (65%)
create mode 100644 oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/wechat/WechatHookCallbackTest.java
copy test/e2e/e2e-common/src/test/resources/{docker-compose.yml => docker-compose.one.yml} (52%)
rename test/e2e/e2e-common/src/test/resources/{docker-compose.yml => docker-compose.two.yml} (100%)
rename apm-sniffer/apm-sdk-plugin/spring-plugins/spring-webflux-5.x-plugin/src/main/resources/skywalking-plugin.def => test/plugin/scenarios/exception-checker-spring-scenario/bin/startup.sh (71%)
create mode 100644 test/plugin/scenarios/exception-checker-spring-scenario/config/expectedData.yaml
copy test/plugin/scenarios/{webflux-scenario => exception-checker-spring-scenario}/configuration.yml (77%)
create mode 100644 test/plugin/scenarios/exception-checker-spring-scenario/pom.xml
copy apm-sniffer/optional-plugins/optional-spring-plugins/pom.xml => test/plugin/scenarios/exception-checker-spring-scenario/src/main/assembly/assembly.xml (52%)
copy test/plugin/scenarios/{gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => exception-checker-spring-scenario/src/main/java/org/apache/skywalking/apm/toolkit/trace/IgnoredException.java} (61%)
rename test/plugin/scenarios/{gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA => exception-checker-spring-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker}/Application.java (70%)
create mode 100644 test/plugin/scenarios/exception-checker-spring-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/controller/CaseController.java
copy oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/Rules.java => test/plugin/scenarios/exception-checker-spring-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestAnnotatedException.java (50%)
copy test/plugin/scenarios/{gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => exception-checker-spring-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestException.java} (53%)
create mode 100644 test/plugin/scenarios/exception-checker-spring-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestHierarchyListedException.java
copy test/plugin/scenarios/{gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => exception-checker-spring-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestListedException.java} (51%)
create mode 100644 test/plugin/scenarios/exception-checker-spring-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/service/TestService.java
create mode 100644 test/plugin/scenarios/exception-checker-spring-scenario/src/main/resources/application.yaml
copy test/plugin/scenarios/{zookeeper-scenario => exception-checker-spring-scenario}/src/main/resources/log4j2.xml (100%)
copy test/plugin/scenarios/{webflux-scenario/configuration.yml => exception-checker-spring-scenario/support-version.list} (78%)
create mode 100644 test/plugin/scenarios/exception-checker-tomcat-scenario/config/expectedData.yaml
copy test/plugin/scenarios/{webflux-scenario => exception-checker-tomcat-scenario}/configuration.yml (59%)
create mode 100644 test/plugin/scenarios/exception-checker-tomcat-scenario/pom.xml
copy test/plugin/scenarios/{gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => exception-checker-tomcat-scenario/src/main/java/org/apache/skywalking/apm/toolkit/trace/IgnoredException.java} (61%)
create mode 100644 test/plugin/scenarios/exception-checker-tomcat-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/controller/CaseController.java
copy oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/Rules.java => test/plugin/scenarios/exception-checker-tomcat-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestAnnotatedException.java (50%)
rename test/plugin/scenarios/{gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => exception-checker-tomcat-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestException.java} (53%)
create mode 100644 test/plugin/scenarios/exception-checker-tomcat-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestHierarchyListedException.java
rename test/plugin/scenarios/{gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java => exception-checker-tomcat-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestListedException.java} (51%)
create mode 100644 test/plugin/scenarios/exception-checker-tomcat-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/exception/TestOtherClassLoaderException.java
create mode 100644 test/plugin/scenarios/exception-checker-tomcat-scenario/src/main/java/test/org/apache/skywalking/apm/testcase/exceptionchecker/service/TestService.java
copy test/plugin/scenarios/{zookeeper-scenario => exception-checker-tomcat-scenario}/src/main/resources/log4j2.xml (100%)
copy test/plugin/scenarios/{spring-4.3.x-scenario => exception-checker-tomcat-scenario}/src/main/webapp/WEB-INF/spring-mvc-servlet.xml (100%)
copy apm-sniffer/optional-plugins/optional-spring-plugins/pom.xml => test/plugin/scenarios/exception-checker-tomcat-scenario/src/main/webapp/WEB-INF/web.xml (50%)
copy test/plugin/scenarios/{webflux-scenario/configuration.yml => exception-checker-tomcat-scenario/support-version.list} (78%)
delete mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/TestFilterConfig.java
create mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java
create mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectA/Application.java
rename test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/{org => test}/apache/skywalking/apm/testcase/sc/gateway/projectA/Test1Filter.java (55%)
rename test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/{org => test}/apache/skywalking/apm/testcase/sc/gateway/projectA/Test2Filter.java (55%)
create mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectA-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectA/TestFilterConfig.java
delete mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectB-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectB/Application.java
delete mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectB-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectB/controller/TestController.java
create mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectB-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectB/Application.java
create mode 100644 test/plugin/scenarios/gateway-2.0.x-scenario/gateway-projectB-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectB/controller/TestController.java
delete mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectA/TestFilterConfig.java
create mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectA/ApiKeyResolver.java
create mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectA/Application.java
rename test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/{org => test}/apache/skywalking/apm/testcase/sc/gateway/projectA/Test1Filter.java (55%)
rename test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/{org => test}/apache/skywalking/apm/testcase/sc/gateway/projectA/Test2Filter.java (55%)
create mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectA-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectA/TestFilterConfig.java
delete mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectB-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectB/Application.java
delete mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectB-scenario/src/main/java/org/apache/skywalking/apm/testcase/sc/gateway/projectB/controller/TestController.java
create mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectB-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectB/Application.java
create mode 100644 test/plugin/scenarios/gateway-2.1.x-scenario/gateway-projectB-scenario/src/main/java/test/apache/skywalking/apm/testcase/sc/gateway/projectB/controller/TestController.java