2013-05-15 2 views
0

Je lance une application cfwheels sur Coldfusion 9 et j'ai besoin de récupérer les variables de débogage natives de cfhweels pour les stocker dans une table db.Problèmes de vidage struct de request.wheels.execution de CFWheels

J'essaie d'obtenir #request.wheels.execution# qui renvoie une structure avec les temps de fonctionnement du contrôleur, action, demande. Quand je jette la structure je reçois quelques millions de millisecondes comme temps de fonctionnement et le même code au bas de mon écran montre quelques centaines de millisecondes, ce qui est le bon moment. Quelqu'un sait-il comment ces nombres sont traduits aux nombres montrant sur la section de débogage?

C'est le code que j'ai obtenu directement de cfwheels qui affiche les temps d'exécution en bas de l'écran mais lorsque j'isole le code, les numéros sont de nouveau complètement bousillés.

<cfif request.wheels.execution.total GT 0> 
    (<cfset loc.keys = StructSort(request.wheels.execution, "numeric", "desc")> 
    <cfset loc.firstDone = false> 

     <cfloop from="1" to="#arrayLen(loc.keys)#" index="loc.i"> 
      <cfset loc.key = loc.keys[loc.i]> 
      <cfif loc.key IS NOT "total" AND request.wheels.execution[loc.key] GT 0> 
       <cfif loc.firstDone> 
        , 
       </cfif> 
        #LCase(loc.key)# ~#request.wheels.execution[loc.key]#ms<cfset loc.firstDone = true> 
      </cfif> 
     </cfloop>) 
    </cfif> 

Répondre

0

Les valeurs que vous voyez dans la sortie de débogage sont les différences en millisecondes enregistrées par le cadre qu'elle appelle getTickCount() à différents moments de la demande.

Vous pouvez démo ce en rechargeant en mode conception et en ajoutant au haut de votre point de vue de la mise en page:

<cfset ticks = getTickCount() /> 

Puis, comme la dernière ligne de la vue, ajoutez ceci:

<cfoutput> 
this view took #getTickCount()-ticks# milliseconds to process. 
</cfoutput>