Analytics is an advanced facility to graph a variety of statistics in real-time and record this data for later viewing. It has been designed for both long term monitoring and short term analysis. When needed, it makes use of DTrace to dynamically create custom statistics, which allows different layers of the operating system stack to be analyzed in detail.
The following topics provide an overview of how Analytics operates, and links to sections with more details.
Analytics has been designed around an effective performance analysis technique called drill-down analysis. This involves checking high level statistics first, and to focus on finer details based on findings so far. This quickly narrows the focus to the most likely areas.
For example, a performance issue may be experienced and the following high level statistics are checked first:
Network bytes/sec is found to be at normal levels, and the same for disk operations and CPU utilization. NFSv3 operations/sec is somewhat high, and the type of NFS operation is then checked and found to be of type "read". So far we have drilled down to a statistic which could be named "NFS operations/sec of type read", which we know is higher than usual.
Some systems may have exhausted available statistics at this point, however Analytics can drill down much further. "NFSv3 operations/sec of type read" can then be viewed by client - which means, rather than examining a single graph - we can now see separate graphs for each NFS client. (These separate graphs sum to the original statistic that we had.)
Let's say we find that the host "kiowa" is responsible for a majority of the NFS reads. We can use Analytics to drill down further, to see what files this client is reading. Our statistic becomes "NFSv3 operations/sec of type read for client kiowa broken down by filename". From this, we can see that kiowa is reading through every file on the NFS server. Armed with this information, we can ask the owner of kiowa to explain.
The above example is possible in Analytics, which can keep drilling down further if needed. To summarize, the statistics we examined were:
"NFSv3 operations/sec by type"
"NFSv3 operations/sec of type read by client"
"NFSv3 operations/sec of type read for client kiowa broken down by filename"
These match the statistic names as created and viewed in Analytics.
In Analytics, the user picks statistics of interest to display on custom worksheets. Statistics available from Analytics include:
Network device bytes by device and direction
NFS operations by filename, client, share, type, offset, size and latency
SMB operations by filename, client, share, type, offset, size and latency
Disk operations by type, disk, offset, size and latency
CPU utilization by CPU-id, mode and application
See the Open Workshetes view for listing statistics, and the Preferences view for enabling advanced Analytics - which will make many more statistics available. The Statistics page discusses available statistics in more detail.
A dataset refers to all existing data for a particular statistic. Datasets contain:
Statistic data cached in memory due to the statistic being opened or archived.
Archived statistic data on disk.
Datasets can be managed in the Datasets view.
The following actions may be performed on statistics/datasets:
A worksheet is the BUI screen on which statistics are graphed. Multiple statistics can be plotted at the same time, and worksheets may be assigned a title and saved for future viewing. The act of saving a worksheet will automatically execute the archive action on all open statistics - meaning whatever statistics were open, will continue to be read and archived forever.