[][src]Struct aeron_rs::utils::errors::error_log_descriptor::ErrorLogEntryDefn

#[repr(C, packed(4))]pub struct ErrorLogEntryDefn {
    pub length: i32,
    pub observation_count: i32,
    pub last_observation_timestamp: i64,
    pub first_observation_timestamp: i64,
}

Distinct record of error observations. Rather than grow a record indefinitely when many errors of the same type are logged, this log takes the approach of only recording distinct errors of the same type type and stack trace and keeping a count and time of observation so that the record only grows with new distinct observations.

The provided {@link AtomicBuffer} can wrap a memory-mapped file so logging can be out of process. This provides the benefit that if a crash or lockup occurs then the log can be read externally without loss of data.

This class is threadsafe to be used from multiple logging threads.

The error records are recorded to the memory mapped buffer in the following format.

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |R|                         Length                              |
 +-+-------------------------------------------------------------+
 |R|                     Observation Count                       |
 +-+-------------------------------------------------------------+
 |R|                Last Observation Timestamp                   |
 |                                                               |
 +-+-------------------------------------------------------------+
 |R|               First Observation Timestamp                   |
 |                                                               |
 +---------------------------------------------------------------+
 |                     ASCII Encoded Error                      ...
...                                                              |
 +---------------------------------------------------------------+

Fields

length: i32observation_count: i32last_observation_timestamp: i64first_observation_timestamp: i64

Trait Implementations

impl Clone for ErrorLogEntryDefn[src]

impl Copy for ErrorLogEntryDefn[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.