Merge "Track our time buffer more explicitly"
diff --git a/aos/events/logging/logfile_utils.cc b/aos/events/logging/logfile_utils.cc
index e9d0dd3..7600c7e 100644
--- a/aos/events/logging/logfile_utils.cc
+++ b/aos/events/logging/logfile_utils.cc
@@ -909,6 +909,8 @@
     CHECK(timestamp_mapper->nodes_data_[node()].peer == nullptr);
 
     timestamp_mapper->nodes_data_[node()].peer = this;
+
+    node_data->save_for_peer = true;
   }
 }
 
@@ -1199,6 +1201,7 @@
   }
   for (NodeData &node_data : nodes_data_) {
     if (!node_data.any_delivered) continue;
+    if (!node_data.save_for_peer) continue;
     if (node_data.channels[m->channel_index].delivered) {
       // TODO(austin): This copies the data...  Probably not worth stressing
       // about yet.
diff --git a/aos/events/logging/logfile_utils.h b/aos/events/logging/logfile_utils.h
index f876d25..93d9e8b 100644
--- a/aos/events/logging/logfile_utils.h
+++ b/aos/events/logging/logfile_utils.h
@@ -633,6 +633,9 @@
     // bools in delivered below are true.
     bool any_delivered = false;
 
+    // True if we have a peer and therefore should be saving data for it.
+    bool save_for_peer = false;
+
     // Peer pointer.  This node is only to be considered if a peer is set.
     TimestampMapper *peer = nullptr;