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.