diff --git a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java index eef05b7efa6b2c55d441a3d5793d6fd143412746..738a889aa4c2448550e6e37b8a5f4026346dabe6 100644 --- a/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/feign-default-http-9.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/feign/http/v9/DefaultHttpClientInterceptor.java @@ -114,7 +114,7 @@ public class DefaultHttpClientInterceptor implements InstanceMethodsAroundInterc AbstractSpan span = ContextManager.activeSpan(); if (statusCode >= 400) { span.errorOccurred(); - Tags.STATUS_CODE.set(span, statusCode + ""); + Tags.STATUS_CODE.set(span, Integer.toString(statusCode)); } } diff --git a/apm-sniffer/apm-sdk-plugin/httpasyncclient-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/httpasyncclient/v4/wrapper/HttpAsyncResponseConsumerWrapper.java b/apm-sniffer/apm-sdk-plugin/httpasyncclient-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/httpasyncclient/v4/wrapper/HttpAsyncResponseConsumerWrapper.java index b9363e8a9c29e5e9bdbb5fe79bd0940ba675e8c5..5ff3b74026f0d152db4617bf1173b26b9d9553db 100644 --- a/apm-sniffer/apm-sdk-plugin/httpasyncclient-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/httpasyncclient/v4/wrapper/HttpAsyncResponseConsumerWrapper.java +++ b/apm-sniffer/apm-sdk-plugin/httpasyncclient-4.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/httpasyncclient/v4/wrapper/HttpAsyncResponseConsumerWrapper.java @@ -49,8 +49,8 @@ public class HttpAsyncResponseConsumerWrapper implements HttpAsyncResponseCon public void responseReceived(HttpResponse response) throws IOException, HttpException { if (ContextManager.isActive()) { int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode > 400) { - AbstractSpan span = ContextManager.activeSpan(); + if (statusCode >= 400) { + AbstractSpan span = ContextManager.activeSpan().errorOccurred(); Tags.STATUS_CODE.set(span, String.valueOf(statusCode)); } ContextManager.stopSpan(); diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/StatusInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/StatusInterceptor.java index e2717657af53b50b05520418c8e932b2e7fcfe96..f29032d497a42c7b3726611de589a11715f5da18 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/StatusInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/StatusInterceptor.java @@ -18,19 +18,20 @@ package org.apache.skywalking.apm.plugin.spring.webflux.v5; import io.netty.handler.codec.http.HttpResponseStatus; -import java.lang.reflect.Method; 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.plugin.interceptor.enhance.EnhancedInstance; import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; +import java.lang.reflect.Method; + public class StatusInterceptor implements InstanceMethodsAroundInterceptor { @Override public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, MethodInterceptResult result) throws Throwable { HttpResponseStatus status = (HttpResponseStatus)allArguments[0]; - if (status.code() > 400) { + if (status.code() >= 400) { ContextManager.activeSpan().errorOccurred(); Tags.STATUS_CODE.set(ContextManager.activeSpan(), String.valueOf(status.code())); } diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v2/HttpClientOperationsStatusInterceptor.java b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v2/HttpClientOperationsStatusInterceptor.java index 65319f8aa9db726a2892965ee109c1ebe1bd73fa..08264c9818f5b60aee179d205bdebf2b3b455fb9 100644 --- a/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v2/HttpClientOperationsStatusInterceptor.java +++ b/apm-sniffer/optional-plugins/optional-spring-plugins/optional-spring-cloud/gateway-2.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/cloud/gateway/v2/HttpClientOperationsStatusInterceptor.java @@ -42,7 +42,7 @@ public class HttpClientOperationsStatusInterceptor implements InstanceMethodsAro public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Object ret) throws Throwable { HttpResponseStatus response = (HttpResponseStatus) ret; - if (response.code() > 400) { + if (response.code() >= 400) { ContextManager.activeSpan().errorOccurred(); Tags.STATUS_CODE.set(ContextManager.activeSpan(), String.valueOf(response.code())); }