IProfileMonitor#

Fully qualified name: 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 and gettid() 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 and gettid() 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.