wmatrix: Add metrics flush to actually send them
BUG=chromium:756606
TEST=run with metrics redirected to file.
Change-Id: Iaeb6c2f552f2d4853f3c9527f54c9638f39c1d84
Reviewed-on: https://chromium-review.googlesource.com/759427
Commit-Ready: Jacob Kopczynski <jkop@chromium.org>
Tested-by: Jacob Kopczynski <jkop@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Jacob Kopczynski <jkop@chromium.org>
diff --git a/src/backend/update_lib.py b/src/backend/update_lib.py
index 486dafe..cff9eb1 100644
--- a/src/backend/update_lib.py
+++ b/src/backend/update_lib.py
@@ -22,6 +22,8 @@
from src.backend import get_schedule
from src.models import db_interface
+METRICS_WHITELISTED_ERRORS = ["ImportError", "NameError", "AttributeError",
+ "SyntaxError", "TypeError", "OSError"]
def initialize_options():
"""Add shared arguments to the command-line parser and parse all args."""
@@ -137,12 +139,10 @@
"""Bucket an error between various types we care about"""
if not error:
return "None"
- elif isinstance(error, (ImportError, NameError, AttributeError)):
- return "ErrorInNamesAccessible"
- elif isinstance(error, (SyntaxError, TypeError)):
- return "ErrorInCodeStructure"
- elif isinstance(error, OSError):
- return "OSError"
+
+ error_name = error.__class__.__name__
+ if error_name in METRICS_WHITELISTED_ERRORS:
+ return error_name
else:
return "UnrecognizedError"
diff --git a/src/backend/update_rawdb.py b/src/backend/update_rawdb.py
index 634d06d..3f46407 100644
--- a/src/backend/update_rawdb.py
+++ b/src/backend/update_rawdb.py
@@ -13,6 +13,7 @@
import whining
+from chromite.lib import metrics
from chromite.lib import ts_mon_config
from src import settings
from src.backend import dbpump
@@ -43,6 +44,7 @@
finally:
update_lib.log_update(result, *update_lib.retrieve_dest_db_label(
settings.settings, DEST_DB))
+ metrics.Flush()
# Cleanup
src_db.close()
dest_db.close()
diff --git a/src/backend/update_wmdb.py b/src/backend/update_wmdb.py
index f4ad3a2..4c9858a 100644
--- a/src/backend/update_wmdb.py
+++ b/src/backend/update_wmdb.py
@@ -50,6 +50,7 @@
finally:
update_lib.log_update(result, *update_lib.retrieve_dest_db_label(
settings.settings, DEST_DB))
+ metrics.Flush()
# Cleanup
src_db.close()
dest_db.close()