Classes | |
class | CCounterStorageAllocator |
class | CDebugLog |
class | CHeapMemoryPerformanceDataBlock |
class | CHeapMemoryPerformanceDataBlockFactory |
class | CHeapMemoryPerformanceMonitorCounters |
An object which represents an installed set of performance counters in memory in an application that wishes to export those counters. This object is created from a CPerformanceDataSchema and provides methods for an application which exports counters to create and manipulate a set of counters. These counters can then be consumed by an instance of CPerformanceDataCollector which has been created with the same schema. The object supports the JetByteTools::Win32::ICriticalSection interface so that you can lock the entire set of counters if you need to during updates to ensure that updates are atomic, however, this is very rarely required. Each individual counter update can be guaranteed to be atomic without the need for external locking. More... | |
class | IAllocateCounterStorage |
class | ICollectPerformanceData |
An interface to an object that manages a set of performance counter data that can be exposed via a dll that conforms to the API required for perfmon performance extension dll data collection dlls. More... | |
class | IInstallPerformanceMonitorCounters |
An interface to an object that can install performance counters on a system. See here for more details. More... | |
class | ILoggablePerformanceMonitorCounters |
class | IPerformanceDataBlock |
class | IPerformanceDataBlockFactory |
class | CPerformanceCounterInstaller |
An object which implements IInstallPerformanceMonitorCounters and which can be used to install performance counters into a system. More... | |
class | CPerformanceCounterLogger |
class | CPerformanceDataBlock |
class | CPerformanceDataCollector |
An object which implements ICollectPerformanceData and represents an installed set of performance counters in memory in a perfmon performance extension dll that wishes to monitor those counters. This object is created from a CPerformanceDataSchema and provides methods for an dll which conforms to the requirements for a performance data collection dll to integrate with perfmon. More... | |
class | CPerformanceDataSchema |
An object which can be used to create a schema for a set of performance counters. A performance counter schema is created to define the counters that are required and is used in the process which is exporting the counters and in the DLL which is loaded into perfmon to collect the performance data. More... | |
class | CPerformanceDataSchemaFileExporter |
A class which exports CPerformanceDataSchema in the form required by the LoadPerfCounterTextStrings API. More... | |
class | CPerformanceMonitorCountersBase |
An object which represents an installed set of performance counters in memory in an application that wishes to export those counters. This object is created from a CPerformanceDataSchema and provides methods for an application which exports counters to create and manipulate a set of counters. These counters can then be consumed by an instance of CPerformanceDataCollector which has been created with the same schema. Each individual counter update can be guaranteed to be atomic without the need for external locking. More... | |
class | CRawImage |
class | CSharedMemoryMutexPerformanceDataBlock |
class | CSharedMemoryMutexPerformanceMonitorCounters |
class | CSharedMemoryPerformanceDataBlock |
class | CSharedMemoryPerformanceMonitorCounters |
class | TSharedMemoryPerformanceDataBlockFactory |
Typedefs | |
typedef TSharedMemoryPerformanceDataBlockFactory < CSharedMemoryMutexPerformanceDataBlock > | CSharedMemoryMutexPerformanceDataBlockFactory |
Enumerations | |
enum | CounterTypes { CounterTypeLinkedCounter = 0, CounterTypeCounter32 = 1, CounterTypeCounter64 = 2, CounterTypePerSec32 = 3, CounterTypePerSec64 = 4, CounterTypeCounter32LinkedPerSec = 5, CounterTypeCounter64LinkedPerSec = 6, CounterTypeAverage32 = 7, CounterTypeAverageBase = 8 } |
enum | DetailLevel { DetailLevelNovice = PERF_DETAIL_NOVICE, DetailLevelAdvanced = PERF_DETAIL_ADVANCED, DetailLevelExpert = PERF_DETAIL_EXPERT, DetailLevelWizard = PERF_DETAIL_WIZARD } |
enum | ImageType { ImageType32Bit, ImageType64Bit } |
Functions | |
static BYTE * | AllocateMemory (DWORD size) |
static void | ValidateParameters (const _tstring &applicationName, const _tstring &symbolHeaderFile, const _tstring &iniFile, const _tstring &contextStrings, Milliseconds openTimeout, Milliseconds collectTimeout) |
static void | ValidateDLL (const _tstring &dllPath, ImageType requiredImageType, const _tstring &openFunctionName, const _tstring &collectFunctionName, const _tstring &closeFunctionName) |
static void | ValidateImageExportsFunction (const CRawImage &image, const _tstring &function, const _tstring &dllPath, const _tstring &functionDescription) |
static _tstring | CopyFileToSystemDirectoryIfRequired (bool copyToSystemDirectory, const _tstring &sourceFilePath, const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler &retryHandler) |
static _tstring | CopyFileToSystemDirectory (const _tstring &sourceFilePath, const _tstring &counterDllName, const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler &retryHandler) |
static _tstring | CopyFileTo64BitSystemDirectory (const _tstring &sourceFilePath, const _tstring &counterDllName, const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler &retryHandler) |
static void | CopyFileToSysWOW64 (const _tstring &sourceFilePath, const _tstring &counterDllName, const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler &retryHandler) |
static _tstring | GetFileInSystemDirectory (const _tstring &fileName) |
static _tstring | GetFileInSysWOW64 (const _tstring &fileName) |
static void | CreateRegistryKeys (const _tstring &applicationName, const _tstring &counterDllPath, const _tstring &openFunctionName, const _tstring &collectFunctionName, const _tstring &closeFunctionName, const _tstring &contextStrings, Milliseconds openTimeout, Milliseconds collectTimeout, const _tstring &schemaChecksum) |
static CRegistryKey | OpenOrCreatePerformanceKey (const _tstring &applicationName) |
static CRegistryKey | OpenOrCreateApplicationLinkageKey (const _tstring &applicationName) |
static void | RemovePerformanceKey (const _tstring &applicationName) |
static _tstring | ValidateName (_tstring name) |
static BYTE * | CollectTheseCounters (BYTE *pData, const BYTE *const pCounters, const DWORD counterLength) |
static _tstring | ProcessObjectNumbers (const _tstring &objectNumbers) |
static CPerformanceDataSchema::DataLength | CalculateAlignedInstanceNameBufferSize (CPerformanceDataSchema::DataLength maxInstanceNameLength) |
static const _tstring | s_instanceNameSep (_T("###")) |
static const _tstring | s_parentNameSep (_T("/")) |
static _tstring | StripParentFromInstanceName (const _tstring &instanceName) |
static _tstring | GetInstanceFromObjectName (const _tstring &objectName) |
static _tstring | GetParentFromObjectName (const _tstring &objectName) |
static _tstring | BuildParentNameIfNecessary (const _tstring &parentName, const _tstring &instanceName) |
void | SetInstance (ICollectPerformanceData *pInstance) |
template<class T> | |
PIMAGE_SECTION_HEADER | GetEnclosingSectionHeader (DWORD rva, const T *pNTHeader) |
template<class T> | |
LPVOID | GetPtrFromRVA (DWORD rva, T *pNTHeader, PBYTE imageBase) |
template<class T> | |
bool | HasCLRDirectory (T *pNTHeader, BYTE *pImageBase) |
Variables | |
static const _tstring | s_emptyString |
static const _tstring | s_lineEnd = _T("\r\n") |
static const _tstring | s_lineEnd = _T("\r\n") |
static const ULONG_PTR | s_counterOffsetMask = 0x0FFFFFFF |
static const ULONG_PTR | s_counterFlagMask = ~s_counterOffsetMask |
static const ULONG_PTR | s_counterFlag32Bit = 0x00000000 |
static const ULONG_PTR | s_counterFlag64Bit = 0x10000000 |
static const _tstring | s_emptyString |
typedef TSharedMemoryPerformanceDataBlockFactory<CSharedMemoryMutexPerformanceDataBlock> CSharedMemoryMutexPerformanceDataBlockFactory |
enum CounterTypes |
enum DetailLevel |
enum ImageType |
static _tstring BuildParentNameIfNecessary | ( | const _tstring & | parentName, | |
const _tstring & | instanceName | |||
) | [static] |
static CPerformanceDataSchema::DataLength CalculateAlignedInstanceNameBufferSize | ( | CPerformanceDataSchema::DataLength | maxInstanceNameLength | ) | [static] |
static BYTE* JetByteTools::PerfMon::CollectTheseCounters | ( | BYTE * | pData, | |
const BYTE *const | pCounters, | |||
const DWORD | counterLength | |||
) | [static] |
static _tstring CopyFileTo64BitSystemDirectory | ( | const _tstring & | sourceFilePath, | |
const _tstring & | counterDllName, | |||
const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler & | retryHandler | |||
) | [static] |
static _tstring CopyFileToSystemDirectory | ( | const _tstring & | sourceFilePath, | |
const _tstring & | counterDllName, | |||
const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler & | retryHandler | |||
) | [static] |
static _tstring CopyFileToSystemDirectoryIfRequired | ( | bool | copyToSystemDirectory, | |
const _tstring & | sourceFilePath, | |||
const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler & | retryHandler | |||
) | [static] |
static void CopyFileToSysWOW64 | ( | const _tstring & | sourceFilePath, | |
const _tstring & | counterDllName, | |||
const IInstallPerformanceMonitorCounters::CopyToSystemDirectoryRenameAndRetryHandler & | retryHandler | |||
) | [static] |
static void JetByteTools::PerfMon::CreateRegistryKeys | ( | const _tstring & | applicationName, | |
const _tstring & | counterDllPath, | |||
const _tstring & | openFunctionName, | |||
const _tstring & | collectFunctionName, | |||
const _tstring & | closeFunctionName, | |||
const _tstring & | contextStrings, | |||
Milliseconds | openTimeout, | |||
Milliseconds | collectTimeout, | |||
const _tstring & | schemaChecksum | |||
) | [static] |
PIMAGE_SECTION_HEADER JetByteTools::PerfMon::GetEnclosingSectionHeader | ( | DWORD | rva, | |
const T * | pNTHeader | |||
) | [inline] |
static _tstring GetFileInSystemDirectory | ( | const _tstring & | fileName | ) | [static] |
static _tstring GetFileInSysWOW64 | ( | const _tstring & | fileName | ) | [static] |
static _tstring GetInstanceFromObjectName | ( | const _tstring & | objectName | ) | [static] |
static _tstring GetParentFromObjectName | ( | const _tstring & | objectName | ) | [static] |
LPVOID JetByteTools::PerfMon::GetPtrFromRVA | ( | DWORD | rva, | |
T * | pNTHeader, | |||
PBYTE | imageBase | |||
) | [inline] |
static CRegistryKey OpenOrCreateApplicationLinkageKey | ( | const _tstring & | applicationName | ) | [static] |
static CRegistryKey OpenOrCreatePerformanceKey | ( | const _tstring & | applicationName | ) | [static] |
static _tstring JetByteTools::PerfMon::ProcessObjectNumbers | ( | const _tstring & | objectNumbers | ) | [static] |
static void RemovePerformanceKey | ( | const _tstring & | applicationName | ) | [static] |
static const _tstring JetByteTools::PerfMon::s_instanceNameSep | ( | _T("###") | ) | [static] |
static const _tstring JetByteTools::PerfMon::s_parentNameSep | ( | _T("/") | ) | [static] |
void SetInstance | ( | ICollectPerformanceData * | pInstance | ) |
static _tstring StripParentFromInstanceName | ( | const _tstring & | instanceName | ) | [static] |
static void ValidateDLL | ( | const _tstring & | dllPath, | |
ImageType | requiredImageType, | |||
const _tstring & | openFunctionName, | |||
const _tstring & | collectFunctionName, | |||
const _tstring & | closeFunctionName | |||
) | [static] |
static void ValidateImageExportsFunction | ( | const CRawImage & | image, | |
const _tstring & | function, | |||
const _tstring & | dllPath, | |||
const _tstring & | functionDescription | |||
) | [static] |
static _tstring ValidateName | ( | _tstring | name | ) | [static] |
static void JetByteTools::PerfMon::ValidateParameters | ( | const _tstring & | applicationName, | |
const _tstring & | symbolHeaderFile, | |||
const _tstring & | iniFile, | |||
const _tstring & | contextStrings, | |||
Milliseconds | openTimeout, | |||
Milliseconds | collectTimeout | |||
) | [static] |
const ULONG_PTR s_counterFlag32Bit = 0x00000000 [static] |
const ULONG_PTR s_counterFlag64Bit = 0x10000000 [static] |
const ULONG_PTR s_counterFlagMask = ~s_counterOffsetMask [static] |
const ULONG_PTR s_counterOffsetMask = 0x0FFFFFFF [static] |
const _tstring s_emptyString [static] |
const _tstring s_emptyString [static] |
const _tstring s_lineEnd = _T("\r\n") [static] |
const _tstring s_lineEnd = _T("\r\n") [static] |