모듈 기본 모듈

모듈 프로파일 러

메모리 프로파일 러 모듈

명령:

1
var profiler = require('profiler');

정적 기능

saveSnapshot

지정된 이름에 따라 힙 스냅 샷을 저장하십시오.

1
static profiler.saveSnapshot(String fname);

통화 매개 변수 :

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

loadSnapshot

지정된 이름에 따라 힙 스냅 샷을 읽습니다.

1
static HeapSnapshot profiler.loadSnapshot(String fname);

통화 매개 변수 :

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

반환 결과 :

  • HeapSnapshot 은 읽기 힙 스냅 샷을 리턴합니다.

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;