scouter icon indicating copy to clipboard operation
scouter copied to clipboard

resilience4j circuitbreaker 적용시 api call 프로파일링 되지 않는 이슈

Open ca98047 opened this issue 2 years ago • 1 comments

안녕하세요. 사내에서 스카우터 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 캡처) image

  • gxid가 추출되지 않고, api call이 프로파일링 되지 않음 (마지막 t-gap 1,003에 해당)

ca98047 avatar Sep 27 '22 07:09 ca98047

resilience4j 에서 스레드 전환이 이루어지는 방식을 사용한다면 scouter agent에서 그 부분에 대한 대응이 필요합니다. 이 부분에 대해 아직 진행되고 있는 부분은 없습니다.

gunlee01 avatar Nov 03 '22 01:11 gunlee01