View cluster and node metrics
- ColdFusion User Guide
- Introduction to ColdFusion
- About Adobe ColdFusion
- Download Adobe ColdFusion
- What's new in ColdFusion (2023 release)
- ColdFusion (2023 release) Release Notes
- Deprecated Features
- REST enhancements in ColdFusion
- Central Configuration Server
- Server Auto-Lockdown
- Asynchronous programming
- Docker images for ColdFusion
- SAML in ColdFusion
- JSON Web Tokens in ColdFusion
- Use SAML and LDAP in Admin
- Cloud Services in ColdFusion
- ColdFusion and GCP Storage
- ColdFusion and GCP Firestore
- ColdFusion and GCP PubSub
- ColdFusion and Amazon S3
- ColdFusion and DynamoDB
- ColdFusion and Amazon SQS
- ColdFusion and Amazon SNS
- ColdFusion and MongoDB
- ColdFusion and Azure Blob
- ColdFusion and Azure Service Bus
- Multi-cloud storage services
- Multi-cloud RDS databases
- ColdFusion and Azure Cosmos DB
- Install ColdFusion
- Install the server configuration
- Install ColdFusion- Zip Installer
- Install ColdFusion- GUI Installer
- CFSetup configuration tool
- ColdFusion Licensing and Activation
- ColdFusion server profiles
- Prepare to install ColdFusion
- Install the JEE configuration
- Install ColdFusion Express
- Install integrated technologies
- Configure your system
- Troubleshoot installation issues
- Install ColdFusion silently
- Install Adobe ColdFusion (2016 release) hotfix
- ColdFusion (2018 release) - Install JEE configuration
- Use ColdFusion
- Performance Monitoring Toolset
- Overview of ColdFusion Performance Monitoring Toolset
- Auto-discovery of ColdFusion nodes and clusters
- Code profiler in ColdFusion Performance Monitoring Toolset
- Configure ColdFusion Performance Monitoring Toolset settings
- Install ColdFusion Performance Monitoring Toolset
- View cloud metrics
- Monitor GraphQL in Performance Monitoring Toolset
- Configure TLS/SSL and Authentication for Elasticsearch 8.x in Performance Monitoring Toolset
- View cluster and node metrics
- View data source metrics
- View external services
- View incoming services
- View list of sites and busy connections
- View topology of sites
- Datastore Health Monitoring
- Performance Monitoring Toolset Update 1
- Secure Performance Monitoring Toolset with HTTPS/SSL
- Performance Monitoring Toolset deployment guide
- Adobe ColdFusion Builder extension for Visual Studio Code
- Getting started with Adobe ColdFusion Builder extension for Visual Studio Code
- Add a ColdFusion server
- Project Manager
- Work with ColdFusion code
- Profile preferences
- Debug applications
- Services Browser
- RDS support
- PMT Code Profiler integration
- Security Analyzer report integration
- Known issues in this release
- Getting started with Adobe ColdFusion Builder extension for Visual Studio Code
- Use ColdFusion Builder
- About ColdFusion Builder
- System requirements | ColdFusion Builder
- Install ColdFusion Builder
- Edit code in ColdFusion Builder
- Manage servers in ColdFusion Builder
- Manage projects in ColdFusion Builder
- What's new in Adobe ColdFusion Builder (2018 release)
- Frequently Asked Questions (FAQ) | Adobe ColdFusion Builder (2018 release)
- Debug applications in ColdFusion Builder
- ColdFusion Builder workbench
- ColdFusion Builder extensions
- Debugging Perspective in ColdFusion Builder
- Build mobile applications using ColdFusion Builder
- Bundled ColdFusion Server
- Debug mobile applications in ColdFusion Builder
- Use extensions in ColdFusion Builder
- Coldfusion API Manager
- Overview of Adobe ColdFusion API Manager
- Features in ColdFusion API Manager
- Get started with ColdFusion API Manager
- Install ColdFusion API Manager
- Authentication types
- Create and publish APIs
- Throttling and rate limiting
- Set up cluster support
- Integrate ColdFusion and API Manager
- Metrics and Logging in API Manager
- Generate Swagger documents
- Configure SSL
- Known issues in this release
- Policies in ColdFusion API Manager
- Create a Redis cluster
- Multitenancy in API Manager
- Docker images for ColdFusion API Manager
- Configure and administer ColdFusion
- Administer ColdFusion
- Use the ColdFusion administrator
- Data Source Management for ColdFusion
- Connect to web servers
- Deploy ColdFusion applications
- Administer ColdFusion security
- Basic Troubleshooting and FAQs
- Work with Server Manager
- Use multiple server instances
- WebSocket Enhancements (ColdFusion 11)
- Security Enhancements (ColdFusion 11)
- Work with Server Monitor
- ColdFusion Administrator API Reference
- CFML Reference
- Introduction to CFML Reference
- Reserved words and variables
- ColdFusion tags
- ColdFusion functions
- Function summary Ajax
- ColdFusion ActionScript functions
- ColdFusion mobile functions
- Application.cfc reference
- Script functions implemented as CFCs
- ColdFusion Flash Form style reference
- Styles valid for all controls
- Styles for cfform
- Styles for cfformgroup with horizontal or vertical type attributes
- Styles for box-style cfformgroup elements
- Styles for cfformgroup with accordion type attribute
- Styles for cfformgroup with tabnavigator type attribute
- Styles for cfformitem with hrule or vrule type attributes
- Styles for cfinput with radio, checkbox, button, image, or submit type attributes
- Styles for cftextarea tag and cfinput with text, password, or hidden type attributes
- Styles for cfselect with size attribute value of 1
- Styles for cfselect with size attribute value greater than 1
- Styles for cfcalendar tag and cfinput with dateField type attribute
- Styles for the cfgrid tag
- Styles for the cftree tag
- ColdFusion Flash Form Style Reference
- ColdFusion event gateway reference
- ColdFusion Event Gateway reference
- Gateway development interfaces and classes
- IM gateway message sending commands
- IM Gateway GatewayHelper class methods
- IM Gateway CFC incoming message methods
- IM gateway methods and commands
- CFML CFEvent structure
- data command
- submit Multi command
- submit command
- SMS Gateway CFEvent structure and commands
- SMS Gateway incoming message CFEvent structure
- GatewayServices class
- Gateway interface
- GatewayHelper interface
- Logger class
- CFML event gateway SendGatewayMessage data parameter
- SMS gateway message sending commands
- ColdFusion C++ CFX Reference
- ColdFusion Java CFX reference
- Develop ColdFusion applications
- Introducing ColdFusion
- Changes in ColdFusion
- Changes in ColdFusion
- Replacement of JRun with Tomcat
- Security enhancements
- ColdFusion WebSocket
- Enhanced Java integration
- ColdFusion ORM search for indexing and search
- Solr enhancements
- Scheduler enhancements
- Integration with Microsoft Exchange Server 2010
- RESTful Web Services in ColdFusion
- Lazy loading across client and server in ColdFusion
- Web service enhancements
- Displaying geolocation
- Client-side charting
- Caching enhancements
- Server update using ColdFusion Administrator
- Secure Profile for ColdFusion Administrator
- Introduction to application development
- The CFML programming language
- Building blocks of ColdFusion applications
- Develop CFML applications
- Develop CFML applications
- Design and optimize a ColdFusion application
- Handle errors
- Use persistent data and locking
- Use ColdFusion threads
- Secure applications
- Client-side CFML (for mobile development)
- Use the ColdFusion debugger
- Debugging and Troubleshooting Applications
- Develop globalized applications
- REST enhancements in ColdFusion
- Authentication through OAuth
- Social enhancements
- Develop mobile applications
- Access and use data
- ColdFusion ORM
- ColdFusion and HTML5
- Flex and AIR integration in ColdFusion
- Request and present information
- Office file interoperability
- ColdFusion portlets
- Work with documents, charts, and reports
- Use web elements and external objects
- Use external resources
- Send and receive e-mail
- Interact with Microsoft Exchange servers
- Interact with remote servers
- Manage files on the server
- Use event gateways
- Create custom event gateways
- Use the ColdFusion extensions for Eclipse
- Use the data services messaging event gateway
- Use the data management event gateway
- Use the FMS event gateway
- Use the instant messaging event gateways
- Use the SMS event gateway
The Overview section presents a high-level view of the following metrics:
- Average Response Time: The amount of time, in milliseconds, the node takes to return the results of a request.
- Throughput: Number of requests served by the node at a particular time interval.
- Success/failure: A pie chart showing the distribution of cfms, which were successful and unsuccessful, that were run from the node.
- Errors: A stacked graph, which lists the count of the 400 series and 500 series errors that have occurred in the node.
- Top slow URLs: The execution time (in descending order) of each cfm in the node.
- System information along with information on ColdFusion and Java versions.
- History of thread dumps taken: A table displaying the following information of thread dumps taken at node level. The information contains the following:
- Thread dump ID
- Total threads
- Time stamp
- Actions- Export the dump as a text file.
- History of heap dumps taken: A table displaying the following information of heap dumps taken at node level. The information contains the following:
- Heap dump location
- Time stamp
Top slow URLs
When you click on any url, it takes you to a page, where you can see the following sections:
- Basic info
- Code flow
- CF Server: Contains Async Threads, where view the concurrent requests and status of threads that are queued and running.
- External services
- Cloud services
- Threads: Contains all the threads that were spawned in the request.
The Applications tab in the CF Server page performs Application Monitoring by providing the metrics pertaining to all the applications under a cluster or an individual instance.
At a cluster level, the CF Server page provides an overview of the following:
- Number of instances of the cluster and health percentage.
- A stacked graph, which lists the count of the 400 series and 500 series errors that have occurred across the cluster.
- Top slow URLs with an error distribution across the instances that are part of the cluster.
- ART and throughput graphs for the cluster over time.
The Applications page displays the data captured as part of the Application Monitoring. The page has a dropdown from which you can select the applications that you want to monitor and know the details (maximum of five applications).
For the selected applications, you can view the following:
- The Average Execution Time graph and the health score for each application.
- The load distribution for the selected applications along with an error graph.
The graph is a stacked area that displays the total count of 400 series and 500 series errors that have occurred in any of these selected applications over a period.
Clicking any application from the list of applications redirects to the application detail page, which provides further details about that application, for example,
- An ART graph.
- Top slow URLs/Queries.
- An error graph.
- A pie-chart for distribution of data source calls and external services calls.
- A pie chart distribution of various response codes across the requests made from the selected app.
- An active session count graph and a pie-chart with a distribution of the requests made across the nodes that are part of the cluster.
Monitoring of RunAsync Threads
You can monitor the number of threads that are running in an async operation. Click the cfm running the RunAsync method, and in the CF server tab, expand Async Threads to view the concurrent requests.
There is also a new tab, Threads, which contains all the threads that were spawned in the request.
To monitor the various ColdFusion related non-request metrics, navigate to CF Server on the left panel. The CF Metrics data is always captured at a node level for a ColdFusion server, which is refreshed after every 15 seconds.
For a node, you can find the tab CF Metrics once you navigate to CF Server.
For a cluster, to view the metrics of the node, click a node that is listed on the CF Server page.
The metrics captured here are controlled by the settings available in CF Admin. The throttle, requests and thread-related controls are present in the pages Server settings and Request tuning. The cache data on the caching page and database-related changes can be made for each individual database under its advanced settings to control its pool size.
The metrics captured are
- Throttle Data
- Request Queue Data
- Sessions Data
- Data source connection metrics
- CF thread/Asynch thread metrics
- Template/Component/Query Cache size
The throttle-related data is captured when the throttle threshold is reached as specified in the CF Admin setting. On hovering, it shows the following values.
- Average throttle queue size: The average value of the requests queued over a period , when there is not enough throttle memory available.
- Average throttle memory: The value of the throttle memory used by the requests after being throttled because they have reached the threshold specified in the admin setting.
A stacked graph that shows an average value of the requests that have been queued. The types of requests captured here are CFM templates, CFCs, and web services (SOAP services). The final value seen in the graph is the sum of all these three types of requests. This too reflects the data based on the setting in the ‘Request Tuning’ page of CF Admin. Apart from Queued data, it also shows the Running and Timed-Out requests on hovering over the graph.
* The data does not get captured on a Standard edition of ColdFusion.
Template/Component/Query cache size
CFThread/Asynch thread metrics
The graph displays the running and queued counts of the ColdFusion threads that are running. The threads are spawned using the cfthread tag or the equivalent thread functions in ColdFusion. The data too can be controlled with the setting on Request Tuning page.
This graph also shows the number of Asynch threads that were spawned.
Datasource connection metrics
A stacked bar graph that displays the connection-related data, for the data sources accessed by various requests, like Maximum connections available, Average open connections and Total connections made for that data source.
In the graph you can view the active and expired session counts over a period of time.
Bytes In/Sec: Bytes incoming per second
- The number of bytes ColdFusion read in the last second (not an average).
Bytes Out/Sec: Bytes outgoing per second
- The number of bytes ColdFusion wrote in the last second (not an average).
The section provides you all the system-related metrics.
See the consumption percentage of the system and the JVM in a time series graph.
You can monitor memory consumption of the server in the Server tab. You can see the system memory consumption and usage of memory of all running processes in the server. The red dashed horizontal denotes the baseline usage.
Check how many packets were sent and received as well as the speed of your network at a particular time.
See the disk read and write metrics at any time.
The Performance Monitoring Toolset provides detailed metric about JVM, which is explained in the section. The following are the metrics that you find in JVM.
- Heap and non-Heap memory along with distribution
- GC distribution graph
- Count of GC
- Thread and Thread-Pool Metrics
- Class Loading Metrics
Heap and non-Heap memory along with distribution
The JVM performs memory management and can have a significant effect on your performance depending on how you configure the JVM. The most important settings for the JVM are the initial heap size and maximum heap size. The initial heap size represents the amount of memory that the JVM uses on startup; the maximum heap size represents the amount of memory that the JVM can use. You can modify these settings in the ColdFusion Administrator on the Java and JVM Settings page.
Garbage collection is the process of recycling memory that was assigned to objects that a program no longer references. The chart below displays two types of GC.
- Minor collection: Garbage collection that occurs in the young generation. In ColdFusion, minor collections collect unreferenced local scope and variable scope variables.
- Major collection: Garbage collection that occurs in tenured generation. In ColdFusion, major collections collect all unreferenced session scope variables.
There is a histogram of the number of Garbage Collections over time. If you hover on each bar on the graph, you can see the number of GCs for that particular duration.
Thread and Thread Pool metrics
The graphs indicate the number of requests that the server is processing and the number of requests that are awaiting allocation of an application server thread to begin execution.
If the graph indicates that many requests are queued, increase the size of the thread pool.
In the graph below, Thread Pool gives you an aggregated view of the number of threads that are active.
Class Loading Metrics
Shows the number of classes that are loaded or unloaded in a particular duration. For example, if in a UDF, there are ten methods, then ten classes get loaded along with the cfc and the cfm.
Take thread dumps
For any node in a cluster,you can take thread or heap dumps. Click the button for:
- Taking thread dump
- Taking heap dump
- Triggering GC
To view the stack trace of the thread, click any thread state.
Click any thread group to view similar stack trace.
Heap memory is the runtime data area that the Java VM allocates memory for all class instances and arrays. The heap can be of a fixed or variable size.
- Eden: The pool from which memory is initially allocated for most objects.
- Survivor: The pool that contains objects that have survived the garbage collection of the Eden space.
- Old gen: The pool that contains objects that have stayed for some time in the survivor space.
Non-heap memory includes an area shared among all threads and memory required for the internal processing or optimization for the Java VM. It stores meta space, code cache, and compressed cache.
To take a heap snapshot, click Heap Dump and the dump generates successfully.
Any ColdFusion application uses threads to process a request. Large number of concurrent users spawns more threads. When two or more threads use the same resources, a contention between the threads occurs. Thread dump is used to analyze thread contention issues and it provides information on the exact status of each thread and information about the call stack of each thread.
Note: You may sometimes see incorrect data for Heap and Non-Heap charts. For example, if you had set MaxMetaSpaceSize as 192 MB, the Performance Monitoring Toolkit may show the same as 1456 MB.
To take a thread dump, click Thread Dump. You can see the following thread status:
In Performance Monitoring Toolset, you can also trigger GC. The garbage collector manages the allocation and release of memory for your application. Every time you create an object, the runtime allocates memory for the object from the managed heap. If an address space is available in the managed heap, the runtime continues to allocate space for new objects.
When the garbage collector performs a collection, it checks for objects in the managed heap that are no longer being used by the application and performs the necessary operations to reclaim their memory.
To take a Heap Dump, click the button labeled Heap Dump. The heap data gets saved in the location, <ColdFusion_Home/cfusion> in a file admin-1532006781545.hprof.
To trigger Garbage Collection, click GC.
In the section, you can see what caching engine is being used. You can use the following:
- Custom plugin
You can also see the cache regions of both the application and the server.
If you choose the option, Cache regions of server, you can see the following details:
If you choose the option Cache regions of applications, you can see the cache stats of the application that you had specified in the file Application.cfc.
To monitor currently active requests, queries, and ColdFusion threads, click CF Server on the left panel. For a node, you can find the tab Active Monitoring once you navigate to CF Server.
You can monitor the following options:
- Async Threads
For a cluster, click any individual node that you would see listed on the ColdFusion Server page to view its Active Monitoring details.
The list displays active requests/CF Threads/Queries and also Async Threads and Sessions.
Along with the additional details, there are certain actions that can be taken on these active requests and active CF Threads.
For active requests, you can view the Java stack trace of the thread for a particular request to know the state of that request.
From the stack trace, you can also view the time taken and other parameters, for example, a request that is causing a server to execute slowly. For such cases, you can kill the request.
Similarly, you can also kill any active ColdFusion thread.