0

Coldfusion 9 で cfwheels アプリケーションを実行していますが、cfhweels のネイティブ デバッグ変数を取得して db テーブルに格納する必要があります。

#request.wheels.execution#コントローラー、アクション、リクエストの実行時間を含む構造体を返すものを取得しようとしています。構造体をダンプすると、実行時間として数百万ミリ秒が表示され、画面の下部にあるまったく同じコードに、正しい時間である数百ミリ秒が表示されます。

これらの数値がデバッグ セクションに表示される数値にどのように変換されるか知っている人はいますか?

これは、画面の下部に実行時間を出力する cfwheels から直接取得したコードですが、コードを分離すると、数字がすべてめちゃくちゃになります。

 <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>
4

1 に答える 1

0

デバッグ出力に表示される値は、フレームワークgetTickCount()がリクエスト中にさまざまなタイミングで呼び出すときに記録されたミリ秒単位の差です。

デザイン モードでリロードし、これをレイアウト ビューの上部に追加することで、これをデモできます。

<cfset ticks = getTickCount() />

次に、ビューの最後の行として、これを追加します。

<cfoutput>
this view took #getTickCount()-ticks# milliseconds to process.
</cfoutput>
于 2013-09-13T06:48:21.227 に答える