- Main Page
- Modules
- Data Structures
- Related Pages

Marker and Ranges

## 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.

## Detailed Description

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.

# Marker

A marker describes a single point in time. A marker event has no side effect on other events.

# Start/Stop Ranges

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

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.