Flame Chart

Flame Chart 탭에는 동일한 호출 스택을 집계하는 반전 호출 차트가 표시됩니다. 즉, 같은 호출자 순서를 공유하는 동일한 메서드 또는 함수가 수집되어 Flame Chart에 (호출 차트에 표시된 것처럼 짧은 막대 여러 개가 아니라) 긴 막대 하나로 표시됩니다. 따라서 어느 메서드 또는 함수가 가장 많은 시간을 소비하는지 더 쉽게 확인할 수 있습니다. 하지만 가로축은 타임라인을 표시하지 않으며 대신 각 메서드 또는 함수가 실행되는 데 걸리는 상대적인 시간을 나타냅니다.

이 개념을 설명하려면 그림 1의 호출 차트를 이용해보세요. 메서드 D는 B를 여러 번 호출하며(B1, B2, B3) 그중 일부는 C를 호출합니다(C1 및 C3).

그림 1. 여러 메서드 호출에서 공통된 호출자 순서를 공유하는 호출 차트

B1, B2, B3은 동일한 호출자 순서 (A → D → B)를 공유하므로 그림 2와 같이 집계됩니다. 마찬가지로 C1과 C3도 동일한 호출자 순서(A → D → B → C)를 공유하므로 집계됩니다. C2는 호출자 순서(A → D → C)가 다르기 때문에 포함되지 않습니다.

그림 2. 같은 호출 스택을 공유하는 동일한 메서드 집계

집계된 호출은 그림 3에 표시된 것과 같은 Flame Chart를 만드는 데 사용됩니다. Flame Chart의 각 호출에 관해 CPU 시간을 가장 많이 소비하는 피호출자가 먼저 표시됩니다.

그림 3. 그림 5에 표시된 호출 차트를 표현한 Flame Chart