Chrome Devtool (CPU프로파일링, 힙덤프)

2021. 3. 23. 02:28 Browser/크롬, 크로미움

참조문서 : https://developers.google.com/web/tools/chrome-devtools/rendering-tools/js-execution

웹어플리케이션 분석할 때 쓰지만, V8_inspector을 이용하여 노드에서도 쓸 수 있다.

1. CPU Profile

CPU 사용량을 기록한다.

  • Self Time : 함수의 현재 호출을 완료하는 데 얼마나 걸린 시간
  • Total Time : 이 함수와 해당 함수가 호출한 모든 함수의 현재 호출을 완료하는 데 걸린 시간

2. Heap Snapshot

클릭시점에서 스냅샷 기록

  • Shallow Size : array string과 같이 직접적으로 메모리를 점유하고 있는 js 객체들의 크기, 실제 데이터가 있는 영역
  • Retained Size : GC 이후 남겨진 메모리의 크기, 실제 사용중인 JS Heap의 크기
  • Distance : GC root로 부터의 Retaining path

3. Allocation Timeline

시간을 기준으로 메모리 할당과 해제를 반복하여 남겨진 메모리를 기록한다.

4. Allocation Profile

function을 기준으로 메모리량을 기록한다. 이거 쓸라면 익명함수 쓰면안되고 함수명 지정해줘야한다.. 그래야 이름이 뜨지



출처: https://sjh836.tistory.com/108?category=687142 [빨간색코딩]