|
HyperPlatform Programmer's Reference
|
Declares interfaces to performance measurement primitives. More...
#include <fltKernel.h>

Go to the source code of this file.
Classes | |
| class | PerfCollector |
| Responsible for collecting and saving data supplied by PerfCounter. More... | |
| struct | PerfCollector::PerfDataEntry |
| Represents performance data for each location. More... | |
| class | PerfCollector::ScopedLock |
| Scoped lock. More... | |
| class | PerfCounter |
| Measure elapsed time of the scope. More... | |
Macros | |
| #define | HYPERPLATFORM_PERFCOUNTER_P_JOIN2(x, y) x##y |
| #define | HYPERPLATFORM_PERFCOUNTER_P_JOIN1(x, y) HYPERPLATFORM_PERFCOUNTER_P_JOIN2(x, y) |
| #define | HYPERPLATFORM_PERFCOUNTER_P_JOIN(x, y) HYPERPLATFORM_PERFCOUNTER_P_JOIN1(x, y) |
| Concatinates two tokens. More... | |
| #define | HYPERPLATFORM_PERFCOUNTER_P_TO_STRING1(n) #n |
| #define | HYPERPLATFORM_PERFCOUNTER_P_TO_STRING(n) HYPERPLATFORM_PERFCOUNTER_P_TO_STRING1(n) |
| Converts a token to a string literal. More... | |
| #define | HYPERPLATFORM_PERFCOUNTER_MEASURE_TIME(collector, query_time_routine) |
| Creates an instance of PerfCounter to measure an elapsed time of this scope. More... | |
Declares interfaces to performance measurement primitives.
Definition in file perf_counter.h.
| #define HYPERPLATFORM_PERFCOUNTER_MEASURE_TIME | ( | collector, | |
| query_time_routine | |||
| ) |
Creates an instance of PerfCounter to measure an elapsed time of this scope.
| collector | A pointer to a PerfCollector instance |
| query_time_routine | A function pointer to get an elapsed time |
This macro should not be used directly. Instead use HYPERPLATFORM_PERFCOUNTER_MEASURE_TIME.
This macro creates an instance of PerfCounter named perf_obj_N where N is a sequential number starting at 0. A current function name and a source line number are converted into a string literal and passed to the instance to uniquely identify a location of measurement. The instance gets "counters" in elapsed time and passes it to collector as well as the created string literal. In pseudo code, for example:
This works as if below:
Definition at line 82 of file perf_counter.h.
| #define HYPERPLATFORM_PERFCOUNTER_P_JOIN | ( | x, | |
| y | |||
| ) | HYPERPLATFORM_PERFCOUNTER_P_JOIN1(x, y) |
Concatinates two tokens.
| x | 1st token |
| y | 2nd token |
Definition at line 31 of file perf_counter.h.
| #define HYPERPLATFORM_PERFCOUNTER_P_JOIN1 | ( | x, | |
| y | |||
| ) | HYPERPLATFORM_PERFCOUNTER_P_JOIN2(x, y) |
Definition at line 25 of file perf_counter.h.
| #define HYPERPLATFORM_PERFCOUNTER_P_JOIN2 | ( | x, | |
| y | |||
| ) | x##y |
Definition at line 24 of file perf_counter.h.
| #define HYPERPLATFORM_PERFCOUNTER_P_TO_STRING | ( | n | ) | HYPERPLATFORM_PERFCOUNTER_P_TO_STRING1(n) |
Converts a token to a string literal.
| n | A token to convert to a string literal |
Definition at line 38 of file perf_counter.h.
| #define HYPERPLATFORM_PERFCOUNTER_P_TO_STRING1 | ( | n | ) | #n |
Definition at line 34 of file perf_counter.h.
1.8.14