RtStartPerfMeasure

RtStartPerfMeasure enables the measuring of HAL clock ticks and latencies for the specified processor.

Syntax

ULONG RtStartPerfMeasure(
    ULONG perfMeasureType,
    ULONG *ioBuffer,
    ULONG ioBufferSize,
    ULONG *ioBufferWrite,
    LONGLONG *lPerfCyclesPerSecond,
    ULONG *platformConfig,
    ULONG *rtssProcessorNumber
);

Parameters

perfMeasureType

Control code of the operation to perform. Must be one of the following:

ioBuffer

Returns a pointer to a linear array of buffers. Each buffer is the size of IOBufferSize and RtStartPerfMeasure populates each buffer with performance data for a single processor. These buffers are circular and data at the beginning of a buffer will be overwritten once the end of the buffer is reached.

ioBufferSize

The number of timestamps to collect. Each entry into or exit from the RTSS subsystem generates a timestamp. The size of the buffers in ioBuffer is determined using this value.

ioBufferWrite

A pointer to a linear array of indexes that indicate the location of the last data point written into each RTSS processor's buffer in IOBuffer.

lPerfCyclesPerSecond

Pointer to a value that represents Processor Clock Cycles per second.

platformConfig

Pointer that is filled in with the current platform configuration. Possible values are:

rtssProcessorNumber

Pointer that is filled in with the processor number that the RTSS application is running on.

Return Values

1 if the function succeeds, 0 the function fails

Remarks

This call creates a circular buffer that gets filled in with RAW time stamp values that can then be evaluated by the user.

NOTE:  Only one application should enable performance measuring at a time. You must call RtStopPerfMeasure to clean up the buffer allocated by RtStartPerfMeasure.

Requirements

Header Rtapi.h
Library Rtx_Rtss.lib

See Also:

RtStopPerfMeasure

IntervalZero.com | Support | Give Feedback