scouter
scouter copied to clipboard
resilience4j circuitbreaker 적용시 api call 프로파일링 되지 않는 이슈
안녕하세요. 사내에서 스카우터 2.7.1 버전을 적용하여 사용중에 문의 드립니다. 그동안 스카우터를 통해 여러 외부연동 (api call, db, aws, kafka)에 대해 xlog를 잘 확인해왔는데요.
spring boot 버전 업그레이드를 하면서 feign library를 hystrix 에서 resilience4j로 변경하였는데, resilience4j 를 통한 api 호출건들이 수집이 되고 있지 않습니다. (api 호출만 있을시 gxid도 프로파일되지 않음) db, aws, kafka 호출에 대한 건들은 프로파일링이 잘 되고 있는데, 혹시 원인을 아실까하여 문의 드립니다.
<추가 변경 내용> as-is :
- spring boot : 2.3.0.RELEASE
- spring-cloud-starter-openfeign : 2.1.1.RELEASE
to-be:
- spring boot : 2.7.3
- spring-cloud-starter-openfeign : 3.1.3 --> openfeign 3.x 업그레이드하면서 기존에 내장되어있던 hystrix가 제외되어, resilience4j를 feign library로 선택함.
xlog 캡처)
- gxid가 추출되지 않고, api call이 프로파일링 되지 않음 (마지막 t-gap 1,003에 해당)
resilience4j 에서 스레드 전환이 이루어지는 방식을 사용한다면 scouter agent에서 그 부분에 대한 대응이 필요합니다. 이 부분에 대해 아직 진행되고 있는 부분은 없습니다.