[−][src]Struct aeron_rs::utils::errors::error_log_descriptor::ErrorLogEntryDefn
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: i32
observation_count: i32
last_observation_timestamp: i64
first_observation_timestamp: i64
Trait Implementations
impl Clone for ErrorLogEntryDefn
[src]
fn clone(&self) -> ErrorLogEntryDefn
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for ErrorLogEntryDefn
[src]
Auto Trait Implementations
impl RefUnwindSafe for ErrorLogEntryDefn
impl Send for ErrorLogEntryDefn
impl Sync for ErrorLogEntryDefn
impl Unpin for ErrorLogEntryDefn
impl UnwindSafe for ErrorLogEntryDefn
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,