| By Jason Heaslet | Article Rating: |
|
| October 19, 2005 09:30 PM EDT | Reads: |
17,197 |
So the actual output would look something like:
SQL Queries
qryFoo2 (Datasource=, Time=0ms, Records=1) in C:\Inetpub\
wwwroot\foo.cfm @ 23:23:30.030
Select * from qryFoo
Scope Variables
CGI Variables:
AUTH_PASSWORD=
AUTH_TYPE=
AUTH_USER=
CERT_COOKIE=
CERT_FLAGS=
CERT_ISSUER=
CERT_KEYSIZE=
Cookie Variables
CFADMIN_LASTPAGE=/CFIDE/administrator/debugging/index.cfm
JSESSIONID=8430c64ef280$C7$06$E
Debug Rendering Time: 78 ms
Note the "Debug Rendering Time" listed above. "Debug Rendering Time" is in addition to the processing time required to deliver the rest of the page.
Some of the new features like <CFTRACE> will help you track program flow and efficiency. Adding a Trace will look something like:
<cftrace abort="no" inline="yes" type="warning" var="FooTrace" text="This is a trace">
And will output something like :
We can use <CFTRACE> in our code to get an idea of how our application is performing as we are utilizing it. Utilizing this method should step up your performance investigation and just like the use of getTickCount() should be removed from your final release. A partner to <CFTRACE>, and speaking of getTickCount(), is a new mechanism that performs the same functions that we used to use "getTickCount()" functions for, <CFTIMER>. It's a bit leaner than the use of getTickCount() and can be rendered in debug, outline, inline, and comment form. Here is an example of its use:
<cftimer Label="timerFoo" type="DEBUG">
<cfquery name="qryFoo2" dbtype="query">
Select * from qryFoo
</cfquery>
</cftimer>
Here's an example of its output:
CFTimer Times
[31ms] timerFoo
My favorite, for performance debugging though, is a little used command-line tool called CFSTAT. It wasn't really advertised as part of the application server but has been shipped with it since at least version 4. It can be found in the \bin directory of your CFMX root. Its utilization is simple: CFSTAT <space> interval (in seconds).
CFSTAT 2 … the 2 referring to a 2 second interval
CFSTAT will deliver:
1. Pages per second - now and high
- This is how many requests came in during the last interval.
- This will show how many query requests were performed by CF including any query manipulation you do on your own.
- Note that this name is misleading and in reality reflects all query requests, locally built and externally requested.
- "Cache Pops" refers to pulling data from cache.
- i.e., a <CFQUERY> that may be utilizing the "cachedwithin" attribute.
- The number of requests still waiting to be processed.
- The number of requests that are currently being processed.
- The number of requests that exceeded your administrator time out settings.
- The average amount of time a request was in the queue waiting to be processed (in milliseconds).
- The average amount of time it is currently taking to process requests ( in milliseconds).
- The average time required to process your query requests.
- Note that this name is misleading and in reality reflects all query requests, local built, and externally requested.
- The amount of data received by the CF Server (in bytes).
- The amount of data transmitted back to the requesting browser (including whitespace) (also in bytes).
In this article I directed my focus on the performance aspects of the CFMX debugging features more so than the generic ones. However, if you have any questions about how to go about writing some custom debugging features of your own, or would like to share some of your how-tos, please feel free to e-mail me at Jason@Heaslet.net
Published October 19, 2005 Reads 17,197
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
![]() |
CFDJ News Desk 10/19/05 09:03:46 PM EDT | |||
Debugging ColdFusion MX7 Debugging. That necessary evil that none of us dare turn on in our production environments unless it is absolutely necessary. We all wonder what all that stuff does don't we? Well, let's investigate what some of it does, and what it means. |
||||
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Adobe May Cooperate with Apple to Transplant Flash Player to iPhone
- Adobe Flex Developer Earns $100K in New York City
- Adobe LiveCycle Enterprise Suite 2 for Cloud Computing
- Adobe Betas Target RIAs and Cloud Computing
- Adobe Cans Another 9% of its Workforce
- Moyea DVD4Web Converter V2.0 Converts DVD to FLV Fast and Synchronously with Watermarks
- Adobe & Salesforce Cut Cloud Deal
- Adobe Fiddles with its Web Apps
- Hosting.com Launches ColdFusion 9 in the Cloud
- The Real Time Infrastructure Ultimatum
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Eval JavaScript in a Global Context
- Fig Leaf Software to Exhibit at Government IT Conference & Expo
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Is Microsoft as Free as Open Source?
- Adobe Reader Sued
- The Planet Named “Bronze Sponsor” of Cloud Computing Expo
- Microsoft Expression Web Has Got Game
- Adobe May Cooperate with Apple to Transplant Flash Player to iPhone
- Adobe Flex Developer Earns $100K in New York City
- Bruce Chizen Joins Voyager Capital as Venture Partner
- My Top Seven Wishes From Adobe MAX 2009
- The Next Programming Models, RIAs and Composite Applications
- Where Are RIA Technologies Headed in 2008?
- Constructing an Application with Flash Forms from the Ground Up
- AJAX World RIA Conference & Expo Kicks Off in New York City
- CFEclipse: The Developer's IDE, Eclipse For ColdFusion
- Personal Branding Checklist
- Adobe Flex 2: Advanced DataGrid
- Has the Technology Bounceback Begun?
- Building a Zip Code Proximity Search with ColdFusion
- i-Technology Viewpoint: We Need Not More Frameworks, But Better Programmers
- The Asynchronous CFML Gateway
- Web Services Using ColdFusion and Apache CXF























