Add some more UUIDs to log files
Change-Id: I32a26012bf204de3188ea77255ca5c43bd78f2f5
diff --git a/aos/events/logging/logger.h b/aos/events/logging/logger.h
index e8856f3..161300c 100644
--- a/aos/events/logging/logger.h
+++ b/aos/events/logging/logger.h
@@ -66,12 +66,19 @@
polling_period_ = polling_period;
}
+ std::string_view log_start_uuid() const { return log_start_uuid_; }
+
// Rotates the log file(s), triggering new part files to be written for each
// log file.
void Rotate();
// Starts logging to files with the given naming scheme.
- void StartLogging(std::unique_ptr<LogNamer> log_namer);
+ //
+ // log_start_uuid may be used to tie this log event to other log events across
+ // multiple nodes. The default (empty string) indicates there isn't one
+ // available.
+ void StartLogging(std::unique_ptr<LogNamer> log_namer,
+ std::string_view log_start_uuid = "");
// Stops logging. Ensures any messages through end_time make it into the log.
//
@@ -154,13 +161,17 @@
aos::monotonic_clock::time_point monotonic_start_time,
aos::realtime_clock::time_point realtime_start_time);
- EventLoop *event_loop_;
- UUID uuid_ = UUID::Zero();
- std::unique_ptr<LogNamer> log_namer_;
-
+ EventLoop *const event_loop_;
// The configuration to place at the top of the log file.
const Configuration *const configuration_;
+ UUID log_event_uuid_ = UUID::Zero();
+ const UUID logger_instance_uuid_ = UUID::Random();
+ std::unique_ptr<LogNamer> log_namer_;
+ // Empty indicates there isn't one.
+ std::string log_start_uuid_;
+ const std::string boot_uuid_;
+
// Name to save in the log file. Defaults to hostname.
std::string name_;
@@ -194,7 +205,7 @@
aos::realtime_clock::time_point realtime_start_time;
// UUIDs if available.
- std::string logger_uuid;
+ std::string log_event_uuid;
std::string parts_uuid;
// The node this represents, or empty if we are in a single node world.
@@ -208,7 +219,7 @@
// ordering constraints relative to each other.
struct LogFile {
// The UUID tying them all together (if available)
- std::string logger_uuid;
+ std::string log_event_uuid;
// All the parts, unsorted.
std::vector<LogParts> parts;