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 回答