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()