모듈 기본 모듈

모듈 프로파일 러

메모리 프로파일 러 모듈

명령:

1
var profiler = require('profiler');

정적 기능

saveSnapshot

지정된 이름에 따라 힙 스냅 샷 저장

1
static profiler.saveSnapshot(String fname);

호출 매개 변수 :

  • fname : 문자열, 힙 스냅 샷 이름

loadSnapshot

지정된 이름에 따라 힙 스냅 샷 읽기

1
static HeapSnapshot profiler.loadSnapshot(String fname);

호출 매개 변수 :

  • fname : 문자열, 힙 스냅 샷 이름

반환 결과 :


takeSnapshot

현재 시간 노드의 힙 스냅 샷을 가져옵니다. 힙 스냅 샷은 현재 시점의 JS 힙 상태를 기록합니다.

1
static HeapSnapshot profiler.takeSnapshot();

반환 결과 :

  • HeapSnapshot 은 획득 한 힙 정보의 스냅 샷을 반환합니다.

diff

주어진 함수를 실행하고 실행 전후 v8 힙의 변경 사항을 비교합니다.

1
static Object profiler.diff(Function test);

호출 매개 변수 :

  • test : test 기능이 주어진 경우

반환 결과 :

  • Object 는 비교 결과를 반환합니다.

start

실행 상태의 샘플링 로그 시작

1 2 3
static Timer profiler.start(String fname, Integer time = 60000, Integer interval = 100);

호출 매개 변수 :

  • fname : 문자열, 주어진 로그 저장 파일 이름
  • time : 정수, 샘플링 시간 지정, 기본값은 1 분
  • interval : 정수, 간격 시간 지정, 기본값은 100 밀리 초

반환 결과 :

  • Timer , 샘플링 타이머를 반환합니다. clear 메서드를 통해 미리 샘플링을 중지 할 수 있습니다.

일정한

Node_Hidden

사용자에게 표시 될 때 필터링 할 수있는 숨겨진 노드

1
const profiler.Node_Hidden = 0;

Node_Array

정렬

1
const profiler.Node_Array = 1;

Node_String

1
const profiler.Node_String = 2;

Node_Object

JS 객체 (문자열 및 배열 제외)

1
const profiler.Node_Object = 3;

Node_Code

컴파일 된 코드

1
const profiler.Node_Code = 4;

Node_Closure

기능 폐쇄

1
const profiler.Node_Closure = 5;

Node_RegExp

정규식

1
const profiler.Node_RegExp = 6;

Node_HeapNumber

더미의 정렬 된 숫자

1
const profiler.Node_HeapNumber = 7;

Node_Native

네이티브 개체 (v8 힙에 없음)

1
const profiler.Node_Native = 8;

Node_Synthetic

합성 물체

1
const profiler.Node_Synthetic = 9;

Node_ConsString

연결된 문자열

1
const profiler.Node_ConsString = 10;

Node_SlicedString

문자열 분할

1
const profiler.Node_SlicedString = 11;

Node_Symbol

기호 (ES6)

1
const profiler.Node_Symbol = 12;

Node_SimdValue

힙의 정렬 된 SIMD 값 (ES7)

1
const profiler.Node_SimdValue = 13;

Edge_ContextVariable

함수의 변수

1
const profiler.Edge_ContextVariable = 0;

Edge_Element

배열의 요소

1
const profiler.Edge_Element = 1;

Edge_Property

명명 된 개체의 속성

1
const profiler.Edge_Property = 2;

Edge_Internal

JS 액세스 할 수없는 링크

1
const profiler.Edge_Internal = 3;

Edge_Hidden

공간 크기를 미리 계산해야하는 노드를 가리 킵니다.

1
const profiler.Edge_Hidden = 4;

Edge_Shortcut

공간을 미리 계산할 수없는 노드를 가리 킵니다.

1
const profiler.Edge_Shortcut = 5;

Edge_Weak

약한 참조 (GC에서 무시 됨)

1
const profiler.Edge_Weak = 6;