The Overview section presents a high-level view of the following metrics:
When you click on any url, it takes you to a page, where you can see the following sections:
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:
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 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,
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
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.
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
Bytes Out/Sec: Bytes outgoing per second
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
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.
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.
For any node in a cluster,you can take thread or heap dumps. Click the button for:
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.
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:
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:
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.