플레임 그래프

플레임 그래프 (Flame Graph)

플레임 그래프는 계층적 데이터(주로 CPU 프로파일링 데이터)를 시각화하는 패널이에요. 각 사각형은 하나의 함수 호출을 나타내고, 사각형의 너비는 함수가 CPU 시간에서 차지하는 비율을 보여줘요. 호출 스택을 세로로 쌓은 구조라서 어떤 함수가 가장 많은 시간을 소비하는지 한눈에 파악할 수 있어 성능 병목을 찾는 데 유용합니다.

출처: 문서

본문

플레임 그래프 시각화는 계층적 데이터를 시각화하는 데 사용됩니다. 각 버튼은 데이터의 일부분을 나타내며, 주로 CPU 프로파일러 호출 스택을 표시할 때 사용됩니다.

플레임 그래프에서 각 사각형(버튼)은 단일 함수를 나타내며, x축은 프로파일링 샘플에 나타난 시간 비율을 나타냅니다. 색상은 기본적으로 어두운 색일수록 더 많은 시간을 소비하는 함수를 나타냅니다.

다음 기능을 제공합니다.

  • 검색과 강조 — 상단 검색 바에서 텍스트를 입력해 특정 함수를 찾고 일치하는 버튼을 강조
  • 드릴다운 — 버튼 위에 마우스를 올려 함수 이름, 샘플 수, 비율, 라이브러리 정보를 확인
  • 그룹화 — 같은 이름의 함수를 하나의 버튼으로 병합

플레임 그래프 패널은 pyroscope 데이터 소스와 Phlare, 그리고 프로파일링 데이터를 반환하는 데이터 소스를 지원합니다. 데이터 형식으로는 flamegraph 데이터 프레임 형식을 사용합니다.

구성 옵션

패널 옵션 (Panel options)

패널 편집기 창의 Panel options 섹션에서 패널 제목, 설명, 패널 링크 등 기본 옵션을 설정합니다.

레벨당 표시 옵션

  • Coloring — 버튼 색상 방식을 설정합니다. Profiling - 기본 프로파일링 색상 사용, Value - 버튼이 나타내는 값에 따라 색상 결정, Fixed - 단일 색상 사용.

검색 옵션

  • Search — 분석 대상에 맞게 값을 검색합니다. 켜면 검색 바가 표시되고 입력한 정규식과 일치하는 버튼이 강조됩니다.

데이터 소스 지원

플레임 그래프 시각화는 프로파일링 데이터를 반환하는 Pyroscope, Phlare 같은 데이터 소스에서 동작합니다. 자세한 내용은 프로파일링 데이터 소스 문서를 참고하세요.

더 알아보기 (Learn more)