RTEMS  5.1
Data Fields
rtems_record_client_per_cpu Struct Reference

Data Fields

struct {
   uint64_t   bt
 
   uint32_t   time_at_bt
 
   uint32_t   time_last
 
   uint32_t   time_accumulated
 
uptime
 Event time to uptime maintenance.
 
uint32_t tail [2]
 The current or previous ring buffer tail. More...
 
uint32_t head [2]
 The current or previous ring buffer head. More...
 
size_t tail_head_index
 The index of the tail and head members. More...
 
uint32_t overflow
 Count of lost items due to ring buffer overflows.
 
bool hold_back
 If true, then hold back items for overflow or initial ramp up processing.
 
rtems_record_item_64 * items
 Storage for hold back items. More...
 
size_t item_index
 The index for the next hold back item.
 

Field Documentation

◆ head

uint32_t rtems_record_client_per_cpu::head[2]

The current or previous ring buffer head.

Indexed by the tail_head_index member.

◆ items

rtems_record_item_64* rtems_record_client_per_cpu::items

Storage for hold back items.

In case of a ring buffer overflow, the rtems_record_drain() will push the complete ring buffer content to the client. While the items are processed by the client, new items may overwrite some items being processed. The overwritten items can be detected in the following iteration once the next tail/head information is pushed to the client.

In case of the initial ramp up, the items are stored in the hold back buffer to determine the uptime of the first event.

◆ tail

uint32_t rtems_record_client_per_cpu::tail[2]

The current or previous ring buffer tail.

Indexed by the tail_head_index member.

◆ tail_head_index

size_t rtems_record_client_per_cpu::tail_head_index

The index of the tail and head members.

This index is used to maintain the current and previous tail/head positions to detect ring buffer overflows.


The documentation for this struct was generated from the following file: