Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

perfeval.h

Go to the documentation of this file.
00001 
00010 #ifndef PERFEVAL_H
00011 #define PERFEVAL_H
00012 
00013 #ifdef __cplusplus
00014 extern "C" {
00015 #endif /* #ifdef _CPLUSPLUS */
00016 
00017 #include "debug.h"
00018 
00019 #ifdef PERFEVAL
00020 
00024 typedef struct
00025 PERFORMANCE_EVAL_ENTRY
00026 {
00028     __int64 Timestamp;
00029 
00031     ULONG Processor;
00032 
00034     PETHREAD PeThread;
00035 
00037     ULONG_PTR Event;
00038  
00040     ULONG_PTR Data;
00041 
00042 } PERFORMANCE_EVAL_ENTRY, *PPERFORMANCE_EVAL_ENTRY;
00043 
00044 extern VOID PerfInit(VOID);
00045 extern VOID PerfEvent(IN ULONG_PTR Event, IN ULONG_PTR Data);
00046 extern VOID PerfSave(VOID);
00047 
00049 #define PERF_INIT() PerfInit()
00050 
00052 #define PERF_EVENT(_Event_, _Data_) PerfEvent(_Event_, _Data_)
00053 
00055 #ifdef PERFEVAL_VERBOSE
00056   #define PERF_EVENT_VERBOSE(_Event_, _Data_) PERF_EVENT(_Event_, _Data_)
00057 #else
00058   #define PERF_EVENT_VERBOSE(_Event_, _Data_)
00059 #endif
00060 
00061 #ifdef PERFEVAL_PARBURST
00062   #define PERF_EVENT_PARBURST(_Event_, _Data_) PERF_EVENT(_Event_, _Data_)
00063 #else
00064   #define PERF_EVENT_PARBURST(_Event_, _Data_)
00065 #endif
00066 
00068 #define PERF_SAVE() PerfSave()
00069 
00070 #else /* #ifdef PERFEVAL */
00071 
00073 #define PERF_INIT()
00074 
00076 #define PERF_EVENT(_Event_, _Data_)
00077 
00079 #define PERF_SAVE()
00080 
00081 #endif /* #ifdef PERFEVAL */
00082 
00083 #ifdef __cplusplus
00084 }
00085 #endif /* #ifdef _CPLUSPLUS */
00086 
00087 #endif // #ifndef PERFEVAL_H

Generated on Sun Apr 30 18:45:56 2006 for opencbm by  doxygen 1.4.2