<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Demand Technology FAQ &#187; Performance Sentry</title>
	<atom:link href="http://faq.demandtech.com/category/performance-sentry/feed/" rel="self" type="application/rss+xml" />
	<link>http://faq.demandtech.com</link>
	<description>Help and Support for the Performance Sentry Product Line</description>
	<lastBuildDate>Wed, 30 Jun 2010 19:33:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Will you please explain Cycle End Processing?</title>
		<link>http://faq.demandtech.com/2010/03/04/will-you-please-explain-cycle-end-processing/</link>
		<comments>http://faq.demandtech.com/2010/03/04/will-you-please-explain-cycle-end-processing/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 16:05:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[SMF Files]]></category>
		<category><![CDATA[Sentry Administration]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=188</guid>
		<description><![CDATA[This discussion of Cycle End processing also considers the following subtopics:
 Processing multiple files
 Using ftp
 Summarization utility
  Historical files
  Using Windows Script Host (WSH) scripts
At the end of each collection cycle, the Collection service closes the current collection file to make it available for processing. The end of a cycle normally is [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: book antiqua,times new roman,times;">This discussion of Cycle End processing also considers the following subtopics:</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span> </span><a href="#Processing_multiple_files">Processing multiple files</a></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span> </span><a href="#Using_ftp_">Using ftp</a></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span> </span><a href="#Invoking_the_Summarization_utility">Summarization utility</a></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Book Antiqua;"> <span> </span><a href="#Historical_files">Historical files</a></span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Book Antiqua;"> <span> </span><a href="#Using_WSH_scripts_">Using Windows Script Host (WSH) scripts</a></span></p>
<p>At the end of each collection cycle, the Collection service closes the current collection file to make it available for processing. The end of a cycle normally is used to initiate processing of the collection files in SAS or MXG. Cycle end processing normally consists of scheduling a process to consolidate Performance SeNTry data files at a central location. This section discusses automating cycle end processing.</p>
<p>The Collection service stores data collection logs in the \Data subdirectory under the NTSMF24 program directory by default. The location of the data directory can also be changed using the SeNTry Administration program by modifying the Directory where SMF files are stored start-up parameter.</p>
<p>Hierarchical file management sets up Current, Previous and Archive Folders under the \Data directory and manages collection files according to the criteria you specify. The hierarchical file management option is specifically designed to simplify your cycle end procedures. By default, old collection files are moved immediately from the Current Folder to the Previous Folder. After the number of days you specify, they are then migrated to the Archive Folder. Files are kept in the Archive Folder for an additional period of time and then deleted automatically according to your specifications. Because all automatic file management is performed prior to issuing the Cycle End Command, the cycle end procedure you execute can be as simple as a COPY *.* command pointing to the Previous Folder.</p>
<p>Unique collection data log file names are automatically generated of the form</p>
<p align="center"><span style="font-family: Courier;"><em>systemname.yyyymmddhhmmCustomQualifier</em>.smf</span></p>
<p>where<span> </span><em>yyyymmddhhmm</em><span> </span>is a date/time stamp identifying when the file was created. During the collection cycle, the Collection service can lock the current data file so that no other application can access it. Or the current data file can be Shared so that it can be processed by other Windows NT/2000 programs or commands while collection is occurring and the file is open. The collection file is closed at Cycle End and is available for processing.</p>
<p>The Collection service automatically launches the Cycle End Command you specify after all file management actions have been completed. You can specify commands directly or execute a .BAT file script, PERL script, or other command processing program. By default, the Cycle End command is launched immediately. Or you can specify that the Cycle End command be launched at a random time within a defined processing window (up to 60 minutes in duration).</p>
<h3><span style="font-family: Book Antiqua,Times New Roman,Times;"><a name="Processing_multiple_files">Processing multiple files.</a></span></h3>
<p>If the Collection service was restarted (due to a re-boot, for example) during the last collection cycle, there will be multiple .smf collection files in the<strong>\data\Previous</strong><span> </span>folder at the time the Cycle End Command you specified is launched. Consequently, the Cycle End processing you perform should allow for the fact that multiple collection files may be available for processing. A wildcard in your filespec normally accomplishes this.<span> </span></p>
<p>For ease of processing in MXG, you will normally consolidate collection files representing many different machines into one file. Use the COPY command available in Windows NT/2000 with the /B option to consolidate multiple Performance SeNTry collection data files into one large file for processing:</p>
<p align="center"><span style="font-family: Courier;">COPY /B C:\NTSMF24\data\Previous\*.SMF C:\NTSMF\Daily\NTDaily.SMF</span></p>
<p>The<span> </span><strong>/B</strong><span> </span>option of the COPY command concatenates multiple files without terminating each file with a x’3F’ end of file character. In the above example the file named<span> </span><strong>NTDaily.SMF</strong><span> </span>is associated with the MXG NTSMF input file name, for example. To process this data file in MXG, you would code a SAS language<span> </span><strong>FILENAME NTSMF</strong><span> </span>specification that references<span> </span><strong>C:\NTSMF\Daily\NTDaily.SMF</strong><span> </span>if you are running SAS under Windows NT/2000.</p>
<p>If you are copying files to send to an MVS mainframe for processing using SAS, use a combination of<span> </span><strong>/A</strong><span> </span>and<span> </span><strong>/B</strong><span> </span>switches, as follows to prevent embedded EOFs in the concatenated file:</p>
<p align="center"><span style="font-family: Courier;">copy /a f1.smf+f2.smf+f3.smf bigfile /b</span></p>
<p>Using the<span> </span><strong>/a</strong><span> </span>will cause the EOF mark to be removed from each of the source files<span> </span><strong>f1.smf</strong><span> </span>through<span> </span><strong>f3.smf</strong><span> </span>as they are concatenated into the destination file<span> </span><strong>bigfile</strong>. the<span> </span><strong>/b</strong><span> </span>following the destination file<span> </span><strong>bigfile</strong><span> </span>ensures that an EOF mark is not appended to<span> </span><strong>bigfile</strong><span> </span>and subsequently transmitted to MVS.</p>
<p>More generally, to create a concatenated file usable under MVS:</p>
<p align="center"><span style="font-family: Courier;">copy /a *.smf bigfile /b</span></p>
<h3><span style="font-family: Book Antiqua,Times New Roman,Times;"><a name="Using_ftp_">Using ftp</a></span></h3>
<p>If you need to send daily .smf files to a non-Windows host machine for processing or the machine you need to transfer the files to is separated by a firewall, you may need to use the ftp utility to copy the files. Here is an example of a simple .bat command file that utilizes ftp:</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">COPY /B C:\NTSMF24\Data\Previous\*.SMF C:\NTSMF24\Data\Consolidated\Consolidated.SMF</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">ftp -v -i -s:Transfer.ftp</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">exit</span></p>
<p>The following example script connects to a remote server, uses a valid Username and Password to log into the remote system. Once logged unto the remote system, the program changes directory (CD) to the remote directory<span> </span><span style="font-family: Courier;">C:\Consolidated</span><span> </span>and sends the file from the originating folder<span style="font-family: Courier;">C:\NTSMF24\Data\Consolidated\Consolidated.smf</span><span> </span>to the remote file<span> </span><span style="font-family: Courier;">Consolidated.smf</span><span> </span>on the remote server. Both origination and remote servers have to have FTP enabled, with common Usernames and Passwords defined. In the script, replace the keywords Remote, Username, and Password with parameters that are valid for your environment.</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">open Remote</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Username</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Password</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">cd C:\Consolidated</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">send C:\NTSMF24\Data\Consolidated\Consolidated.SMF Consolidated.SMF</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Bye</span></p>
<p>You can also using ftp wild cards to transfer multiple files in a single command execution stream. The easiest way to do this to create an ftp script that uses the<span> </span><strong>mput<span> </span></strong>subcommand to send multiple .smf files contained in the<span> </span><strong>\Previous</strong><span> </span>folder.</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">CD C:\NTSMF24\DATA\PREVIOUS\</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">ftp -v -i -s:C:\FTPROCESS\transfersmf.txt</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">exit</span></p>
<p>where<strong><span> </span>transfersmf.txt</strong><span> </span>is a text file containing the following ftp script:</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Rem Transfersmf.ftp sends multiple files to a remote central server</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">open Remote</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Username</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Password</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">prompt</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">mput *</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">Bye</span></p>
<p>The<span> </span><strong>prompt</strong><span> </span>subcommand turns off ftp interactive mode. The<span> </span><strong>*</strong><span> </span>wildcard filespec means that all data files located in the<span> </span><strong>\Previous</strong><span> </span>folder will be transferred.</p>
<h3><span style="font-family: Book Antiqua,Times New Roman,Times;"><a name="Invoking_the_Summarization_utility">Invoking the Summarization utility</a></span></h3>
<p>The Summarization utility is designed to run at Cycle End, although it can also execute in a standalone environment. Letting the Summarization utility perform aggregation of the detailed collection files, you can distribute a good deal of the load involved in post-processing .smf files across your network.</p>
<p>In this example, the Summary utility is invoked in the Cycle End command script after a step that consolidates multiple detail files, prior to invoking<strong>ftp</strong><span> </span>to transfer the .sum.smf summarized file to a consolidation folder on a remote server:</p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">copy /b C:\NTSMFv24\Data\Previous\*.SMF C:\NTSMFv24\Data\Previous\Allprevious.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">rem Next run summarization rtn to summarize in 60 minute intervals</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">cd ..</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">cd ..</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">dmsumsmf.exe -fAllprevious.smf -s60</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">rem Next execute FTP transfer bat file to upload file</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">ftp -v -i -s:Transfer.ftp</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier;">exit</span></p>
<p>where<span> </span><strong>Transfer.ftp</strong><span> </span>consists of the following script:</p>
<p><span style="font-family: Courier;">open 10.0.0.7<span> </span><br />
ftpguest<br />
password<br />
cd transfersmf<span> </span><br />
send<span> </span><br />
C:\NTSMFv24\Data\previous\Allprevious.sum.SMF<span> </span><br />
Allprevious.sum.SMF<br />
Bye</span></p>
<h3><span style="font-family: Book Antiqua,Times New Roman,Times;"><span style="font-family: Book Antiqua;"><a name="Historical_files">Historical files</a></span></span></h3>
<p><span style="font-family: Book Antiqua;">You can also take advantage of a roll-up feature in the Summarization utility to create and maintain historical data files that can streamline your reporting procedures. To use the roll-up feature, concatenate the current data file with the previous historical data file. When you invoke the Summary Utility on the combined file, specify the number of consecutive days worth of data that you want to keep. Any data older than the number of days you specify will be dropped from the summarized output file. Using the Summarization utility, you can create and maintain as many historical files as you want, as the example below illustrates. The sample script below maintains a daily historical roll-up file that spans the last 14 days, a weekly roll-up that spans 26 weeks, and a monthly roll-up that spans the last two years.</span></p>
<p><span style="font-family: Book Antiqua;">At Cycle End, issue the following command:</span></p>
<p><span style="font-family: Courier;">summary-example1.bat @LastDataFile:p @StartupDir</span></p>
<p><span style="font-family: Book Antiqua;">where<span> </span><strong>summary-example1.bat</strong><span> </span>is coded as follows:</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Summay utility example</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Cycle End command: summary-example1.bat @LastDataFile:p @StartupDir</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Maintains daily, weekly, and monthly history files</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Daily roll-up file: keeps 14 days of history, summarized to 10 minute intervals</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Weekly roll-up file: keeps 26 weeks of history, summarized to 1 hour intervals</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Monthly roll-up file: keeps 24 months of history, summarized to 4 hour intervals</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem ******************************************************************</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Utilizes the following Directory structure:</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem &lt;ntsmf root&gt;\data\</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem &#8211; \Archive</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem &#8211; \Backup  &#8212; backup History files first</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem &#8211; \Current</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem &#8211; \History &#8212; current History roll-up files</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem &#8211; \Previous</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem &#8211; \Work    &#8212; for temporary files</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem summarize the contents of the \data\previous folder &#8212; yesterday&#8217;s smf data files</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">copy /B %1\*.smf %2\data\Work\%COMPUTERNAME%.combined.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">%2\dmsumsmf.exe -f%2\data\Work\%COMPUTERNAME%.combined.smf -k2 -H&#8221;%2&#8243; -s10</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Delete old backups</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">del del %2\data\Backup\*.old.sum.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Backup History files</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">ren %2\data\Backup\%COMPUTERNAME%.daily.sum.smf %2\data\Backup\%COMPUTERNAME%.daily.old.sum.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">ren %2\data\Backup\%COMPUTERNAME%.weekly.sum.smf %2\data\Backup\%COMPUTERNAME%.weekly.old.sum.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">ren %2\data\Backup\%COMPUTERNAME%.monthly.sum.smf %2\data\Backup\%COMPUTERNAME%.monthly.old.sum.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">copy %2\data\History\*.smf %2\data\Backup\</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Keep 14 days worth of Daily data</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Step 1: move the Daily summary file to \Work</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">move %2\data\History\%COMPUTERNAME%.daily.history.sum.smf %2\data\Work\</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Step 2: Concatenate yesterday&#8217;s data with the current Daily history roll-up</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">copy /B %2\data\Work\%COMPUTERNAME%.combined.sum.smf+%2\data\Work\%COMPUTERNAME%.daily.sum.smf %2\data\History\%COMPUTERNAME%.daily.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Step 3: Run the Summarization utility on the combined file</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">%2\dmsumsmf.exe -f%2\data\History\%COMPUTERNAME%.daily.smf -k14 -H%2 -s10</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Keep 26 weeks worth of Weekly data</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">move %2\data\History\%COMPUTERNAME%.weekly.sum.smf %2\data\Work\</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">copy /B %2\data\Work\%COMPUTERNAME%.combined.sum.smf+%2\data\Work\%COMPUTERNAME%.weekly.sum.smf %2\data\History\%COMPUTERNAME%.weekly.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">%2\dmsumsmf.exe -f%2\data\History\%COMPUTERNAME%.weekly.smf -k182 -H%2 -s60</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Keep 24 months worth of Monthly data</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">move %2\data\History\%COMPUTERNAME%.monthly.sum.smf %2\data\Work\</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">copy /B %2\data\Work\%COMPUTERNAME%.combined.sum.smf+%2\data\Work\%COMPUTERNAME%.monthly.sum.smf %2\data\History\%COMPUTERNAME%.monthly.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">%2\dmsumsmf.exe -f%2\data\History\%COMPUTERNAME%.monthly.smf -k730 -H%2 -s240</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">rem Clean up Work &amp; History folders</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">del %2\data\Work\*.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">del %2\data\History\%COMPUTERNAME%.daily.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">del %2\data\History\%COMPUTERNAME%.weekly.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier; font-size: x-small;">del %2\data\History\%COMPUTERNAME%.monthly.smf</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<h3 style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Book Antiqua,Times New Roman,Times;"><a name="Using_WSH_scripts_">Using WSH scripts</a></span></h3>
<p style="margin-top: 0px; margin-bottom: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">Windows Script Host (WSH) scripts written in either VBscript or Javascript provide a flexible alternative to shell scripts. You can specify that a WSH script be launched at Cycle End. Launching WSH scripts at Cycle End requires<span> </span><a href="pr13.htm">the 2.4.7.3 version of the collection agent</a>.</p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">The<span> </span><a href="http://www.microsoft.com/technet/scriptcenter/hubs/win2003.mspx">Script Center</a><span> </span>on the Microsoft TechNet web site is an excellent resource for anyone that wants to learn about WSH script basics. If you have access to the Microsoft Developer Network (MSDN) web, you can access many<span> </span><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/scriptinga.asp">additional resources for developing WSH scripts</a>.</p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">WSH technology is built into Windows 2000 and above, so there is no extra software you need to start developing WSH scripts. Utilizing built-in scripting objects like Wscript, WshShell, WshEnvironment, and WshArguments, your script can execute other programs, access environment variables and retrieve script arguments. A file system scripting object allows your script to manipulate folders and files. Finally, using WMI, your script can access any of the configuration information that is accessible in the vast WMI repository.</p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;"><strong>WARNING:<span> </span></strong>When you specify the execution of a WSH script at Cycle End, make sure you specify the<span> </span><strong>//B</strong><span> </span>runtime parameter when you invoke wscript.exe or cscript.exe. The<span> </span><strong>//B</strong><span> </span>runtime parameter runs your script in batch mode, suppressing all screen output and keyboard interaction. If you do not specify the<span> </span><strong>//B</strong><span> </span>runtime parameter and your WSH script issues a Wscript.Echo statement that writes to the display or initiates any other interaction with the screen, your script will hang.</p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">For example, specify the following Cycle End command in your DCS parameters:</p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;"><span style="font-family: Courier New;"><strong>Wscript.exe //B &#8220;@StartupDir\CycleEndscript1.vbs&#8221; /datapath:@LastDataFile:p /rootdir:@StartupDir</strong></span></p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">For tips on configuring the collection service in order to debug a Cycle End WSH script, see the section entitled<span> </span><strong><a href="#Debugging_WSH_scripts.">Debugging WSH scripts</a><span> </span></strong>below.</p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">The following VBscript example illustrates the functions typically performed in a Cycle End script using WSH. It performs the following processing steps:</p>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<ol>
<li>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">It performs some string manipulation of today&#8217;s date to create a unique file name.</p>
</li>
<li>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">It validates the arguments<span> </span><strong>/datapath<span> </span></strong>and<span> </span><strong>/rootdir<span> </span></strong>arguments that are passed to it from the command line invocation.</p>
</li>
<li>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">It calls the NtDACmd utility to update the NTSMF PDB Sql Server database.</p>
</li>
<li>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">It then uses the Copy command with the /B option to consolidate multiple files into a single daily file, embedding the current date into the consolidated file&#8217;s name. (The file system scripting object has no comparable function.)</p>
</li>
<li>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">It calls the DmSumsmf utility to create a summarized version of the consolidated daily data file.</p>
</li>
<li>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">Finally, it copies the consolidated daily data file somewhere &#8212; Step 6 is the section of the Cycle End script that requires customization for your environment.</p>
</li>
</ol>
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">
<p style="margin-top: 0px; margin-bottom: 1px; margin-right: 0px;">VBscript comment statements &#8212; any statement that starts with a &#8216; character &#8211;  are shown in an alternate color in this listing.</p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<p style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: Courier New; font-size: x-small;"><span style="color: #008080;">&#8216; VBScript source code<br />
&#8216; Creates consolidated daily .smf file in /Previous folder<br />
&#8216; Creates summarized daily .smf file from consolidated file<br />
&#8216; Calls NtDACmd to initiate an NTSMF PDB database update<span> </span><br />
&#8216; Finally, copies the summarized file to a designated location<br />
&#8216;<br />
&#8216; The script accepts two parameters:<br />
&#8216; /datapath &#8212; the fully qualified path to the \data\Previous\ folder<span> </span><br />
&#8216; where yesterday&#8217;s .smf collection files are located<br />
&#8216; /rootdir &#8212; the fully qualified path to the NTSMF root folder<span> </span><br />
&#8216; where the DmSumsmf and NtDACmd utilities are located<br />
&#8216; Sample invokation at CycleEnd:<br />
&#8216;<br />
&#8216; Wscript.exe //B &#8220;@StartupDir\CycleEndscript1.vbs&#8221; /datapath:@LastDataFile:p<span> </span><br />
&#8216; /rootdir:@StartupDir</span></span></p>
<p>&#8216;Step 1 &#8212; Create a unique file name</p>
<p>Dim CreatedTodayDate<br />
Dim CreatedTodayDateAsString<br />
Dim EditDate &#8216;mmddyy format from standard Date function in VBscript<br />
CreateTodayDate = Date<br />
CreatedTodayDateAsString = CStr(CreateTodayDate)<br />
<span style="color: #008080;">&#8216;Wscript.Echo &#8220;Today&#8217;s Date String is &#8221; &amp; CreatedTodayDateAsString<br />
</span><br />
dim datestrlen<span> </span><br />
datestrlen = Len(CreatedTodayDateAsString)</p>
<p>dim loc<br />
loc = InStr(CreatedTodayDateAsString,&#8221;/&#8221;)<br />
EditDate = Left(CreatedTodayDateAsString,loc-1)<br />
if len(EditDate) = 1 then<br />
EditDate = &#8220;0&#8243; &amp; EditDate<br />
End if<br />
CreatedTodayDateAsString = Right(CreatedTodayDateAsString,datestrlen-loc)<br />
datestrlen = datestrlen &#8211; loc<br />
loc = InStr(CreatedTodayDateAsString,&#8221;/&#8221;)<br />
EditDate = EditDate &amp; &#8220;-&#8221; &amp; Left(CreatedTodayDateAsString,loc-1)<br />
CreatedTodayDateAsString = Right(CreatedTodayDateAsString,datestrlen-loc)<br />
datestrlen = datestrlen &#8211; loc<br />
EditDate = EDitDate &amp; &#8220;-&#8221; &amp; CreatedTodayDateAsString<br />
&#8216;Wscript.Echo &#8220;EditDate is &#8221; &amp; EditDate</p>
<p><span style="color: #008080;">&#8216;Step 2 &#8212; Validate the arguments passed to the script</span><br />
Set WshShell = CreateObject(&#8221;Wscript.Shell&#8221;)<br />
Set objEnv = WshShell.Environment(&#8221;Process&#8221;)<br />
LogonServer = objENV(&#8221;COMPUTERNAME&#8221;)</p>
<p>Dim namedArgs<br />
Dim PrevFolder, RootFolder<br />
Dim objFSO1,objPreviousFolder,fc1,allthefilenames<span> </span></p>
<p>Set objFSO1 = CreateObject(&#8221;Scripting.FileSystemObject&#8221;)<br />
Set namedArgs = WScript.Arguments.Named<br />
<span style="color: #008080;">&#8216;WScript.Echo &#8220;datapath specified: &#8221; &amp; namedArgs.Item(&#8221;datapath&#8221;)<br />
&#8216;WScript.Echo &#8220;rootdir specified: &#8221; &amp; namedArgs.Item(&#8221;rootdir&#8221;)<br />
</span><br />
PrevFolder = namedArgs.Item(&#8221;datapath&#8221;)<br />
RootFolder = namedArgs.Item(&#8221;rootdir&#8221;)</p>
<p><span style="color: #008080;">&#8216;Change the next assignment statement to generate a different name for consolidated data file<span> </span></span><br />
DailyFileName = PrevFolder &amp; &#8220;\&#8221; &amp; LogonServer &amp; &#8220;.&#8221; &amp; _<br />
&#8220;consolidated_daily_filefor&#8221; &amp; &#8220;.&#8221; &amp; EditDate &amp; &#8220;.smf&#8221;<span> </span></p>
<p><span style="color: #008080;">&#8216;WScript.Echo DailyFileName</span></p>
<p>If objFSO1.FolderExists(PrevFolder) then<br />
Else<br />
<span style="color: #008080;"> &#8216;WScript.Echo &#8220;Invalid datapath argument: &#8221; &amp; PrevFolder<br />
<span> </span></span>Return<br />
End If</p>
<p>If objFSO1.FolderExists(RootFolder) then<br />
Else<br />
<span> </span><span style="color: #008080;">&#8216;WScript.Echo &#8220;Invalid root directory argument: &#8221; &amp; RootFolder<br />
<span> </span></span>Return<br />
End If</p>
<p><span style="color: #008080;">&#8216;Step 3 &#8212; Call the NtDACmd to update the NTSMF PDB database</span></p>
<p>command = RootFolder &amp; &#8220;/&#8221; &amp; &#8220;ntdacmd.exe -d &#8221; &amp; PrevFolder &amp; &#8221; -threads 2&#8243;<br />
Dim execCommand2<br />
Set execCommand2 = WshShell.Exec(command)</p>
<p><span style="color: #008080;">&#8216;Wscript.Echo execCommand2.StdOut.ReadAll</span></p>
<p><span style="color: #008080;">&#8216;Step 4 &#8212; Execute the Copy coammnd to consolidate the daily .smf data files<span> </span></span></p>
<p>dim copyspec<br />
copyspec = &#8220;&#8221;"&#8221; &amp; PrevFolder &amp; &#8220;\*.smf&#8221; &amp; &#8220;&#8221;"&#8221;<br />
<span style="color: #008080;">&#8216;Wscript.Echo &#8220;Copy .smf Files in Previous Folder to: &#8221; &amp; DailyFileName<br />
</span><br />
dim command<span> </span><br />
command = &#8220;cmd.exe /c &#8221; &amp; &#8220;&#8221;"&#8221; &amp; &#8220;copy /b &#8221; &amp; copyspec &amp; &#8221; &#8221; &amp; DailyFileName &amp; &#8220;&#8221;"&#8221;<br />
<span style="color: #008080;">&#8216;Wscript.Echo &#8220;Copy command string: &#8221; &amp; command</span></p>
<p>Dim execCommand<br />
Set execCommand = WshShell.Exec(command)</p>
<p><span style="color: #008080;">&#8216;Wscript.Echo execCommand.StdOut.ReadAll</span></p>
<p><span style="color: #008080;">&#8216;Step 5 &#8212; Execute the DmSumsmf utility to summarize the daily .smf data files<span> </span><br />
</span><br />
command = RootFolder &amp; &#8220;/&#8221; &amp; &#8220;dmsumsmf -f&#8221; &amp; DailyFileName &amp; &#8221; -h&#8221; &amp; RootFolder<span> </span><br />
<span style="color: #008080;">&#8216;Wscript.Echo &#8220;Dmsumsmf command string: &#8221; &amp; command</span><br />
Dim execCommand1<br />
Set execCommand1 = WshShell.Exec(command)</p>
<p><span style="color: #008080;">&#8216;Wscript.Echo execCommand.StdOut.ReadAll</span></p>
<p><span style="color: #008080;">&#8216;Step 6 &#8212; Finally, copy the consolidated summary file somewhere ===&gt;<br />
&#8216;Careful. Multiple sum.smf output files may be created<br />
</span>command = &#8220;cmd.exe /c &#8221; &amp; &#8220;&#8221;"&#8221; &amp; &#8220;copy &#8221; &amp; PrevFolder &amp; &#8220;\*.sum.smf \\STPUTL04\NTSMF&#8221; &amp; &#8220;&#8221;"&#8221;<br />
<span style="color: #008080;">&#8216;Wscript.Echo &#8220;Copy command string: &#8221; &amp; command</span><br />
&#8216;Dim execCommand3<br />
&#8216;Set execCommand3 = WshShell.Exec(command)<br />
<span style="color: #008080;">&#8216;Wscript.Echo execCommand3.StdOut.ReadAll</span></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong><a name="Debugging_WSH_scripts.">Debugging WSH scripts.</a><span> </span></strong>An old fashioned, but effective, way to debug WSH scripts is to use the Wscript.Echo method to write to the screen to trace the flow of program execution. This sample script is laced with Wscript.Echo  statements that were used in debugging, but subsequently have been commented out. In order to view the output from Wscript.Echo statements while you test your script during Cycle End processing, you must</p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="42" valign="baseline"><img src="_themes/expeditn/expbul1a.gif" alt="bullet" hspace="13" width="15" height="15" /></td>
<td width="100%" valign="top"><span style="font-family: book antiqua,times new roman,times;"></p>
<p style="margin-top: 0px; margin-bottom: 0px;">remove the<span> </span><strong>//B</strong><span> </span>parameter that suppresses interactive output from the Wscript invocation statement on the Cycle End command line,</p>
<p></span></td>
</tr>
<tr>
<td width="42" valign="baseline"><img src="_themes/expeditn/expbul1a.gif" alt="bullet" hspace="13" width="15" height="15" /></td>
<td width="100%" valign="top"><span style="font-family: book antiqua,times new roman,times;"></p>
<p style="margin-top: 0px; margin-bottom: 0px;">allow the Performance SeNTry collection service to interact with the desktop (as illustrated below), and</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-family: book antiqua,times new roman,times;"> </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<p style="margin-top: 0px; margin-bottom: 0px;"><img src="cycle_1.jpg" border="0" alt="" width="410" height="461" align="center" /></p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td width="42" valign="baseline"><img src="_themes/expeditn/expbul1a.gif" alt="bullet" hspace="13" width="15" height="15" /></td>
<td width="100%" valign="top"><span style="font-family: book antiqua,times new roman,times;"></p>
<p style="margin-top: 0px; margin-bottom: 0px;">restart the Performance SeNTry collection service after you have applied this Service Control Manager parameter change so that it can take effect.</p>
<p></span></td>
</tr>
</tbody>
</table>
<p><span style="font-family: book antiqua,times new roman,times;"> </span></p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<p style="margin-top: 0px; margin-bottom: 0px;">This will allow you to view all Wscript.Echo output when the script executes during Cycle End command processing.</p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<p style="margin-top: 0px; margin-bottom: 0px;">When you execute Wcsript.exe or ccript.exe to run your script, the <span> </span><strong>//B</strong><span> </span>parameter indicates batch execution mode. Batch mode suppresses command-line display of user prompts and script errors, which is important when you run a script during Cycle End command processing. Without the the<span> </span><strong>//B</strong>parameter, your script will hang, waiting for user input if you execute a Wscript.Echo statement that writes to the screen.</p>
<p style="margin-top: 0px; margin-bottom: 0px;">
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>WARNING</strong>: When you have finished debugging your script, make sure you restore the<span> </span><strong>//B</strong><span> </span>parameter to the script invocation command line before you distribute to a production server. If you do not allow the collection service to interact with the desktop, as illustrated above, any attempts to write to the screen using Wscript.Echo statements will be invisible. In this case, not only will the script hang, but you will not be able to tell that it is hung.</p>
<p style="margin-top: 0px; margin-bottom: 0px;">
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2010/03/04/will-you-please-explain-cycle-end-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Counter values you need are not available in the NTSMF data collection file</title>
		<link>http://faq.demandtech.com/2010/02/22/counter-values-you-need-are-not-available-in-the-ntsmf-data-collection-file/</link>
		<comments>http://faq.demandtech.com/2010/02/22/counter-values-you-need-are-not-available-in-the-ntsmf-data-collection-file/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 18:30:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Data Collection Set]]></category>
		<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Metrics]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Collection Service]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=185</guid>
		<description><![CDATA[This procedure is for diagnosing data collection problems where the Counter values you need are not available in the NTSMF data collection file and not visible in System Monitor either. If you are still not able to collect the missing Objects and Counters after you have followed all the steps in this procedure, please contact Customer [...]]]></description>
			<content:encoded><![CDATA[<p>This procedure is for diagnosing data collection problems where the Counter values you need are not available in the NTSMF data collection file and not visible in System Monitor either. If you are still not able to collect the missing Objects and Counters after you have followed all the steps in this procedure, please <a href="mailto:support@demandtech.com">contact Customer Support</a> and tell us about your problem. Please attach the <strong>.<em>smf</em></strong> data file and the <em>&lt;computername&gt;.<strong>ntsmf.log</strong> </em>file from the machine where you are experiencing the problem.</p>
<ol type="a">
<li><em>Is the Counter specified for collection, but not available for collection on the machine?</em></li>
</ol>
<p>An Event ID 604 Warning message in the Application Event log (or the <strong>&lt;computername&gt;.ntsmf.log</strong> file) documents performance Counters that were specified in the DCS Data Definition, but are not available for collection on the local machine. This happens because not all the Counters associated with a given performance Object are available for collection across all versions of the associated Performance Library DLL that is responsible for maintaining them. While the developers of the operating system base Counters, like <strong>Processor </strong>and <strong>System</strong>, are pretty good about maintaining upward compatibility between versions of their Perflib DLLs, not all developers of Perflib DLLs are as circumspect.</p>
<p>For instance, if you specify that you want to collect all the Counters in the <strong>Internet Information Services Global Object </strong>and you are running IIS version 5.0, you are likely to receive a Warning message similar to the following:</p>
<dl>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">10/30/02-09:06:00 &#8211; Event ID: 604, Category: DCS, Severity: Warning</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">The following global counters were specified in the DCS but not found on the local machine and will be skipped.</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Object, Internet Information Services Global (L2596, G4022)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Cache Size (L0, G4024)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Cache Used (L0, G4026)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Cached File Handles (L0, G4028)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Directory Listings (L0, G4030)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Objects (L0, G4032)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Cache Flushes (L0, G4034)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Cache Hits (L0, G4036)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Cache Misses (L0, G4038)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Cache Hits % (L0, G4040)</span></dt>
<dt style="margin-top: 0px; margin-bottom: 0px;"><span style="font-size: x-small;">Counter, Measured Async I/O Bandwidth usage/ (L0, G4052)</span></dt>
</dl>
<p>These are Counters that used to be in the <strong>Internet Information Services Global </strong>Object, but were dropped in later versions of IIS.</p>
<p>This situation is not an error condition (which is why the Collection service only <em>warns</em> you about it), but you need to abandon any hope you may have of collecting those specific Counters on this machine.</p>
<ol type="a">
<li><em>Is the Performance Library DLL associated with the missing data missing?</em></li>
</ol>
<p>Sometimes the Performance Library DLL that is defined is simply missing on the local machine. When the Performance Sentry collection service attempts to load the Library module referenced in the <span style="font-family: 'Arial Narrow';">HKLM\SYSTEM\CurrentControlSet\Services\&lt;<em>servicename</em>&gt;\Performance</span> key, the module is not found. In this event, you should see an Application Event log similar to the following:</p>
<p><span style="font-size: x-small;">11/05/02-17:48:08 &#8211; Event ID: 210, Category: Discovery, Severity: Warning<br />
The Performance Library, &#8220;Perfctrs.dll&#8221;, for service &#8220;TCP/IP Protocol Driver&#8221; (Tcpip), failed to load.<br />
The system error was &#8220;The specified module could not be found (126)&#8221;.<br />
Performance data for this service will not be available.<br />
The Event Viewer (source Perflib) may have more details</span></p>
<p>In this example, the <strong>perfctrs.dll </strong>module identified in the <strong>Library</strong> field of the <span style="font-family: 'Arial Narrow';">/Services/Tcpip</span>/<span style="font-family: 'Arial Narrow';">Performance</span> subkey was missing. When the collection service tried to load it, the Load operation failed, for the following reason: &#8220;The specified module could not be found.&#8221; When a problem like this occurs, using either the Extended Counter List applet or the Registry Editor, determine where the Library is supposed to be and verify that the Perflib DLL is, in fact, missing. If the Library field of the /<span style="font-family: 'Arial Narrow';">Performance</span> subkey points to a fully qualified filename, look for the module in the folder specified. If only the module name is referenced, then look for it in the <em>%system32%</em> folder in the Windows &lt;root&gt; directory.</p>
<p>Sometimes this occurs when the application that installed the Performance Library was removed, but the corresponding <span style="font-family: 'Arial Narrow';">Performance</span> subkey was not deleted when the uninstall procedure executed. In this case, it is usually safe to remove the <span style="font-family: 'Arial Narrow';">Performance</span> subkey manually using the Registry Editor. The Event ID 210 Warning message will disappear after that.</p>
<p>However, if you feel that the missing Performance Library DLL is a mistake, try to correct the problem. Sometimes uninstalling and re-installing the application will restore the Perflib. Alternatively, try to locate a working version of the Performance Library DLL on a different machine running the same or a similar level of software. Copy that Perflib DLL module to this machine and then restart the collection service to see if that solves the problem.</p>
<ol type="a">
<li><em>Is the Performance Library DLL associated with the missing data defective?</em></li>
</ol>
<p>When the collection service encounters a defective Perflib DLL, it generates Application Event log messages that help to document the data collection problem. Common problems that you might see reported include:</p>
<ol type="i">
<li>
<p style="margin-left: 18px;">a Perflib DLL that does not initialize successfully,</p>
</li>
<li>
<p style="margin-left: 18px;">a Perflib DLL that fails to return any Objects and Counters, and</p>
</li>
<li>
<p style="margin-left: 18px;">a Perflib DLL that returns zero values for all the Counter values that it reports.</p>
</li>
</ol>
<p>Sometimes, the Perflib DLL has a bug which causes an unhandled Exception or other error condition that causes the collection thread calling the Module to terminate. Prior to terminating, the collection service (assuming you are running the &#8220;fat&#8221; version of the collector) will generate a Stack trace showing the precise status of the collection thread at the time the error occurred. This diagnostic trace information should be forwarded to the party responsible for the Perflib DLL that failed for resolution.</p>
<p>An example diagnostic trace message generated by an unhandled exception in a Perflib DLL is illustrated below:</p>
<p><img class="alignleft size-full wp-image-186" title="image001" src="http://faq.demandtech.com/wp-content/uploads/2010/02/image001.gif" alt="image001" width="404" height="448" /></p>
<p><span style="font-family: 'book antiqua', 'times new roman', times;">As a result of encountering a serious error condition related to calling a  defective Performance Library DLL, the collection service will recover and  continue to gather data from whatever Perflib DLLs that are functioning  correctly for the duration of the collection cycle. While the collection service  bypasses collecting data from the defective Perflib for the remainder of the  collection cycle, it will automatically retry the module in the initialization  phase at the beginning of the next collection cycle. Consequently, the Warning  messages that document the problem are likely to recur regularly at the  beginning of each collection cycle until you decide to investigate and resolve  the problem.</p>
<p>Only the most serious Perflib DLL defects trigger a diagnostic trace message.  You are much more likely to encounter less serious defects like the ones  described below.</p>
<p>Sometimes the collection service  is able to locate and load the Perflib DLL without problems, but cannot gather  the performance data the Perflib was designed to collect. Consider that many  Perflib DLLs associated with extended Counters are designed to gather data from  inside servers application processes like <strong>sqlserver.exe</strong>, <strong>store.exe</strong>,  and <strong>inetinfo.exe</strong>. A frequent cause of data collection problems is that the process that  a Perflib  DLL needs to acquire performance data from is not running. For example, if the <strong>sqlserver.exe</strong> process is shutdown, the <strong>sqlctr80.dll</strong> Perflib DLL  designed to gather SQL Server statistics will report an error condition, which  the collection thread will post to the Event log.</p>
<p>If <strong>sqlserver.exe </strong>stops running or is hung for some reason, failed  attempts to gather data SQL performance data from the SQL Performance Library  DLL (e.g., <strong>sqlctr80.dll</strong>) will generate Warning messages like the  following for each SQL performance Object the collector has been instructed to  collect:</p>
<p><span style="font-size: x-small;">11/05/02-22:31:00 &#8211; Event ID: 2200, Category: Collection, Severity: Warning<br />
Object, SQLServer:General Statistics (L2346, G17300), failed to return data this  interval</p>
<p>11/05/02-22:31:00 &#8211; Event ID: 2200, Category: Collection, Severity: Warning<br />
Object, SQLServer:Databases (L2370, G17700), failed to return data this interval</p>
<p>11/05/02-22:31:00 &#8211; Event ID: 2200, Category: Collection, Severity: Warning<br />
Object, SQLServer:SQL Statistics (L2470, G18300), failed to return data this  interval</p>
<p></span>Errors can also arise when the process that the Perflib DLL must  communicate with to gather performance data is simply unavailable. In this example, the <strong> w3ctrs.dll</strong> Performance Library DLL cannot access the Inetinfo Web server  publishing service that is the source for the Web service performance data that  it reports.</p>
<p><span style="font-size: x-small;">11/05/02-16:50:16 &#8211; Event ID: 1309, Category: PerfData,  Severity: Warning<br />
World Wide Web Publishing (Global): no objects were found in the performance  data buffer<br />
</span><br />
<span style="font-size: x-small;">11/05/02-16:51:16 &#8211; Event ID: 96, Category: N/A, Severity:  Warning<br />
The following performance libraries failed to return data.<br />
Data from objects from these libraries will be unavailable for this cycle.<br />
World Wide Web Publishing (W3SVC), &#8220;w3ctrs.dll&#8221;</span></p>
<p><span style="font-size: x-small;">11/05/02-16:51:16 &#8211; Event ID: 2200, Category: Collection,  Severity: Warning<br />
The following objects were specified in the DCS but failed to return data.<br />
These objects will be skipped this cycle.<br />
Web Service (L0, G8300)</span></p>
<p><span style="font-size: x-small;">11/05/02-16:51:16 &#8211; Event ID: 2200, Category: Collection,  Severity: Warning<br />
Object, Web Service Web Service (L0, G8300), failed to return data this interval</span></p>
<p>To  rectify this situation, you need to resolve the underlying problem that  is preventing the process the Perflib DLL depends on from running.</p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2010/02/22/counter-values-you-need-are-not-available-in-the-ntsmf-data-collection-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Execution Prevention (DEP) details, issues, and options</title>
		<link>http://faq.demandtech.com/2010/02/17/data-execution-prevention-dep-details-issues-and-options/</link>
		<comments>http://faq.demandtech.com/2010/02/17/data-execution-prevention-dep-details-issues-and-options/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 20:52:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Data Collection Set]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Sentry Administration]]></category>
		<category><![CDATA[Collection Service]]></category>
		<category><![CDATA[NTSMF - Collection Service]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=177</guid>
		<description><![CDATA[Data Execution Prevention (DEP) is a relatively new feature of both Intel and AMD hardware that is supported beginning with Windows Server 2003 Service Pack 1 and Windows XP Service Pack 2. DEP is a set of related hardware and software features designed to make it more difficult for malicious programs to execute sensitive code [...]]]></description>
			<content:encoded><![CDATA[<p style="color: #000000; font-family: verdana, arial, helvetica, sans-serif; font-size: 11px; letter-spacing: 0px; line-height: 16px;">Data Execution Prevention (DEP) is a relatively new feature of both Intel and AMD hardware that is supported beginning with Windows Server 2003 Service Pack 1 and Windows XP Service Pack 2. DEP is a set of related hardware and software features designed to make it more difficult for malicious programs to execute sensitive code in the operating system. DEP is activated automatically when machines with the DEP hardware protection installed are booted in PAE (Physical Address Extension) mode.</p>
<p style="color: #000000; font-family: verdana, arial, helvetica, sans-serif; font-size: 11px; letter-spacing: 0px; line-height: 16px;"><em>Version 2.4.7 of the Performance SeNTry (NTSMF) data collector will not execute if DEP is active.</em> This does not apply to versions after 2.4.7</p>
<p style="color: #000000; font-family: verdana, arial, helvetica, sans-serif; font-size: 11px; letter-spacing: 0px; line-height: 16px;">For details and options, see this <a href="http://www.demandtech.com/DEP_workaround.htm">Technical Note</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2010/02/17/data-execution-prevention-dep-details-issues-and-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use DmPerfss.cfg to exclude Performance Library DLLs that cause collection problems</title>
		<link>http://faq.demandtech.com/2010/02/17/use-dmperfss-cfg-to-exclude-performance-library-dlls-that-cause-collection-problems/</link>
		<comments>http://faq.demandtech.com/2010/02/17/use-dmperfss-cfg-to-exclude-performance-library-dlls-that-cause-collection-problems/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 20:41:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Data Collection Set]]></category>
		<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Sentry Administration]]></category>
		<category><![CDATA[Collection Service]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=174</guid>
		<description><![CDATA[NTSMF version 2.4.6 and higher utilizes a facility that allows you to specifically exclude Performance Library DLLs that cause collection problems. Instructions to exclude specific Performance Library (Perflib) DLLs are contained in an optional configuration file named DmPerfss.cfg that is stored in the NTSMF root directory. The format of theDmPerfss.cfg file, which use a simple XML [...]]]></description>
			<content:encoded><![CDATA[<p>NTSMF version 2.4.6 and higher utilizes a facility that allows you to specifically exclude Performance Library DLLs that cause collection problems. Instructions to exclude specific Performance Library (Perflib) DLLs are contained in an optional configuration file named <strong>DmPerfss.cfg </strong>that is stored in the NTSMF root directory. The format of the<strong>DmPerfss.cfg</strong> file, which use a simple XML syntax, is documented in this Technical Note.</p>
<p style="margin-bottom: 1px;">The main dispatcher thread of the Collection service generates a separate collection thread for each Perflib DLL that it finds installed on the local machine during the Discovery phase at the beginning of every collection cycle. (Follow this link for more <strong><a name="Performance Library DLLs"></a></strong>.) Each Open and Collect call to a Perflib DLL is performed under a dedicated collection thread. With the threaded collector, it is possible to detect and recover from most failures involving direct calls to Perflib DLLs, sometimes even when calls via the Microsoft PDH and WMI plumbing that other products use, including System Monitor, fail. Under normal circumstances, the NTSMF collection service continues to gather performance data even in the face of buggy, third party Perflib DLL modules.</p>
<p>There are extenuating circumstances when it is desirable for the NTSMF collection agent to ignore completely specific Performance Library DLLs that are defective and perform no processing on these modules. Performance Library DLLs that malfunction in the following ways are candidates for exclusion from all NTSMF processing :</p>
<ul>
<li>The Perflib fails to return properly from any Open or Collect call and causes the collection agent, the application being monitored, or the system to hang.</li>
<li>When NTSMF successfully opens the Performance Library DLL, the module cannot be shared properly with other applications that also attempt to Open them.</li>
</ul>
<p>When defective Perflibs are excluded from processing, the NTSMF collection agent does not attempt to load the DLLs or call their Open routines during the Discovery phase at the beginning of every collection cycle. You exclude these defective Perflibs from <em>all </em>NTSMF-related processing using entries in the <strong>DmPerfss.cfg </strong>configuration file.</p>
<blockquote><p><strong>Note:</strong> the use of the the <strong>DmPerfss.cfg </strong>configuration file is optional. A default <strong>DmPerfss.cfg </strong>configuration file is installed automatically when you run the standard software <strong>Setup</strong> routine. The default <strong>DmPerfss.cfg </strong>configuration file contains entries for Performance Library DLLs that we have seen cause severe problems in some of our customer sites. We recommend that you install and use the default <strong>DmPerfss.cfg </strong>configuration file.  You can modify the default<strong>DmPerfss.cfg </strong>configuration file using any text editor if you determine there are additional Performance Library DLLs that need to be excluded from NTSMF processing. We recommend that you contact Customer Support <em>before </em>you make modifications to the <strong>DmPerfss.cfg </strong>configuration file for your environment. If you are having a problem, there may well be other solutions to consider. If the Performance Library DLL is defective, we might like to let other customers know about it.</p></blockquote>
<p>The &lt;Perflibs&gt; section of the <strong>DmPerfss.cfg </strong>configuration file can contain an Exclude list and an Include section. These sections identify specific Performance Library DLLs by module name (and optionally by version) that are to be excluded or included for processing at the beginning of a collection cycle.</p>
<p><strong>Exclude list. </strong>The Exclude list causes the collector to exclude the modules listed (by version, if specified) from all NTSMF collection agent processing. The collection agent will not attempt to load a Perflib DLL module on the Exclude list at the beginning of a collection cycle. The Version specification is optional. Module entries without a version specification cause <em>all </em>versions of the Perflib DLL to be excluded. If specific Perflib DLL module versions are to be excluded, then they must be listed in the Version section. If there are duplicate entries, the Exclude list takes precedence over modules on the Include list .</p>
<p>Code a<strong> &lt;Module FileName=&#8221;</strong><em>filename</em><strong>&#8220;&gt;&lt;/Module&gt; </strong>section for each Performance Library DLL that you want to exclude from processing. Optionally, you can add one or more <strong>&lt;Version&gt;</strong> specifications that qualify which versions of the Performance Library DLL should be excluded. If the <strong>&lt;Version&gt;</strong> specification does not exist, any version of the Performance Library DLL that is found is excluded.</p>
<p>An example <strong>DmPerfss.cfg </strong>configuration file with an Exclude list is coded below:</p>
<blockquote>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;PerfLibs&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;Exclude&gt;<br />
&lt;! &#8212; Sybase ASA object &#8211;&gt;<br />
&lt;Module FileName=&#8221;dbctrs8.dll&#8221;&gt;&lt;/Module&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;!&#8211; .NET CLR Data, NET CLR Networking &#8211;&gt;<br />
&lt;Module FileName=&#8221;netfxperf.dll&#8221;&gt;&lt;Version&gt;1.0.3215.11&lt;/Version&gt;&lt;/Module&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;!&#8211; .NETFramework &#8211;&gt;<br />
&lt;Module FileName=&#8221;mscoree.dll&#8221;&gt;&lt;Version&gt;1.0.3215.11&lt;/Version&gt;&lt;/Module&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;!&#8211; FileReplicaConn, FileReplicaSet &#8211;&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;Module FileName=&#8221;NTFRSPRF.dll&#8221;&gt;&lt;Version&gt;5.1.3590.0&lt;/Version&gt;&lt;/Module&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;!&#8211; WmiApRpl &#8211;&gt;<br />
&lt;Module FileName=&#8221;wmiaprpl.dll&#8221;&gt;&lt;Version&gt;5.1.3590.0&lt;/Version&gt;&lt;/Module&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;!&#8211; Lotus Notes &#8211;&gt;<br />
&lt;Module FileName=&#8221;nnotes.dll&#8221;&gt; &lt;/Module&gt;</strong></p>
<p style="margin-top: 0px; margin-bottom: 0px;"><strong>&lt;/Exclude&gt;&lt;/PerfLibs&gt;</strong></p>
</blockquote>
<p style="margin-bottom: 12px;">Text inside a <strong>&lt;! This is a comment &gt;</strong> Comment section is ignored.</p>
<p style="margin-bottom: 1px;">During the Discovery phase at the start of every collection cycle, the <strong>DmPerfss.cfg</strong> configuration file is processed to determine what Performance Library DLLs should be excluded from processing during that cycle. An Event ID 214 Informational message is written to the &lt;<em>computername</em>&gt;<strong>.ntsmf.log</strong> file that documents the Performance Library DLLs that were specifically excluded from processing, as illustrated below:</p>
<blockquote><p><em><strong> 08/02/04-00:00:11 &#8211; Event ID: 214, Category: Discovery, Severity: Info</strong></em></p>
<p><strong>The following Performance Libraries are excluded from processing as specified in DmPerfss.cfg. Performance data from these libraries will not be available this cycle.<br />
.NET CLR Data (.NET CLR Data), &#8220;netfxperf.dll&#8221;, version 1.1.4322.573<br />
.NET CLR Networking (.NET CLR Networking), &#8220;netfxperf.dll&#8221;, version 1.1.4322.573<br />
.NETFramework (.NETFramework), &#8220;mscoree.dll&#8221;, version 1.1.4322.573<br />
WmiApRpl (WmiApRpl), &#8220;C:\WINDOWS\System32\wbem</strong></p></blockquote>
<p><strong>Error Messages. </strong>In the case of errors accessing the <strong>DmPerfss.cfg</strong> configuration file, the configuration file is ignored and collection cycle processing proceeds as if the<strong>DmPerfss.cfg</strong> configuration file did not exist.</p>
<p>If the the <strong>DmPerfss.cfg</strong> configuration file is invalid, then the following Warning message is written:</p>
<blockquote><p><strong><em>08/02/03-00:50:13 &#8211; Event ID: 96, Category: None, Severity: Warning<br />
The configuration file failed to open.<br />
The Inclusion/Exclusion list will not be used this cycle.</em></strong></p></blockquote>
<p><strong><em>If </em></strong>the <strong>DmPerfss.cfg</strong> configuration file contains syntax errors, then the following Warning message is written:</p>
<blockquote><p><strong><em>08/02/03-00:50:13 &#8211; Event ID: 96, Category: None, Severity: Warning<br />
Failed to load, &#8220;E:\DmPerfss 2.4.6\bin\Debug\DmPerfss.cfg&#8221;.<br />
Parse error, 0xC00CE503, encountered on line, 25, at position, 14.<br />
Reason = Incorrect syntax was used in a comment.</em></strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2010/02/17/use-dmperfss-cfg-to-exclude-performance-library-dlls-that-cause-collection-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is the minimum sampling period for Performance Sentry?</title>
		<link>http://faq.demandtech.com/2009/12/30/what-is-the-minimum-sampling-period-for-performance-sentry/</link>
		<comments>http://faq.demandtech.com/2009/12/30/what-is-the-minimum-sampling-period-for-performance-sentry/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 11:43:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Data Collection Set]]></category>
		<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[sampling period]]></category>
		<category><![CDATA[sampling periods]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=169</guid>
		<description><![CDATA[The minimum collection interval for Performance Sentry and NTSMF is 1 second.  However, in most cases collecting at a 1 second interval may not be practical.
For customers who do require less than 60 second sample intervals we recommend that they pare their data collection sets down to the absolute minimum number of counters for collection.   These [...]]]></description>
			<content:encoded><![CDATA[<p>The minimum collection interval for Performance Sentry and NTSMF is 1 second.  However, in most cases collecting at a 1 second interval may not be practical.</p>
<p>For customers who do require less than 60 second sample intervals we recommend that they pare their data collection sets down to the absolute minimum number of counters for collection.   These counters usually center around a specific subsystem (like disk) or processes for a specific application.</p>
<p>Some customers have designed these collection sets to run 24&#215;7, however, most customers will set this up for only a short period of time while they are doing a performance study.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/12/30/what-is-the-minimum-sampling-period-for-performance-sentry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is the Performance Sentry User Guide available online</title>
		<link>http://faq.demandtech.com/2009/12/16/is-the-performance-sentry-user-guide-available-online/</link>
		<comments>http://faq.demandtech.com/2009/12/16/is-the-performance-sentry-user-guide-available-online/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 14:44:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Performance Sentry]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=166</guid>
		<description><![CDATA[Yes, the Performance Sentry User Guide can be downloaded from here.
]]></description>
			<content:encoded><![CDATA[<p>Yes, the Performance Sentry User Guide can be downloaded from <a href="http://www.demandtech.com/PerformanceSentry31Documentation.pdf" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/12/16/is-the-performance-sentry-user-guide-available-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Help! Do you know if there are any interesting Active Directory Objects or Counters?</title>
		<link>http://faq.demandtech.com/2009/11/23/help-do-you-know-if-there-are-any-interesting-active-directory-objects-or-counters/</link>
		<comments>http://faq.demandtech.com/2009/11/23/help-do-you-know-if-there-are-any-interesting-active-directory-objects-or-counters/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 16:39:28 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[Performance Metrics]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=163</guid>
		<description><![CDATA[NTDS is the main source of information on Active Directory traffic to and from Domain Controllers. It contains a ton of interesting looking counters.
Unfortunately, there is not much written that documents AD performance issues and how to use these counters. This TechNet overview article is a good place to start. There are two main objects [...]]]></description>
			<content:encoded><![CDATA[<p>NTDS is the main source of information on Active Directory traffic to and from Domain Controllers. It contains a ton of interesting looking counters.</p>
<p>Unfortunately, there is not much written that documents AD performance issues and how to use these counters. This TechNet overview article is a good place to start. There are two main objects to monitor:</p>
<p>1. Information related to the NTDS Object:</p>
<p><a href="http://technet2.microsoft.com/windowsserver/en/library/6a2abace-5fab-49f0-8c6d-5daea891a5f71033.mspx?mfr=true">http://technet2.microsoft.com/windowsserver/en/library/6a2abace-5fab-49f0-8c6d-5daea891a5f71033.mspx?mfr=true</a></p>
<p>2. Information related to the Database Object:</p>
<p><a href="http://technet2.microsoft.com/windowsserver/en/library/26bfde1e-7938-4573-b12f-6e4e9cedf4a51033.mspx?mfr=true">http://technet2.microsoft.com/windowsserver/en/library/26bfde1e-7938-4573-b12f-6e4e9cedf4a51033.mspx?mfr=true</a></p>
<p>The following represents Microsoft&#8217;s recommendations when monitoring Domain Controllers:</p>
<p><a href="http://technet2.microsoft.com/windowsserver/en/library/c5d72b6f-5974-4263-b29f-2eece0ab44371033.mspx?mfr=true">http://technet2.microsoft.com/windowsserver/en/library/c5d72b6f-5974-4263-b29f-2eece0ab44371033.mspx?mfr=true</a></p>
<p>It will at least help you get acquainted with the basic terminology that AD uses.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/11/23/help-do-you-know-if-there-are-any-interesting-active-directory-objects-or-counters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is the meaning of the message &#8220;Insufficient data in performance name table&#8221; in the NTSMF.LOG File?</title>
		<link>http://faq.demandtech.com/2009/10/22/what-is-the-meaning-of-the-message-insufficient-data-in-performance-name-table-in-the-ntsmf-log-file/</link>
		<comments>http://faq.demandtech.com/2009/10/22/what-is-the-meaning-of-the-message-insufficient-data-in-performance-name-table-in-the-ntsmf-log-file/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:29:38 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=141</guid>
		<description><![CDATA[Sometimes the following message is displayed in the &#8220;.Log&#8221; file:
04/14/08-13:44:04 &#8211; Event ID: 2900, Category: Perf Text, Severity: Error Insufficient data in performance name table
Concerning the message &#8220;Insufficient data in performance name table&#8221; refers to the file perfc009.dat that resides in the &#60;Windows&#62;\system32 folder. This file contains the names of all installed objects and counters. The name table [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes the following message is displayed in the &#8220;.Log&#8221; file:</p>
<p><strong>04/14/08-13:44:04 &#8211; Event ID: 2900, Category: Perf Text, Severity: Error Insufficient data in performance name table</strong></p>
<p>Concerning the message &#8220;Insufficient data in performance name table&#8221; refers to the file perfc009.dat that resides in the &lt;Windows&gt;\system32 folder. This file contains the names of all installed objects and counters. The name table can become corrupted during installation of new or modified Counter definitions using the lodctr utility.  Even though Microsoft enhanced the procedure to rebuild a  damaged perfc009.dat file in Windows Server 2003 ( <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;300956">KB 300956</a>)  and these problems typically impact all consumers of performance counters, the Performance Sentry Collection Service was modified to recover from severe damage to the perfc009.dat that it finds during Discovery and continue processing.</p>
<p>As an alternative, to the Microsoft KnowledgeBase entry, we sometimes suggest to our customers that they simply copy a Perfc009.dat file from a similarly configured server (after renaming the existing corrupt Perfc009.dat file &#8211; for backup or supporting documentation for the error).You can verify the fix by starting Perfmon (Performance Monitor) and looking at the performance counters.</p>
<p>Then stop and restart the Performance Sentry Collection Service so that service will re-initialize using the new, or repaired, file.</p>
<p>For additional repaired options you can read Microsoft&#8217;s knowledge base article: <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;300956">KB 300956</a></p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/what-is-the-meaning-of-the-message-insufficient-data-in-performance-name-table-in-the-ntsmf-log-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is Performance Sentry not collecting a specific performance counter (or counters) that I need to look at?</title>
		<link>http://faq.demandtech.com/2009/10/22/why-is-performance-sentry-not-collecting-a-specific-performance-counter-or-counters-that-i-need-to-look-at/</link>
		<comments>http://faq.demandtech.com/2009/10/22/why-is-performance-sentry-not-collecting-a-specific-performance-counter-or-counters-that-i-need-to-look-at/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:24:40 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=139</guid>
		<description><![CDATA[There are a number of reasons why Performance Sentry may not be collecting some performance Counter or Counters that you need to look at. Sometimes the reason is fairly trivial and easy to rectify. Sometimes the reason is more difficult to determine. Sometimes, it is a problem with the Performance Sentry collection service itself, which we want you [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of reasons why Performance Sentry may not be collecting some performance Counter or Counters that you need to look at. Sometimes the reason is fairly trivial and easy to rectify. Sometimes the reason is more difficult to determine. Sometimes, it is a problem with the Performance Sentry collection service itself, which we want you to report to us as soon as possible, with all the supporting documentation we will need to resolve it.</p>
<p>Ever notice all those Messages that the Performance Sentry collection service writes to the Application Event log and the <em>&lt;computername&gt;.ntsmf.log </em>file? These messages are designed to help diagnose data collection problems. By reviewing the Perfomrance Sentry Collection service Application Event log Warning messages that document most of the more common data collection anomalies that occur, you can usually identify and resolve a data collection problem quickly. This FAQ tells you how to use these Warning messages to solve data collection problems.</p>
<p>Please follow this simple procedure whenever you have a problem collecting data. First, answer the question below, and proceed to the next page of instructions based on your answer.</p>
<p><strong>Is the Counter you need visible using the Microsoft System Monitor? </strong></p>
<p>Start an interactive System Monitor session and see if the Counter or Counters you need are visible.<br />
If the Counter you need is visible in System Monitor, the Performance Sentry Collection Service should also be able to collect it.</p>
<p>If the Counter value you need is not visible in System Monitor, the Performance Sentry Collection Service probably cannot collect it either. However, it is quite possible that Performance Sentry will generate a diagnostic  error or Warning message that will help you understand why the data you are interested in cannot be collected.</p>
<p>Note that beginning in Performance Sentry version 2.4.5, the Performance Sentry Collection Service does not honor the <em><a href="http://faq.demandtech.com/admin.php?pg=kb.page&amp;page=16">Disable Performance Counters</a></em> Registry flag when it is set. Neither will any action performed by the Performance Sentry Collection Service ever cause the <em><a href="http://faq.demandtech.com/admin.php?pg=kb.page&amp;page=16">Disable Performance Counters</a></em> Registry flag to be set. However, when the <em>Disable Performance Counters</em> Registry flag is set, it may indicate there is an underlying problem with a Performance Library DLL that could effect Performance Sentry&#8217;s ability to gather the associated performance data.</p>
<p>Instead of <a href="http://faq.demandtech.com/admin.php?pg=kb.page&amp;page=16"><em>Disable Performance Counters</em></a>, Performance Sentry version 2.4.6 and higher utilizes a comparable facility that allows you to specifically exclude Performance Library DLLs that are troublesome. Specific Performance Library DLL excludes and includes are noted in a configuration file in the root NTSMFxx folder named <strong>DmPerfss.cfg</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/why-is-performance-sentry-not-collecting-a-specific-performance-counter-or-counters-that-i-need-to-look-at/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Performance Sentry compatible with the Microsoft Cluster Server?</title>
		<link>http://faq.demandtech.com/2009/10/22/is-performance-sentry-compatible-with-the-microsoft-cluster-server/</link>
		<comments>http://faq.demandtech.com/2009/10/22/is-performance-sentry-compatible-with-the-microsoft-cluster-server/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 15:21:03 +0000</pubDate>
		<dc:creator>Dan</dc:creator>
				<category><![CDATA[NTSMF - Collection Service]]></category>
		<category><![CDATA[Performance Sentry]]></category>
		<category><![CDATA[Windows Performance]]></category>

		<guid isPermaLink="false">http://faq.demandtech.com/?p=136</guid>
		<description><![CDATA[Yes. Microsoft Corp. defines a server “cluster” as a group of independent servers managed as a single system for higher availability, easier manageability and greater scalability. The minimum requirements for a server cluster, according to Microsoft, are (a) two servers connected by a network, (b) a method for each server to access the other’s disk [...]]]></description>
			<content:encoded><![CDATA[<p>Yes. Microsoft Corp. defines a server “cluster” as a group of independent servers managed as a single system for higher availability, easier manageability and greater scalability. The minimum requirements for a server cluster, according to Microsoft, are (a) two servers connected by a network, (b) a method for each server to access the other’s disk data, and (c) special cluster software.</p>
<p><strong>Running Performance Sentry under MS Cluster Server </strong></p>
<p>To run Performance Sentry under a Windows cluster environment:</p>
<ol>
<li>Install the Performance Sentry Collection service in each member of the cluster. There is no need to define any Cluster Resource as a “Generic Application” or “Generic Service”. Performance Sentry will automatically begin to read all shared disks and resources defined by the owner of the cluster on the next collection interval when a failover occurs. MS Cluster Server is started as a service and it may take longer to start than other services in a cluster.</li>
</ol>
<p>It is recommended that the Performance Sentry service starts after the MS Cluster Server is started so that Performance Sentry can “see” the presence of cluster share drives and logical disk in the respective nodes. This service dependency can be accomplished by adding a “DependOnService” registry value for the particular cluster server software under:<br />
HKLM\System\CurrentControlSet\Services\Dmperfss</p>
]]></content:encoded>
			<wfw:commentRss>http://faq.demandtech.com/2009/10/22/is-performance-sentry-compatible-with-the-microsoft-cluster-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
