профилировщик модулей
Модуль профилировщика памяти
Инструкции:
1var profiler = require('profiler');
статическая функция
getHeapCodeStatistics
Get= статистика о коде в куче v8 и его метаданных
1static Object profiler.getHeapCodeStatistics();
Результаты возврата:
- Object, возвращает статистическую информацию метаданных
getHeapSpaceStatistics
Получите подробную информацию об использовании кучи памяти v8.
1static Array profiler.getHeapSpaceStatistics();
Результаты возврата:
- Array, возвращает подробную информацию об использовании динамической памяти.
getHeapStatistics
Получить статистику использования кучи v8
1static Object profiler.getHeapStatistics();
Результаты возврата:
- Object, возвращает статистику использования динамической памяти
saveSnapshot
Сохраните снимок кучи под указанным именем.
1static profiler.saveSnapshot(String fname);
Параметры звонка:
- fname: строка, имя снимка кучи.
loadSnapshot
Чтение снимка кучи на основе указанного имени
1static HeapSnapshot profiler.loadSnapshot(String fname);
Параметры звонка:
- fname: строка, имя снимка кучи.
Результаты возврата:
- HeapSnapshot, возвращает снимок прочитанной кучи
takeSnapshot
Получите снимок кучи текущего узла времени. Снимок кучи записывает состояние кучи JS на текущий момент.
1static HeapSnapshot profiler.takeSnapshot();
Результаты возврата:
- HeapSnapshot, возвращает полученный снимок информации о куче
diff
Выполните заданную функцию и сравните изменения в куче v8 до и после выполнения.
1static Object profiler.diff(Function test);
Параметры звонка:
- test: Функция с учетом функции, подлежащей тестированию.
Результаты возврата:
- Object, возвращает результат сравнения
start
Запустить журнал выборки текущего состояния
1
2
3static Timer profiler.start(String fname,
Integer time = 60000,
Integer interval = 100);
Параметры звонка:
- fname: строка, заданная имя файла хранилища журнала.
- time: целое число, указывает время выборки, значение по умолчанию — 1 минута.
- interval: целое число, укажите интервал времени, по умолчанию — 100 миллисекунд.
Результаты возврата:
- Timer, возвращает таймер выборки, вы можете остановить выборку раньше с помощью методаclear
постоянный
Node_Hidden
Скрытые узлы, которые можно отфильтровать при отображении пользователю.
1const profiler.Node_Hidden = 0;
Node_Array
множество
1const profiler.Node_Array = 1;
Node_String
нить
1const profiler.Node_String = 2;
Node_Object
Объекты JS (кроме строк и массивов)
1const profiler.Node_Object = 3;
Node_Code
скомпилированный код
1const profiler.Node_Code = 4;
Node_Closure
закрытие функции
1const profiler.Node_Closure = 5;
Node_RegExp
регулярное выражение
1const profiler.Node_RegExp = 6;
Node_HeapNumber
Сортированные числа в куче
1const profiler.Node_HeapNumber = 7;
Node_Native
Собственный объект (куча, отличная от v8)
1const profiler.Node_Native = 8;
Node_Synthetic
Синтетический объект
1const profiler.Node_Synthetic = 9;
Node_ConsString
объединенные строки
1const profiler.Node_ConsString = 10;
Node_SlicedString
разделить строку
1const profiler.Node_SlicedString = 11;
Node_Symbol
Символы (ES6)
1const profiler.Node_Symbol = 12;
Node_SimdValue
Отсортированные значения SIMD в куче (ES7)
1const profiler.Node_SimdValue = 13;
Edge_ContextVariable
переменные в функциях
1const profiler.Edge_ContextVariable = 0;
Edge_Element
элементы в массиве
1const profiler.Edge_Element = 1;
Edge_Property
Свойства именованных объектов
1const profiler.Edge_Property = 2;
Edge_Internal
JS не может войти по ссылке
1const profiler.Edge_Internal = 3;
Edge_Hidden
Укажите на узел, размер пространства которого необходимо рассчитать заранее.
1const profiler.Edge_Hidden = 4;
Edge_Shortcut
Указывает на узел, размер пространства которого невозможно рассчитать заранее.
1const profiler.Edge_Shortcut = 5;
Edge_Weak
слабая ссылка (игнорируется GC)
1const profiler.Edge_Weak = 6;