User Guide Cancel

Code profiler in ColdFusion Performance Monitoring Toolset

  1. ColdFusion Tools User Guide
  2. Performance Monitoring Toolset
    1. Overview of ColdFusion Performance Monitoring Toolset
    2. Auto-discovery of ColdFusion nodes and clusters
    3. Code profiler in ColdFusion Performance Monitoring Toolset
    4. Configure ColdFusion Performance Monitoring Toolset settings
    5. Install ColdFusion Performance Monitoring Toolset
    6. View cloud metrics
    7. Monitor GraphQL in Performance Monitoring Toolset
    8. Configure TLS/SSL and Authentication for Elasticsearch 8.x  in Performance Monitoring Toolset
    9. View cluster and node metrics
    10. View data source metrics
    11. View external services
    12. View incoming services
    13. View list of sites and busy connections
    14. View topology of sites
    15. Datastore Health Monitoring
    16. Performance Monitoring Toolset Update 1
    17. Secure Performance Monitoring Toolset with HTTPS/SSL
    18. Performance Monitoring Toolset deployment guide
  3. Use ColdFusion Builder
    1. About ColdFusion Builder
    2. System requirements | ColdFusion Builder
    3. Install ColdFusion Builder
    4. Edit code in ColdFusion Builder
    5. Manage servers in ColdFusion Builder
    6. Manage projects in ColdFusion Builder
    7. What's new in Adobe ColdFusion Builder (2018 release)
    8. Frequently Asked Questions (FAQ) | Adobe ColdFusion Builder (2018 release)
    9. Debug applications in ColdFusion Builder
    10. ColdFusion Builder workbench
    11. ColdFusion Builder extensions
    12. Debugging Perspective in ColdFusion Builder
    13. Build mobile applications using ColdFusion Builder
    14. Bundled ColdFusion Server
    15. Debug mobile applications in ColdFusion Builder
    16. Use extensions in ColdFusion Builder
  4. Coldfusion API Manager
    1. Overview of Adobe ColdFusion API Manager
    2. Features in ColdFusion API Manager
    3. Get started with ColdFusion API Manager
    4. Install ColdFusion API Manager
    5. Authentication types
    6. Create and publish APIs
    7. Administrator
    8. Subscriber
    9. Throttling and rate limiting
    10. Notifications
    11. Connectors
    12. Set up cluster support
    13. Integrate ColdFusion and API Manager
    14. Metrics and Logging in API Manager
    15. Generate Swagger documents
    16. Configure SSL
    17. Known issues in this release
    18. Policies in ColdFusion API Manager
    19. Create a Redis cluster
    20. Multitenancy in API Manager
    21. Docker images for ColdFusion API Manager

Adobe ColdFusion Builder is End of Life from Oct 1, 2024

Thank you for being part of the exciting journey of Adobe ColdFusion Builder.

As Adobe continues to focus on ColdFusion Builder extension for Visual Studio Code as the IDE for Adobe ColdFusion, we have decided to End of Life (EOL) Adobe ColdFusion Builder on Oct 1, 2024.

View the End of Life (EOL) announcement for ColdFusion Builder.

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
Note:

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.

    Note:

    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.

Get help faster and easier

New user?