profileur de modules
Module profileur de mémoire
Instructions:
1var profiler = require('profiler');
fonction statique
getHeapCodeStatistics
Get = statistiques sur le code dans le tas v8 et ses métadonnées
1static 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
1static 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
1static 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é
1static 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é
1static HeapSnapshot profiler.loadSnapshot(String fname);
Paramètres d'appel :
- fname: Chaîne, nom de l'instantané de tas
Résultats de retour :
- HeapSnapshot, renvoie l'instantané du tas de lecture
takeSnapshot
Obtenez l'instantané du tas du nœud temporel actuel. L'instantané du tas enregistre l'état du tas JS au moment actuel.
1static 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
1static 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
3static 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
1const profiler.Node_Hidden = 0;
Node_Array
tableau
1const profiler.Node_Array = 1;
Node_String
chaîne
1const profiler.Node_String = 2;
Node_Object
Objets JS (sauf chaînes et tableaux)
1const profiler.Node_Object = 3;
Node_Code
code compilé
1const profiler.Node_Code = 4;
Node_Closure
fermeture de fonction
1const profiler.Node_Closure = 5;
Node_RegExp
expression régulière
1const profiler.Node_RegExp = 6;
Node_HeapNumber
Numéros triés dans un tas
1const profiler.Node_HeapNumber = 7;
Node_Native
Objet natif (heap non-v8)
1const profiler.Node_Native = 8;
Node_Synthetic
Objet synthétique
1const profiler.Node_Synthetic = 9;
Node_ConsString
chaînes concaténées
1const profiler.Node_ConsString = 10;
Node_SlicedString
chaîne divisée
1const profiler.Node_SlicedString = 11;
Node_Symbol
Symboles (ES6)
1const profiler.Node_Symbol = 12;
Node_SimdValue
Valeurs SIMD triées dans le tas (ES7)
1const profiler.Node_SimdValue = 13;
Edge_ContextVariable
variables dans les fonctions
1const profiler.Edge_ContextVariable = 0;
Edge_Element
éléments dans un tableau
1const profiler.Edge_Element = 1;
Edge_Property
Propriétés des objets nommés
1const profiler.Edge_Property = 2;
Edge_Internal
JS ne peut pas entrer le lien
1const profiler.Edge_Internal = 3;
Edge_Hidden
Pointez sur le nœud dont la taille de l'espace doit être calculée à l'avance
1const 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
1const profiler.Edge_Shortcut = 5;
Edge_Weak
une référence faible (ignorée par GC)
1const profiler.Edge_Weak = 6;