Модуль базовый модуль

Профилировщик модуля

Модуль профилировщика памяти

Инструкции:

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: Функция, заданная проверяемой функции.

Результат возврата:

  • Object, Вернуть результат сравнения

start

Запустить текущий журнал выборки состояния

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

Параметры звонка:

  • fname: String, заданное имя файла хранилища журналов
  • time: Целое число, укажите время выборки, по умолчанию - 1 минута.
  • interval: Целое число, укажите интервал времени, по умолчанию 100 миллисекунд.

Результат возврата:

  • Timer, Вернитесь к таймеру выборки, вы можете остановить выборку заранее с помощью метода очистки

постоянный

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

Слабая ссылка (игнорируется сборщиком мусора)

1
const profiler.Edge_Weak = 6;