Write node index file for timestamp_plot.gnuplot from log_cat

This makes timestamp_extractor work with log_cat again.  This saves a
bunch of CPU time when a log queues correctly.

Change-Id: I2065001b32325f4db16dd2b8ee2ca66572e6dc6b
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/aos/events/logging/log_reader.cc b/aos/events/logging/log_reader.cc
index a80b0e5..d8f8b04 100644
--- a/aos/events/logging/log_reader.cc
+++ b/aos/events/logging/log_reader.cc
@@ -484,6 +484,9 @@
     // from both the real message bridge and simulated message bridge.
     event_loop_factory_->DisableStatistics();
   }
+
+  // Write pseudo start times out to file now that we are all setup.
+  filters_->Start(event_loop_factory_);
 }
 
 void LogReader::Register(SimulatedEventLoopFactory *event_loop_factory) {
diff --git a/aos/network/multinode_timestamp_filter.cc b/aos/network/multinode_timestamp_filter.cc
index 65691cb..a076eb2 100644
--- a/aos/network/multinode_timestamp_filter.cc
+++ b/aos/network/multinode_timestamp_filter.cc
@@ -742,6 +742,9 @@
 
 void MultiNodeNoncausalOffsetEstimator::Start(
     SimulatedEventLoopFactory *factory) {
+  if (!configuration::MultiNode(factory->configuration())) {
+    return;
+  }
   std::vector<monotonic_clock::time_point> times;
   for (const Node *node : configuration::GetNodes(factory->configuration())) {
     times.emplace_back(factory->GetNodeEventLoopFactory(node)->monotonic_now());