metrics: add some debug code

We're crashing but it's not entirely clear why.  Lets dump internal
state until we can figure it out.

BUG=chromium:1001909
TEST=unittests pass

Change-Id: I838bc585685688bb614bf1932374774009543f95
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1793422
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Will Bradley <wbbradley@chromium.org>
diff --git a/api/metrics.py b/api/metrics.py
index b092949..739c746 100644
--- a/api/metrics.py
+++ b/api/metrics.py
@@ -11,6 +11,7 @@
 
 from __future__ import print_function
 
+from chromite.lib import cros_logging as logging
 from chromite.utils import metrics
 
 
@@ -40,7 +41,11 @@
       timers[input_event.key] = (input_event.name,
                                  input_event.timestamp_epoch_millis)
     elif input_event.op == metrics.OP_STOP_TIMER:
-      timer = timers.pop(input_event.key)
+      # TODO(wbbradley): Drop the None fallback https://crbug.com/1001909.
+      timer = timers.pop(input_event.key, None)
+      if timer is None:
+        logging.error('%s: stop timer recorded, but missing start timer!?',
+                      input_event.key)
       if timer:
         assert input_event.name == timer[0]
         output_event = output_events.add()