refactor: Actuator 트레이싱 제외 로직 common.web 모듈 이동 및 service 모듈에서의 스케쥴링 작업 제외

This commit is contained in:
이상진 2025-10-05 00:19:14 +09:00
parent 7ce6fce8f5
commit 31f15aa80c

View File

@ -1,28 +1,20 @@
package com.sangdol.roomescape.common.config package com.sangdol.roomescape.common.config
import io.micrometer.observation.ObservationPredicate import io.micrometer.observation.ObservationPredicate
import jakarta.servlet.http.HttpServletRequest
import org.springframework.beans.factory.annotation.Value
import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Configuration
import org.springframework.http.server.observation.ServerRequestObservationContext
@Configuration @Configuration
class TraceConfig( class TraceConfig {
@Value("\${management.endpoints.web.base-path}") private val actuatorPath: String
) { companion object {
val scheduleTaskName = "tasks.scheduled.execution"
}
@Bean @Bean
fun excludeActuatorPredicate(): ObservationPredicate { fun excludeSchedulerPredicate(): ObservationPredicate {
return ObservationPredicate { _, context -> return ObservationPredicate { name, context ->
if (context !is ServerRequestObservationContext) { !name.equals(scheduleTaskName)
return@ObservationPredicate true
}
val servletRequest: HttpServletRequest = context.carrier
val requestUri = servletRequest.requestURI
!requestUri.contains(actuatorPath)
} }
} }
} }