This page describes a set of NetApp internal tools for graphing performance data collected by perfstat. These tools should be considered as prototypes for more robust perfstat visualization tools under development and consideration. You should not expect any long term support for them. In the short term, besides serving as prototypes for guiding development of supportable tools, they are meant for the use of NetApp Performance Engineers performing analysis of perfstat data.
The perfstat filters are a set of Perl scripts which extract performance data from perfstat files and produce time-sequenced CSV files.
The perfstat grapher is an Excel template containing VBA macros that can import these CSV files into an Excel Workbook and produce a number of charts.
Download and unzip/untar the archive. (visual_perfstat.tar, visual_perfstat.zip)
Contents are :
a
na_psf/ 0K
a na_psf/Excel_templates/ 0K
a na_psf/Excel_templates/Perfstat.xlt 564K
a na_psf/docs/ 0K
a na_psf/docs/psf.ht5.gif 24K
a na_psf/docs/psf.ht2.gif 27K
a na_psf/docs/psf.ht3.gif 30K
a na_psf/docs/psf.ht4.gif 26K
a na_psf/docs/psf.ht1.gif 22K
a na_psf/docs/psf.html 11K
a na_psf/doc_templates/ 0K
a na_psf/doc_templates/NFS_Perf.doc 43K
a na_psf/doc_templates/NAS_SAN_PerfWide.doc 47K
a na_psf/doc_templates/NAS_SAN_Perf.doc 50K
a na_psf/doc_templates/NFS_PerfWide.doc 50K
a na_psf/doc_templates/SAN_Perf.doc 62K
a na_psf/doc_templates/SAN_PerfWide.doc 63K
a na_psf/doc_templates/SPC_Wide.doc 57K
a na_psf/perfstat_filters/ 0K
a na_psf/perfstat_filters/psf_wafl_susp.pl 6K
a na_psf/perfstat_filters/psf_cp_times.pl 11K
a na_psf/perfstat_filters/psf_fcp.pl 3K
a na_psf/perfstat_filters/psf_filer_timestamp.pl 3K
a na_psf/perfstat_filters/psf_filers.pl 3K
a na_psf/perfstat_filters/psf_get_all_data.pl 7K
a na_psf/perfstat_filters/psf_get_all_of_one_output.pl 6K
a na_psf/perfstat_filters/psf_hist.pl 19K
a na_psf/perfstat_filters/psf_ldisk.pl 18K
a na_psf/perfstat_filters/psf_lun.pl 30K
a na_psf/perfstat_filters/psf_lun_info.pl 4K
a na_psf/perfstat_filters/psf_lun_iops_kbs.pl 4K
a na_psf/perfstat_filters/psf_qnm_fesc.pl 10K
a na_psf/perfstat_filters/psf_san_vol.pl 10K
a na_psf/perfstat_filters/psf_split_iterations.pl 3K
a na_psf/perfstat_filters/psf_statit.pl 17K
a na_psf/perfstat_filters/psf_sysstat.pl 15K
a na_psf/perfstat_filters/psf_unix_timestamp.pl 3K
a na_psf/perfstat_filters/psf_versions.pl 7K
a na_psf/perfstat_filters/psf_vol.pl 29K
a na_psf/perfstat_filters/psf_vol_info.pl 4K
a na_psf/perfstat_filters/psf_wafl.pl 17K
a na_psf/perfstat_filters/psf_cp_kinds.pl 10K
a na_psf/perfstat_filters/psf_win_timestamp.pl 3K
Typical usage involves the following steps:
bash$ psf_split_iterations.pl perfstat-output-20040826-0858-1030.txt
This will result in the creation of one file for each iteration contained
in the input perfstat file. These files will be named <perfstta.perfstat.<iteration>.txt
bash$ ls
perfstat-output-20040826-0858-1030.txt perfstat.2.txt perfstat.7.txt
perfstat.1.txt perfstat.3.txt perfstat.8.txt
perfstat.10.txt perfstat.4.txt perfstat.9.txt
perfstat.11.txt perfstat.5.txt
perfstat.12.txt perfstat.6.txt
bash$ psf_get_all_data.pl
bash$ ls *psf_files sggosdr0_psf_files:
cp_kinds.txt lun_hist.txt lun_rt_ge_16.txt sysstat.txt wafl.txt
cp_times.txt lun_hist_stats.txt lun_summ.txt versions.txt wafl_susp.txt
file_timestamp_map.txt lun_info.txt nfsv3_hist.txt vol.txt
filer.txt lun_iops_kbs.txt nfsv3_hist_stats.txt vol_by_rg.txt
lun.txt lun_rt_ge_1024.txt statit.txt vol_by_rg_tot.txt
lun_detail.txt lun_rt_ge_128.txt statit_summ.txt vol_summ.txt
sggosp00_psf_files:
cp_kinds.txt lun_hist.txt lun_rt_ge_16.txt sysstat.txt wafl.txt
cp_times.txt lun_hist_stats.txt lun_summ.txt versions.txt wafl_susp.txt
file_timestamp_map.txt lun_info.txt nfsv3_hist.txt vol.txt
filer.txt lun_iops_kbs.txt nfsv3_hist_stats.txt vol_by_rg.txt
lun.txt lun_rt_ge_1024.txt statit.txt vol_by_rg_tot.txt
lun_detail.txt lun_rt_ge_128.txt statit_summ.txt vol_summ.txt
Click Start->Programs->MicroSoft Excel
Click File->New
Select Perfstat.xlt and click OK.
This willl result in the creation of a new Workbook having an additional Menu on the Menu Bar, named 'Perfstat'. The Perfstat Menu provides access to the macros for Importing the perfstat CSV files and making charts.
The Perfstat.xlt template also has a Sheet named "Intro" that has baic usage instructions.
Click Perfstat->ImportData .
This will bring up a browser dialogue box that you can use to navigate to the folder containing the CSV files. Once there, select the file named statit.txt and double-click or click OK.
This will start the import process. The import process involves reading all of the CSV files into the Workbook, sorting the data in time order, and in some cases adding derived columns.
The sheets created from the import process are named the same as the filenames (without the .txt extension). Because of the number of sheets and the number of Charts that will be created, the sheets are made non-visible. If you need to see the sheets you can use the Perfstat menu item 'View Sheets' and 'Hide Sheets'.
Once the CSV files have been imported, the next step is to make Excel charts from the data.
Click Perfstat->MakeAllCharts. This will start a process of
creating all of the defined charts. When the process is complete a List Box
will pop up that can help navigate through the charts. The List Box gives the
name of each Chart and a brief description of it. To view a chart, select the
name and click OK. This List Box is also available through the menu item
Perfstat->ViewCharts.
The obvious way to customize charts is to use normal Excel functions. There are also a few more automated ways to customize them.
One simple customization that is often useful is to change the labeling of the chart titles. All chart titles include the name of the filer the data is from. You can change this behavior by explicitly setting the desired label with the Perfstat->SetChartTitleLabel menu item. This will display a simple text box in which you can type in whatever label you like. Subsequent charts created will contain this text in their Title.
The other customization available is to Zoom into a smaller rangeof time for a particular chart. To do this, first find the chart you are interested in. Then click Perfstat->Zoom. A dialogue box will pop-up with slider bars to change the time-scale of the chart. By default a new chart will be created with the new time-scale, leaving the original chart unchanged. To change this behavior and modify the original chart, clear the check-box labelled 'Duplicate Chart'.
There are several reasons you may want to export the set of charts to a document or web page.
The mechanism for exporting charts is based on Microsoft Word documents containing bookmarks. While these are not Templates in the Microsoft use of the word, they act as templates by containing boilerplate text and bookmarks for where charts should be inserted during the Export process. The bookmarks have the same name as the Chart Names of charts to be inserted. A few such template Word documents are included, or you can make your own.
The export process results in the production of a Word document that can then be used as it is or saved as a Web page.
The expected usage of this export mechanism is that you would use an existing template document to collect the charts in one place and then add text to the document before saving to explain what is going on.
If the purpose of the document (or Web page) is to compare two perfstat samples, you would run through the entire process using one set of perfstat data, saving the Word document as a Word Document. Then you would go through the entire process with the second set of perfstat data. But this time when you export the charts to Word, you would choose the previously saved document as the base rather than a blank template document. Because the bookmarks still exist in the document at the correct locations, each chart from the second set of data is inserted immediately before the corresponding chart from the first set of data.
When producing such comparison documents, you may want to have the chart heights reduced so that two charts can be easily seen on a display at the same time. There is a check box option to achieve this height reduction when you start to export the charts.
[Example TBD]