Code profiler in ColdFusion Performance Monitoring Toolset
Code Profiler in ColdFusion Performance Monitoring Toolset

Run Code profiler

The Performance Monitoring Toolset monitors all transactions on a ColdFusion server and captures the response times along with other basic details of a transaction.

The procedure requires recording metrics for all components of a transaction, and thus you have the Code Profiler.

To run the code profiler, click Code Profiler on the left panel.

The tags that are not captured in profiling are: 

  1. cfif
  2. cfelse
  3. cfelseif
  4. cftry
  5. cfcatch
  6. cfset
Code profiler
Code profiler
  1. Choose the server, which needs to be profiled.

  2. Enable the option Memory Profiling.

    The option lets you know the memory consumption and the location of the variable. The field is optional. Enable it if you want to profile memory usage as well.

  3. Choose the profile mode:

    • Application: Specify the name of the application, that needs profiling. Profiling does not capture the data for other applications, which are not added.
    • URL: Specify a URL that needs profiling. Add the URL and make sure that profile check-box is selected. Profiling does not capture the data for other URLs, which are not added.
    • Server: Choose the server that needs profiling.
  4. To start the process, click Start Profiling. You can view the profiling results, as shown below:

    Code profiling history
    Code profiling history
  5. In the Actions column, you can:

    • View profile data
    • Download a profile data
    • Delete a profile data


The Code Profiler only profiles the following built-in functions:

  • ORM
  • ORMSearch
  • ORMSearchOffline
  • Encode*
  • Decode*
  • XMLFormat
  • JSformat
  • Encryption
  • SecretKey
  • GetSOAPRequest
  • ObjectLoad
  • ObjectSave
  • Compare
  • Wrap
  • REFInd
  • REFindNocase
  • REMatch
  • File operation functions
  • PrinterInfo
  • StructAppend
  • RunAsync
  • StructToSorted
  • Sort
  • Map
  • Each
  • Filter
  • Find
  • Reduce
  • Evaluate
  • PrecisionEvaluate
  • DateDiff
  • Xml functions
  • Array functions

View profile data

To view the profile data, click the Eye icon in the Action column.

  1. Expand an execution, as shown below:

    Execution time
    Execution time
  2. Click the url of the cfm that you had run.

    You can see the following sections:

    Basic info

    The section displays the following details:

    • HTTP method
    • URI
    • Status code
    • Response time
    • Template path
    • Cluster id
    • ...and more
    Code flow The section displays the cfm file's particular line number and the time taken by the code in that line to execute.
    CF server

    The section displays the following details:

    • JVM: You can view, for example, memory usage of heap and non-heap, count of GC, and other JVM properties.
    • Template cache size: You can view, for example, template cache count and hit ratio.
    • Request queue size
    • Throttle data
    Database View the databases that are used in the cfm.
    External services View services, such as, cfhttp, cfftp, or cffeed.
    Tags/Functions View the tags and functions that are used in the cfm and the number of times they are called.
    Error/Timeout View timeout errors, if any,  when executing the cfm.
    Memory View the places that contain each variable used in the cfm along with the name of the function and function scopes.

Download a profile data

To download the profile data, click the Download button in the Action column.

  1. Once you download the profile data as .json file, you can use ColdFusion Builder to import the profile data and can debug further.

  2. In ColdFusion Builder, right-click on a project, click Import, and choose Import Code Profiler Data.

    Import code profiler data
    Import code profiler data

    To proceed, click Next.

  3. Choose the .json file and click Finish.

    Browse to profile data
    Browse to profile data
  4. Right-click on the project, click Performance Monitoring Toolset Profiler > Run Performance Monitoring Toolset Profiler.

    You can see the results in the profiler tab, as shown below:

    Profiler results
    Profiler results

    To view the line in the file, double-click any item.


    The code must be in sync with the project before running the code profiler. Otherwise, the line points to a wrong place in the code.