|
WSF
|
Set of all function pointers used for profiling. More...
#include <ProfilingHooks.hpp>
Public Attributes | |
| ProfilingInterfaceVersionFunc | mInterfaceVersion = nullptr |
| Callback for getting the version number of the profiling interface that the library provides. | |
| ProfilingInitializeFunc | mInitialize = nullptr |
| Callback for initializing the profiling library. | |
| BeginProfilingRegionFunc | mBeginRegion = nullptr |
| Callback for beginning a profiling region. | |
| EndProfilingRegionFunc | mEndRegion = nullptr |
| Callback for ending the last profiling region that was begun. | |
| CreateProfilingSectionFunc | mCreateSection = nullptr |
| Callback for creating a profiling section. | |
| DestroyProfilingSectionFunc | mDestroySection = nullptr |
| Callback for destroying a profiling section. | |
| BeginProfilingSectionFunc | mBeginSection = nullptr |
| Callback for beginning a profiling section. | |
| EndProfilingSectionFunc | mEndSection = nullptr |
| Callback for ending a profiling section. | |
| ProfilingFinalizeFunc | mFinalize = nullptr |
| Callback for finalizing the profiling library. | |
Set of all function pointers used for profiling.
The caller must check that any of these function pointers is not null before invoking the function. If either of mInitialize or mFinalize is null, then none of the function pointers may be called. None of these functions may be called by multiple threads concurrently.
Here are the rules governing which functions may be called when, relative to library initialization and finalization.
| BeginProfilingRegionFunc profiling::ProfilingHooks::mBeginRegion = nullptr |
Callback for beginning a profiling region.
The one argument is the name of the profiling region. Regions must be nested; that is, ending a region always ends the last region that was begun.
Referenced by profiling::ProfilingRegion::ProfilingRegion().
| BeginProfilingSectionFunc profiling::ProfilingHooks::mBeginSection = nullptr |
Callback for beginning a profiling section.
The one argument is the key (from creating the section). Every section that has been begun must be ended. After being ended, a section may be begun again.
We permit multiple threads to call this function concurrently with different keys. We do not permit multiple threads to call this function concurrently with the same key.
Referenced by profiling::BeginProfilingSection().
| CreateProfilingSectionFunc profiling::ProfilingHooks::mCreateSection = nullptr |
Callback for creating a profiling section.
The one argument is the (string) name of the profiling section. Section labels need not be unique. Calling this function twice with the same label shall result in distinct keys, referring to distinct sections.
Its return value is the section "key." Keys are unique.
Sections differ from regions (see above) in the following ways.
Referenced by profiling::CreateProfilingSection().
| DestroyProfilingSectionFunc profiling::ProfilingHooks::mDestroySection = nullptr |
Callback for destroying a profiling section.
The one argument is the key for the section to destroy. For each unique key created by mCreateSection, mDestroySection must be called exactly once with that key.
Referenced by profiling::DestroyProfilingSection().
| EndProfilingRegionFunc profiling::ProfilingHooks::mEndRegion = nullptr |
Callback for ending the last profiling region that was begun.
Referenced by profiling::ProfilingRegion::~ProfilingRegion().
| EndProfilingSectionFunc profiling::ProfilingHooks::mEndSection = nullptr |
Callback for ending a profiling section.
The one argument is the key (from creating the section). The key must refer to a section that has been begun. Every section that has been begun must be ended. After being ended, a section may be begun again.
We permit multiple threads to call this function concurrently with different keys. We do not permit multiple threads to call this function concurrently with the same key.
Referenced by profiling::EndProfilingSection().
| ProfilingFinalizeFunc profiling::ProfilingHooks::mFinalize = nullptr |
Callback for finalizing the profiling library.
Calling any profiling library function (including this one) after this function has been called, other than the interface version function, is undefined behavior.
| ProfilingInitializeFunc profiling::ProfilingHooks::mInitialize = nullptr |
Callback for initializing the profiling library.
The initialization function takes one argument, a string specifying the output destination. The format is a URI, with supported schemes and final interpretation defined by the profiling library.
Its return value is a POSIX-style signed integer error code (zero means success).
| ProfilingInterfaceVersionFunc profiling::ProfilingHooks::mInterfaceVersion = nullptr |
Callback for getting the version number of the profiling interface that the library provides.
The caller (the application) is responsible for checking that this matches (is equal to) the version number of the interface that the caller expects. If the version numbers are not the same, then invoking any symbol in the library other than this one is undefined behavior.