Percepio Trace Recorder  v4.6.6
Trace Task APIs

Macros

#define xTraceTaskRegister(pvTask, szName, uxPriority, pxTaskHandle)   ((((pvTask) != 0) && (xTraceObjectRegister(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority, (TraceObjectHandle_t*)(pxTaskHandle)) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)
 Register trace task in the trace. More...
 
#define xTraceTaskSetName   xTraceObjectSetName
 Sets trace task name. More...
 
#define xTraceTaskRegisterWithoutHandle(pvTask, szName, uxPriority)   ((((pvTask) != 0) && (xTraceObjectRegisterWithoutHandle(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)
 Registers trace task without trace task handle. More...
 
#define xTraceTaskUnregisterWithoutHandle(pvTask, uxPriority)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(xTraceStackMonitorRemove(pvTask), xTraceObjectUnregisterWithoutHandle(PSF_EVENT_TASK_DELETE, pvTask, uxPriority))
 Unregisters trace task without trace task handle. More...
 
#define xTraceTaskSetNameWithoutHandle   xTraceObjectSetNameWithoutHandle
 Sets trace task name without trace task handle. More...
 
#define xTraceTaskSetCurrent(pvTask)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskInfo->coreTasks[TRC_CFG_GET_CURRENT_CORE()] = (pvTask), TRC_SUCCESS)
 Sets current trace task. More...
 
#define xTraceTaskGetCurrent(ppvTask)   TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskInfo->coreTasks[TRC_CFG_GET_CURRENT_CORE()], TRC_SUCCESS)
 Gets current trace task. More...
 

Functions

traceResult xTraceTaskUnregister (TraceTaskHandle_t xTaskHandle, TraceUnsignedBaseType_t uxPriority)
 Unregister trace task from trace. More...
 
traceResult xTraceTaskSetPriority (TraceTaskHandle_t xTaskHandle, TraceUnsignedBaseType_t uxPriority)
 Sets trace task priority. More...
 
traceResult xTraceTaskSetPriorityWithoutHandle (void *pvTask, TraceUnsignedBaseType_t uxPriority)
 Sets trace task priority without trace task handle. More...
 
traceResult xTraceTaskSwitch (void *pvTask, TraceUnsignedBaseType_t uxPriority)
 Registers trace task switch event. More...
 
traceResult xTraceTaskInstanceFinishedNow (void)
 Registers trace task instance finished event. More...
 
traceResult xTraceTaskInstanceFinishedNext (void)
 Marks the current trace task instance as finished on the next kernel call. More...
 

Detailed Description

Macro Definition Documentation

◆ xTraceTaskGetCurrent

#define xTraceTaskGetCurrent (   ppvTask)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(*(ppvTask) = pxTraceTaskInfo->coreTasks[TRC_CFG_GET_CURRENT_CORE()], TRC_SUCCESS)

Gets current trace task.

Parameters
[out]ppvTaskTask.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskRegister

#define xTraceTaskRegister (   pvTask,
  szName,
  uxPriority,
  pxTaskHandle 
)    ((((pvTask) != 0) && (xTraceObjectRegister(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority, (TraceObjectHandle_t*)(pxTaskHandle)) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)

Register trace task in the trace.

Parameters
[in]pvTaskTask.
[in]szNameName.
[in]uxPriorityPriority.
[out]pxTaskHandlePointer to uninitialized trace task.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskRegisterWithoutHandle

#define xTraceTaskRegisterWithoutHandle (   pvTask,
  szName,
  uxPriority 
)    ((((pvTask) != 0) && (xTraceObjectRegisterWithoutHandle(PSF_EVENT_TASK_CREATE, pvTask, szName, uxPriority) == TRC_SUCCESS)) ? (xTraceStackMonitorAdd(pvTask), TRC_SUCCESS) : TRC_FAIL)

Registers trace task without trace task handle.

Parameters
[in]pvTaskTask.
[in]szNameName.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetCurrent

#define xTraceTaskSetCurrent (   pvTask)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(pxTraceTaskInfo->coreTasks[TRC_CFG_GET_CURRENT_CORE()] = (pvTask), TRC_SUCCESS)

Sets current trace task.

Parameters
[in]pvTaskTask.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetName

#define xTraceTaskSetName   xTraceObjectSetName

Sets trace task name.

Parameters
[in]pvTaskTask.
[in]szNameName.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetNameWithoutHandle

#define xTraceTaskSetNameWithoutHandle   xTraceObjectSetNameWithoutHandle

Sets trace task name without trace task handle.

Parameters
[in]pvTaskTask.
[in]szNameName.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskUnregisterWithoutHandle

#define xTraceTaskUnregisterWithoutHandle (   pvTask,
  uxPriority 
)    TRC_COMMA_EXPR_TO_STATEMENT_EXPR_2(xTraceStackMonitorRemove(pvTask), xTraceObjectUnregisterWithoutHandle(PSF_EVENT_TASK_DELETE, pvTask, uxPriority))

Unregisters trace task without trace task handle.

Parameters
[in]pvTaskTask.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

Function Documentation

◆ xTraceTaskInstanceFinishedNext()

traceResult xTraceTaskInstanceFinishedNext ( void  )

Marks the current trace task instance as finished on the next kernel call.

If that kernel call is blocking, the instance ends after the blocking event and the corresponding return event is then the start of the next instance. If the kernel call is not blocking, the viewer instead splits the current fragment right before the kernel call, which makes this call the first event of the next instance.

Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskInstanceFinishedNow()

traceResult xTraceTaskInstanceFinishedNow ( void  )

Registers trace task instance finished event.

This routine creates a trace event that ends the current task instance at this very instant. This makes the viewer split the current fragment at this point and begin a new actor instance, even if no task-switch has occurred

Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetPriority()

traceResult xTraceTaskSetPriority ( TraceTaskHandle_t  xTaskHandle,
TraceUnsignedBaseType_t  uxPriority 
)

Sets trace task priority.

Parameters
[in]xTaskHandlePointer to initialized trace task.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSetPriorityWithoutHandle()

traceResult xTraceTaskSetPriorityWithoutHandle ( void *  pvTask,
TraceUnsignedBaseType_t  uxPriority 
)

Sets trace task priority without trace task handle.

Parameters
[in]pvTaskTask.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskSwitch()

traceResult xTraceTaskSwitch ( void *  pvTask,
TraceUnsignedBaseType_t  uxPriority 
)

Registers trace task switch event.

Parameters
[in]pvTaskTask.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess

◆ xTraceTaskUnregister()

traceResult xTraceTaskUnregister ( TraceTaskHandle_t  xTaskHandle,
TraceUnsignedBaseType_t  uxPriority 
)

Unregister trace task from trace.

Parameters
[in]xTaskHandlePointer to initialized trace task.
[in]uxPriorityPriority.
Return values
TRC_FAILFailure
TRC_SUCCESSSuccess