|
|
//
// Systrack - System resource tracking
// Copyright (c) Microsoft Corporation, 1997
//
//
// header: memory.hxx
// author: silviuc
// created: Fri Nov 20 19:54:31 1998
//
#ifndef _MEMORY_HXX_INCLUDED_
#define _MEMORY_HXX_INCLUDED_
#define TRACK_AVAILABLE_PAGES 1
#define TRACK_COMMITTED_PAGES 2
#define TRACK_COMMIT_LIMIT 3
#define TRACK_PAGE_FAULT_COUNT 4
#define TRACK_SYSTEM_CALLS 5
#define TRACK_TOTAL_SYSTEM_DRIVER_PAGES 6
#define TRACK_TOTAL_SYSTEM_CODE_PAGES 7
//
// Note. How to add tracking for a new performance counter?
//
// (1) Let's say we want to do this for SystemCalls counter.
// (2) define TRACK_SYSTEM_CALLS with unique value in memory.hxx
// (3) add code in the switck from TrackPerformanceCounter()
// (memory.cxx) for it.
// (4) add code in main() (systrack.cxx) for command line parsing.
// (5) modify the help string from Help() (systrack.cxx) to display
// information for the new tracking feature.
// (6) add code in DetailedHelp() (systrack.cxx) for the counter.
// This should give specific details about what does the counter
// represent.
//
#if 0
_dump_ (Info, IoReadOperationCount); _dump_ (Info, IoWriteOperationCount); _dump_ (Info, IoOtherOperationCount); _dump_ (Info, AvailablePages); _dump_ (Info, CommittedPages); _dump_ (Info, CommitLimit); _dump_ (Info, PeakCommitment); _dump_ (Info, PageFaultCount); _dump_ (Info, CopyOnWriteCount); _dump_ (Info, TransitionCount); _dump_ (Info, CacheTransitionCount); _dump_ (Info, DemandZeroCount); _dump_ (Info, PageReadCount); _dump_ (Info, PageReadIoCount); _dump_ (Info, CacheReadCount); _dump_ (Info, CacheIoCount); _dump_ (Info, DirtyPagesWriteCount); _dump_ (Info, DirtyWriteIoCount); _dump_ (Info, MappedPagesWriteCount); _dump_ (Info, MappedWriteIoCount); _dump_ (Info, PagedPoolPages); _dump_ (Info, NonPagedPoolPages); _dump_ (Info, PagedPoolAllocs); _dump_ (Info, PagedPoolFrees); _dump_ (Info, NonPagedPoolAllocs); _dump_ (Info, NonPagedPoolFrees); _dump_ (Info, FreeSystemPtes); _dump_ (Info, ResidentSystemCodePage); _dump_ (Info, TotalSystemDriverPages); _dump_ (Info, TotalSystemCodePages); _dump_ (Info, NonPagedPoolLookasideHits); _dump_ (Info, PagedPoolLookasideHits); #if 0
_dump_ (Info, Spare3Count); #endif
_dump_ (Info, ResidentSystemCachePage); _dump_ (Info, ResidentPagedPoolPage); _dump_ (Info, ResidentSystemDriverPage); _dump_ (Info, CcFastReadNoWait); _dump_ (Info, CcFastReadWait); _dump_ (Info, CcFastReadResourceMiss); _dump_ (Info, CcFastReadNotPossible); _dump_ (Info, CcFastMdlReadNoWait); _dump_ (Info, CcFastMdlReadWait); _dump_ (Info, CcFastMdlReadResourceMiss); _dump_ (Info, CcFastMdlReadNotPossible); _dump_ (Info, CcMapDataNoWait); _dump_ (Info, CcMapDataWait); _dump_ (Info, CcMapDataNoWaitMiss); _dump_ (Info, CcMapDataWaitMiss); _dump_ (Info, CcPinMappedDataCount); _dump_ (Info, CcPinReadNoWait); _dump_ (Info, CcPinReadWait); _dump_ (Info, CcPinReadNoWaitMiss); _dump_ (Info, CcPinReadWaitMiss); _dump_ (Info, CcCopyReadNoWait); _dump_ (Info, CcCopyReadWait); _dump_ (Info, CcCopyReadNoWaitMiss); _dump_ (Info, CcCopyReadWaitMiss); _dump_ (Info, CcMdlReadNoWait); _dump_ (Info, CcMdlReadWait); _dump_ (Info, CcMdlReadNoWaitMiss); _dump_ (Info, CcMdlReadWaitMiss); _dump_ (Info, CcReadAheadIos); _dump_ (Info, CcLazyWriteIos); _dump_ (Info, CcLazyWritePages); _dump_ (Info, CcDataFlushes); _dump_ (Info, CcDataPages); _dump_ (Info, ContextSwitches); _dump_ (Info, FirstLevelTbFills); _dump_ (Info, SecondLevelTbFills); _dump_ (Info, SystemCalls); #endif
void TrackPerformanceCounter ( char * Name, ULONG Id, ULONG Period, LONG Delta);
// ...
#endif // #ifndef _MEMORY_HXX_INCLUDED_
//
// end of header: memory.hxx
//
|