Continuous Profiler

프로덕션 지연을 원인이 된 코드 경로까지 추적

Guance Continuous Profiling은 프로덕션 환경의 CPU, 메모리 할당, 잠금, I/O, 느린 쿼리, 함수 호출을 지속적으로 샘플링합니다. 느린 APM Span에서 플레임 그래프와 런타임 증거로 이동해 어떤 메서드, 스레드, 리소스가 지연을 만들었는지 확인할 수 있습니다.

프로덕션 지연을 원인이 된 코드 경로까지 추적

Continuous Profiling으로 해결하는 문제

Trace가 지연 구간을 보여주면 Profiling이 느린 이유를 설명합니다

Trace는 느린 서비스나 Span을 좁혀 주지만 그 아래의 비효율적인 코드를 항상 보여 주지는 않습니다. Guance는 함수 호출, CPU, 할당, 잠금, I/O, 쿼리를 같은 서비스, 버전, 시간 범위에서 비교할 수 있게 합니다.

Trace에서 서비스 지연까지 확인했다면 코드 안쪽으로 이동하세요
샘플링된 Profile로 비싼 함수 호출, CPU 작업, 메모리 할당, 잠금 경합, 느린 쿼리, I/O 대기를 찾습니다. “엔드포인트가 느리다”는 증상을 엔지니어가 수정할 수 있는 메서드나 런타임 동작으로 좁힐 수 있습니다.
문서 보기
Trace에서 서비스 지연까지 확인했다면 코드 안쪽으로 이동하세요
플레임 그래프로 CPU, 메모리, 잠금, I/O 핫스팟 비교
플레임 그래프로 CPU, 메모리, 잠금, I/O 핫스팟 비교
메서드 수준의 호출 스택과 리소스 비중을 확인하고 언어, 서비스, 버전, 호스트, 시간 범위로 나눠 봅니다. 실제 프로덕션 리소스를 많이 쓰는 코드 경로부터 우선 개선할 수 있습니다.
문서 보기
영향받은 Span에서 같은 시간대의 Profile로 이동
APM Span을 같은 서비스와 시간대의 Profile 데이터에 연결합니다. 핫스팟, 호출 스택, 리소스 사용량을 비교해 비즈니스 로직, 의존성, 런타임 경합, 쿼리 중 어디에서 지연이 생겼는지 판단합니다.
문서 보기
영향받은 Span에서 같은 시간대의 Profile로 이동

자주 묻는 질문

Continuous Profiling이란 무엇인가요?

프로덕션 코드가 CPU, 메모리, 잠금, I/O, 쿼리, 함수 호출에 얼마나 많은 작업을 쓰는지 지속적으로 샘플링해 메트릭이나 Trace만으로 설명하기 어려운 코드 수준 병목을 찾는 방식입니다.

Profiling과 APM Trace는 어떻게 다른가요?

APM Trace는 요청이 거친 서비스와 각 Span의 시간을 보여 줍니다. Profile은 해당 시간대에 코드와 런타임이 수행한 CPU 작업, 할당, 잠금, I/O, 함수 호출을 보여 줍니다.

프로덕션 Profiling은 어떤 문제에 적합한가요?

느린 엔드포인트, 높은 CPU, 예상 밖의 메모리 할당, 메모리 압박, 잠금 경합, I/O 대기, 느린 쿼리, 릴리스 이후 성능 저하를 조사하는 데 적합합니다.

Guance에서 Profile과 Trace를 연결할 수 있나요?

네. 문서에서 지원하는 런타임과 구성에서는 영향을 받은 Span에서 같은 서비스와 시간 범위의 코드 핫스팟으로 이동할 수 있습니다.

더 살펴보기

리소스 및 관련 자료

제품 문서, 관련 솔루션 및 기술 가이드에서 다음 단계를 선택하세요.

관련 글

제품 가이드, 문제 해결 워크플로 및 기술 모범 사례

코드 수준 증거를 애플리케이션과 런타임 컨텍스트에 연결

APM, 로그, OpenTelemetry, 옵저버빌리티 가이드, 문서, 요금을 살펴보세요.

시작하기 > 문서 보기 > 요금 보기 >