From 8a90e0749f1356f453dfa90032c920955f12c054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=A1=EC=98=81=EB=AF=BC?= Date: Sun, 14 Jul 2024 20:33:38 +0900 Subject: [PATCH] feat: ignore tracing for specific routes --- .../java/kr/mafoo/gateway/TracingConfig.java | 30 +++++++++++++++++++ .../kr/mafoo/photo/config/TracingConfig.java | 30 +++++++++++++++++++ .../kr/mafoo/user/config/TracingConfig.java | 30 +++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 api-gateway/src/main/java/kr/mafoo/gateway/TracingConfig.java create mode 100644 photo-service/src/main/java/kr/mafoo/photo/config/TracingConfig.java create mode 100644 user-service/src/main/java/kr/mafoo/user/config/TracingConfig.java diff --git a/api-gateway/src/main/java/kr/mafoo/gateway/TracingConfig.java b/api-gateway/src/main/java/kr/mafoo/gateway/TracingConfig.java new file mode 100644 index 00000000..2746c2a7 --- /dev/null +++ b/api-gateway/src/main/java/kr/mafoo/gateway/TracingConfig.java @@ -0,0 +1,30 @@ +package kr.mafoo.gateway; + +import io.micrometer.observation.ObservationPredicate; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.observation.ServerRequestObservationContext; + +@Configuration +public class TracingConfig { + @Bean + ObservationPredicate noopServerRequestObservationPredicate() { + ObservationPredicate predicate = (name, context) -> { + if(context instanceof ServerRequestObservationContext c) { + ServerHttpRequest servletRequest = c.getCarrier(); + String requestURI = servletRequest.getPath().toString(); + if(StringUtils.containsAny(requestURI, "actuator", "swagger", "api-docs")) { + return false; + } + } + if (StringUtils.equalsAny(name,"spring.security.filterchains","spring.security.authorizations","spring.security.http.secured.requests")) { + return false; + } + return true; + }; + + return predicate; + } +} diff --git a/photo-service/src/main/java/kr/mafoo/photo/config/TracingConfig.java b/photo-service/src/main/java/kr/mafoo/photo/config/TracingConfig.java new file mode 100644 index 00000000..2783bf08 --- /dev/null +++ b/photo-service/src/main/java/kr/mafoo/photo/config/TracingConfig.java @@ -0,0 +1,30 @@ +package kr.mafoo.photo.config; + +import io.micrometer.observation.ObservationPredicate; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.observation.ServerRequestObservationContext; + +@Configuration +public class TracingConfig { + @Bean + ObservationPredicate noopServerRequestObservationPredicate() { + ObservationPredicate predicate = (name, context) -> { + if(context instanceof ServerRequestObservationContext c) { + ServerHttpRequest servletRequest = c.getCarrier(); + String requestURI = servletRequest.getPath().toString(); + if(StringUtils.containsAny(requestURI, "actuator", "swagger", "api-docs")) { + return false; + } + } + if (StringUtils.equalsAny(name,"spring.security.filterchains","spring.security.authorizations","spring.security.http.secured.requests")) { + return false; + } + return true; + }; + + return predicate; + } +} diff --git a/user-service/src/main/java/kr/mafoo/user/config/TracingConfig.java b/user-service/src/main/java/kr/mafoo/user/config/TracingConfig.java new file mode 100644 index 00000000..02109e4a --- /dev/null +++ b/user-service/src/main/java/kr/mafoo/user/config/TracingConfig.java @@ -0,0 +1,30 @@ +package kr.mafoo.user.config; + +import io.micrometer.observation.ObservationPredicate; +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.observation.ServerRequestObservationContext; + +@Configuration +public class TracingConfig { + @Bean + ObservationPredicate noopServerRequestObservationPredicate() { + ObservationPredicate predicate = (name, context) -> { + if(context instanceof ServerRequestObservationContext c) { + ServerHttpRequest servletRequest = c.getCarrier(); + String requestURI = servletRequest.getPath().toString(); + if(StringUtils.containsAny(requestURI, "actuator", "swagger", "api-docs")) { + return false; + } + } + if (StringUtils.equalsAny(name,"spring.security.filterchains","spring.security.authorizations","spring.security.http.secured.requests")) { + return false; + } + return true; + }; + + return predicate; + } +}