message_logger¶
-
struct
messageLogContainer
¶ Public Members
-
std::string
messageName
¶ The message name associated with the log
-
int64_t
messageID
¶ The message ID associated with the log
-
int64_t
processID
¶ Process ID associated with the message
-
uint64_t
lastLogTime
¶ ns The last valid log time observed
-
uint64_t
logInstanceCount
¶ The number of message logs that we have made
-
uint64_t
lastWriteCheck
¶ ns The last write count that we examined
-
uint64_t
writeDelta
¶ ns The minimum time between log steps
-
uint64_t
bufferOffset
¶ The current offset in the log to access
-
BlankStorage
messageBuffer
¶ The storage buffer associated with the log.
-
std::vector<uint64_t>
storOff
¶ Vector of storage buffer offset offsets for access
-
std::string
-
class
messageLogger
¶ - #include <message_logger.h>
The top-level container for an entire simulation.
Public Functions
-
messageLogger
()¶ The MessageLogger constructor.
This constructor is used to initialize the message logging data. It clears out the message log list and resets the logger to a clean state.
-
~messageLogger
()¶ MessageLogger destructor.
Nothing to destroy really
-
void
addMessageLog
(std::string messageName, uint64_t messagePeriod = 0)¶ This method inserts a new message onto the logging vector so that it gets logged out appropriately. If the message has already been added once already it will just update the log period and return from there.
- Return
void
- Parameters
messageName
: The name of the message that we want to logmessagePeriod
: ns The minimum time between messages that we want to allow
-
void
linkMessages
()¶ This method is used to find the appropriate messaged ID associated with each message name that has been added to logging. It warns the user if any of the added messages have not been successfully linked.
- Return
void
-
bool
messagesLinked
()¶ Getter for link success.
-
void
logAllMessages
()¶ This method executes the actual log generation activity. It is focused on simplicity currently so there is room to speed things up if this functionality begins to consume significant parts of our runtime
- Return
void
-
bool
readLog
(MessageIdentData &messageID, SingleMessageHeader *dataHeader, uint64_t maxBytes, uint8_t *msgPayload, uint64_t currentOffset = 0)¶
-
uint64_t
getLogCount
(int64_t processID, int64_t messageID)¶
-
void
clearLogs
()¶
-
void
archiveLogsToDisk
(std::string outFileName)¶
-
void
loadArchiveFromDisk
(std::string inFileName)¶
Public Members
-
uint64_t
initBufferSize
¶ Default buffer size fo message log storage.
-
std::vector<messageLogContainer>
logData
¶ Vector of log elements.
Private Members
-
bool
allLogsLinked
¶ Indicator of whether or not messages are all linked.
-