carb::profiler::IProfileMonitor
Defined in carb/profiler/IProfileMonitor.h
-
struct IProfileMonitor
Defines an interface to monitor profiling events.
Public Members
-
ProfileEvents (*getLastProfileEvents)()
Returns the profiled events for the previous frame (up to the previous markFrameEnd() call).
- Return
an opaque pointer that refers to the previous frame’s profiling information. This pointer must be released with releaseLastProfileEvents() when the caller is finished with it.
-
size_t (*getLastProfileEventCount)(ProfileEvents events)
Returns the number of profiling events for a ProfileEvents instance.
- Param events
The ProfileEvents instance returned from getLastProfileEvents().
- Return
The number of profiling events in the array returned by getLastProfileEventsData().
-
ProfileEvent *(*getLastProfileEventsData)(ProfileEvents events)
Returns an array of profiling events for a ProfileEvents instance.
- Param events
The ProfileEvents instance returned from getLastProfileEvents().
- Return
An array of ProfileEvent objects. The size of the array is returned by getLastProfileEventCount().
-
uint32_t (*getProfileThreadCount)(ProfileEvents events)
Returns the number of thread IDs known to the ProfileEvents instance.
- Param events
The ProfileEvents instance returned from getLastProfileEvents().
- Return
The number of thread IDs in the array returned by getProfileThreadIds().
-
uint64_t const *(*getProfileThreadIds)(ProfileEvents events)
Returns an array of thread IDs known to a ProfileEvents instance.
- Param events
The ProfileEvents instance returned from getLastProfileEvents().
- Return
An array of thread IDs. The size of the array is returned by getProfileThreadCount(). The thread IDs are comparable with
GetCurrentThreadID()
on Windows andgettid()
on Linux.
-
void (*releaseLastProfileEvents)(ProfileEvents events)
Destroys a ProfileEvents instance.
The data returned getLastProfileEventsData() and getProfileThreadIds() must not be referenced after this function is called.
- Param events
The ProfileEvents instance returned from getLastProfileEvents().
-
uint64_t (*getMainThreadId)(ProfileEvents events)
Returns the thread ID that called markFrameEnd() event.
- Param events
The ProfileEvents instance returned from getLastProfileEvents().
- Return
The thread ID that last called markFrameEnd(). This thread ID is comparable with
GetCurrentThreadID()
on Windows andgettid()
on Linux.
-
void (*markFrameEnd)()
Marks the end of a frame’s profile events.
After this call, the previous frame’s profile events are available via getLastProfileEvents().
Public Static Functions
-
static inline constexpr carb::InterfaceDesc getInterfaceDesc() noexcept
Returns information about this interface.
Auto-generated by CARB_PLUGIN_INTERFACE() or CARB_PLUGIN_INTERFACE_EX.
- Returns
The carb::InterfaceDesc struct with information about this interface.
-
static inline constexpr carb::InterfaceDesc getLatestInterfaceDesc() noexcept
Returns information about the latest version of this interface.
Auto-generated by CARB_PLUGIN_INTERFACE() or CARB_PLUGIN_INTERFACE_EX.
- Returns
The carb::InterfaceDesc struct with information about the latest version of this interface.
-
ProfileEvents (*getLastProfileEvents)()