This is an automated email from the ASF dual-hosted git repository.
chufenggao pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new df963f8393 [Improvement] Add call cost time for api (#13518)
df963f8393 is described below
commit df963f8393631b569802c08af244a7a7d4afc1a1
Author: caishunfeng <[email protected]>
AuthorDate: Thu Feb 9 14:29:23 2023 +0800
[Improvement] Add call cost time for api (#13518)
---
.../api/aspect/AccessLogAnnotation.java | 2 --
.../dolphinscheduler/api/aspect/AccessLogAspect.java | 19 +++++++++++--------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
index dd62af88de..9b3f55c6e5 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAnnotation.java
@@ -32,6 +32,4 @@ public @interface AccessLogAnnotation {
String[] ignoreRequestArgs() default {"loginUser"};
boolean ignoreRequest() default false;
-
- boolean ignoreResponse() default true;
}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
index 19d783cad5..6fc123a8b7 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/aspect/AccessLogAspect.java
@@ -65,6 +65,15 @@ public class AccessLogAspect {
public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws
Throwable {
long startTime = System.currentTimeMillis();
+ String URI = null;
+ String requestMethod = null;
+ ServletRequestAttributes attributes = (ServletRequestAttributes)
RequestContextHolder.getRequestAttributes();
+ if (attributes != null) {
+ HttpServletRequest request = attributes.getRequest();
+ URI = request.getRequestURI();
+ requestMethod = request.getMethod();
+ }
+
// fetch AccessLogAnnotation
MethodSignature sign = (MethodSignature)
proceedingJoinPoint.getSignature();
Method method = sign.getMethod();
@@ -74,12 +83,10 @@ public class AccessLogAspect {
// log request
if (!annotation.ignoreRequest()) {
- ServletRequestAttributes attributes =
- (ServletRequestAttributes)
RequestContextHolder.getRequestAttributes();
if (attributes != null) {
HttpServletRequest request = attributes.getRequest();
String traceIdFromHeader = request.getHeader(TRACE_ID);
- if (!StringUtils.isEmpty(traceIdFromHeader)) {
+ if (StringUtils.isNotEmpty(traceIdFromHeader)) {
traceId = traceIdFromHeader;
}
// handle login info
@@ -103,11 +110,7 @@ public class AccessLogAspect {
Object ob = proceedingJoinPoint.proceed();
- // log response
- if (!annotation.ignoreResponse()) {
- log.info("RESPONSE TRACE_ID:{}, BODY:{}, REQUEST DURATION:{}
milliseconds", traceId, ob,
- (System.currentTimeMillis() - startTime));
- }
+ log.info("Call {}:{} success, cost: {}ms", requestMethod, URI,
(System.currentTimeMillis() - startTime));
return ob;
}