Базовый модуль модуля

профилировщик модулей

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

Инструкции:

1
var profiler = require('profiler');

статическая функция

getHeapCodeStatistics

Get= статистика о коде в куче v8 и его метаданных

1
static Object profiler.getHeapCodeStatistics();

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

  • Object, возвращает статистическую информацию метаданных

getHeapSpaceStatistics

Получите подробную информацию об использовании кучи памяти v8.

1
static Array profiler.getHeapSpaceStatistics();

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

  • Array, возвращает подробную информацию об использовании динамической памяти.

getHeapStatistics

Получить статистику использования кучи v8

1
static Object profiler.getHeapStatistics();

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

  • Object, возвращает статистику использования динамической памяти

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: строка, заданная имя файла хранилища журнала.
  • 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;