Markers | |
NVTX_DECLSPEC void NVTX_API | nvtxMarkEx (const nvtxEventAttributes_t *eventAttrib) |
Marks an instantaneous event in the application. | |
NVTX_DECLSPEC void NVTX_API | nvtxMarkA (const char *message) |
Marks an instantaneous event in the application. | |
NVTX_DECLSPEC void NVTX_API | nvtxMarkW (const wchar_t *message) |
Marks an instantaneous event in the application. |
Start/Stop Ranges | |
NVTX_DECLSPEC nvtxRangeId_t NVTX_API | nvtxRangeStartEx (const nvtxEventAttributes_t *eventAttrib) |
Marks the start of a range. | |
NVTX_DECLSPEC nvtxRangeId_t NVTX_API | nvtxRangeStartA (const char *message) |
Marks the start of a range. | |
NVTX_DECLSPEC nvtxRangeId_t NVTX_API | nvtxRangeStartW (const wchar_t *message) |
Marks the start of a range. | |
NVTX_DECLSPEC void NVTX_API | nvtxRangeEnd (nvtxRangeId_t id) |
Marks the end of a range. |
Push/Pop Ranges | |
NVTX_DECLSPEC int NVTX_API | nvtxRangePushEx (const nvtxEventAttributes_t *eventAttrib) |
Marks the start of a nested range. | |
NVTX_DECLSPEC int NVTX_API | nvtxRangePushA (const char *message) |
Marks the start of a nested range. | |
NVTX_DECLSPEC int NVTX_API | nvtxRangePushW (const wchar_t *message) |
Marks the start of a nested range. | |
NVTX_DECLSPEC int NVTX_API | nvtxRangePop (void) |
Marks the end of a nested range. |
Markers and ranges are used to describe events at a specific time (markers) or over a time span (ranges) during the execution of the application respectively. The additional information is presented alongside all other captured data and facilitates understanding of the collected information.
A marker describes a single point in time. A marker event has no side effect on other events.
Start/Stop ranges denote a time span that can expose arbitrary concurrency - opposed to Push/Pop ranges that only support nesting. In addition the start of a range can happen on a different thread than the end. For the correlation of a start/end pair an unique correlation ID is used that is returned from the start API call and needs to be passed into the end API call.
Push/Pop ranges denote nested time ranges. Nesting is maintained per thread and does not require any additional correlation mechanism. The duration of a push/pop range is defined by the corresponding pair of Push/Pop API calls.