Module de base

profileur de modules

Module profileur de mémoire

Instructions:

1
var profiler = require('profiler');

fonction statique

getHeapCodeStatistics

Get = statistiques sur le code dans le tas v8 et ses métadonnées

1
static Object profiler.getHeapCodeStatistics();

Résultats de retour :

  • Object, renvoie des informations statistiques sur les métadonnées

getHeapSpaceStatistics

Obtenez une utilisation détaillée de la mémoire tas v8

1
static Array profiler.getHeapSpaceStatistics();

Résultats de retour :

  • Array, renvoie l'utilisation détaillée de la mémoire tas

getHeapStatistics

Obtenez les statistiques d'utilisation de la mémoire tas v8

1
static Object profiler.getHeapStatistics();

Résultats de retour :

  • Object, renvoie des statistiques sur l'utilisation de la mémoire tas

saveSnapshot

Enregistrer un instantané de tas sous le nom spécifié

1
static profiler.saveSnapshot(String fname);

Paramètres d'appel :

  • fname: Chaîne, nom de l'instantané de tas

loadSnapshot

Lire un instantané de tas basé sur le nom spécifié

1
static HeapSnapshot profiler.loadSnapshot(String fname);

Paramètres d'appel :

  • fname: Chaîne, nom de l'instantané de tas

Résultats de retour :


takeSnapshot

Obtenez l'instantané du tas du nœud temporel actuel. L'instantané du tas enregistre l'état du tas JS au moment actuel.

1
static HeapSnapshot profiler.takeSnapshot();

Résultats de retour :

  • HeapSnapshot, renvoie l'instantané des informations de tas obtenu

diff

Exécutez la fonction donnée et comparez les modifications dans le tas v8 avant et après l'exécution

1
static Object profiler.diff(Function test);

Paramètres d'appel :

  • test: Fonction, étant donné la fonction à tester

Résultats de retour :

  • Object, renvoie le résultat de la comparaison

start

Démarrer un journal d'échantillonnage de l'état d'exécution

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

Paramètres d'appel :

  • fname: Chaîne, étant donné le nom du fichier de stockage du journal
  • time: Entier, spécifie la durée d'échantillonnage, la valeur par défaut est 1 minute
  • interval: Entier, spécifiez l'intervalle de temps, la valeur par défaut est 100 millisecondes

Résultats de retour :

  • Timer, renvoie la minuterie d'échantillonnage, vous pouvez arrêter l'échantillonnage plus tôt grâce à la méthode clear

constante

Node_Hidden

Nœuds masqués qui peuvent être filtrés lorsqu'ils sont affichés à l'utilisateur

1
const profiler.Node_Hidden = 0;

Node_Array

tableau

1
const profiler.Node_Array = 1;

Node_String

chaîne

1
const profiler.Node_String = 2;

Node_Object

Objets JS (sauf chaînes et tableaux)

1
const profiler.Node_Object = 3;

Node_Code

code compilé

1
const profiler.Node_Code = 4;

Node_Closure

fermeture de fonction

1
const profiler.Node_Closure = 5;

Node_RegExp

expression régulière

1
const profiler.Node_RegExp = 6;

Node_HeapNumber

Numéros triés dans un tas

1
const profiler.Node_HeapNumber = 7;

Node_Native

Objet natif (heap non-v8)

1
const profiler.Node_Native = 8;

Node_Synthetic

Objet synthétique

1
const profiler.Node_Synthetic = 9;

Node_ConsString

chaînes concaténées

1
const profiler.Node_ConsString = 10;

Node_SlicedString

chaîne divisée

1
const profiler.Node_SlicedString = 11;

Node_Symbol

Symboles (ES6)

1
const profiler.Node_Symbol = 12;

Node_SimdValue

Valeurs SIMD triées dans le tas (ES7)

1
const profiler.Node_SimdValue = 13;

Edge_ContextVariable

variables dans les fonctions

1
const profiler.Edge_ContextVariable = 0;

Edge_Element

éléments dans un tableau

1
const profiler.Edge_Element = 1;

Edge_Property

Propriétés des objets nommés

1
const profiler.Edge_Property = 2;

Edge_Internal

JS ne peut pas entrer le lien

1
const profiler.Edge_Internal = 3;

Edge_Hidden

Pointez sur le nœud dont la taille de l'espace doit être calculée à l'avance

1
const profiler.Edge_Hidden = 4;

Edge_Shortcut

Pointe vers un nœud dont la taille de l'espace ne peut pas être calculée à l'avance

1
const profiler.Edge_Shortcut = 5;

Edge_Weak

une référence faible (ignorée par GC)

1
const profiler.Edge_Weak = 6;