Using tracing

As its name indicates, the cftrace tag is designed to help you trace the execution of your application. It can help you do any of several things:

  • You can time the execution of a tag or code section. This capability is useful for tags and operations that can take substantial processing time. Typical candidates include all ColdFusion tags that access external resources, including cfquery, cfldap, cfftp, cffile, and so on. To time execution of any tag or code block, call the cftrace tag before and after the code you want to time.

  • You can display the values of internal variables, including data structures. For example, you can display the raw results of a database query.

  • You can display an intermediate value of a variable. For example, you could use this tag to display the contents of a raw string value before you use string functions to select a substring or format it.

  • You can display and log processing progress. For example, you can place a cftrace call at the head of pages in your application or before critical tags or calls to critical functions. (Doing this could result in massive log files in a complex application, so use this technique with care.)

  • If a page has many nested cfif and cfelseif tags you can place cftrace tags in each conditional block to trace the execution flow. When you do this, use the condition variable in the message or var attribute.

  • If you find that the ColdFusion server is hanging, and you suspect a particular block of code (or call to a cfx tag, COM object, or other third-party component), you can place a cftrace tag before and after the suspect code, to log entry and exit.