Rapports de pile

Vous pouvez utiliser l'outil de mesure des performances pour générer des rapports de pile. Les rapports de pile comprennent les mesures pour la pile des opérations qui sont utilisées lorsque vous exécutez une opération d'échantillon.

Vous pouvez utiliser ces informations de pile pour aider à résoudre les problèmes potentiels de performances en identifiant les opérations les plus lentes et les plus rapides dans la pile. Vous pouvez également utiliser ces informations pour déterminer le temps moyen d'exécution des opérations et identifier les retards qui se produisent lors d'une opération.

Remarque : Lorsque vous examinez un rapport de pile, utilisez un éditeur XML de sorte que vous pouvez réduire et développer les éléments XML pour faciliter l'analyse du rapport.
Chaque nœud de pile dans un rapport de pile contient les informations suivantes :
<stack
  duration="4"
  name="MyOperationName"
  identifier="2670927491505327545"
  parent-identifier="2670927491505327544"
  start-time-nano="476309169964766"
  end-time-nano="476309174656525"
  duration-nano="4691759"
  result-size="1577"
  cache-enabled="false"
  from-cache="false"
  unique-key="userId=123,objectId=456"
>
,
duration
Durée de l'opération en millisecondes
name
Nom de l'opération.
identifier
Identificateur unique pour l'exécution de l'opération. Cette valeur est utilisée pour corréler les relations parent-enfant.
parent-identifier
Identificateur unique pour l'exécution de l'opération parent. Cette valeur est utilisée pour corréler les relations parent-enfant.
start-time-nano
Début de l'opération en nanosecondes. Cette valeur en nanosecondes est relative à la valeur du paramètre end-time-nano.
end-time-nano
Fin de l'opération en nanosecondes. Cette valeur en nanosecondes est relative à la valeur du paramètre start-time-nano.
duration-nano
Durée de l'opération en nanosecondes.
result-size
Taille du résultat en octets.
cache-enabled
Indique si la mémoire cache a été activée lorsque l'opération a été exécutée.
from-cache
Indique si l'opération a extrait le résultat de la mémoire cache pendant l'exécution de l'opération. Les valeurs peuvent être les suivantes : true ou false.
unique-key
Clé unique qui a été utilisée pendant l'exécution de l'opération. Cette clé est constituée par la concaténation des noms et des valeurs de paramètres en une seule chaîne.

Exemple

Le code ci-après un exemple de rapport de pile. Chaque exécution de pile dans le rapport inclut une durée en millisecondes. Si l'exécution se traduit par des opérations enfant, la durée se décompose entre ces autres opérations enfant de pile. S'il y a un retard supérieur à 1 milliseconde entre les opérations sur la pile, une opération delta s'affiche. Par exemple :
<stack duration="36" name="parent">
  <delta duration="11"/>
  <stack duration="5" name="child1"/>
  <stack duration="16" name="child2"/>
  <delta duration="4"/>
</stack>
Ce rapport de pile enregistre la durée de l'opération "parent" et ses opérations enfant "child1" et "child2". L'opération "parent" a nécessité 36 millisecondes dans son ensemble, à savoir les durées de pile et delta suivantes :
  • delta : Un délai de 11 millisecondes a été rencontré dans l'opération "parent".
  • stack : L'opération "child1" s'est exécutée et a duré 5 millisecondes.
  • stack : L'opération "child2" s'est exécutée et a duré 16 millisecondes.
  • delta : Un délai de 4 millisecondes a été rencontré dans l'opération "parent".