Index: webkit/dom_storage/session_storage_database.cc |
diff --git a/webkit/dom_storage/session_storage_database.cc b/webkit/dom_storage/session_storage_database.cc |
index b22ea30296bd01e45593eb5e10f440c027ead4f8..d3613d4cd7eab8984d63d0420cf146c5270967bb 100644 |
--- a/webkit/dom_storage/session_storage_database.cc |
+++ b/webkit/dom_storage/session_storage_database.cc |
@@ -6,6 +6,7 @@ |
#include "base/file_util.h" |
#include "base/logging.h" |
+#include "base/metrics/histogram.h" |
#include "base/stringprintf.h" |
#include "base/string_number_conversions.h" |
#include "base/utf_string_conversions.h" |
@@ -16,6 +17,19 @@ |
#include "third_party/leveldatabase/src/include/leveldb/options.h" |
#include "third_party/leveldatabase/src/include/leveldb/write_batch.h" |
+#define SESSION_STORAGE_UMA_NAME "SessionStorageDatabase.Open" |
+ |
+namespace { |
+ |
+enum SessionStorageUMA { |
+ SESSION_STORAGE_UMA_SUCCESS, |
+ SESSION_STORAGE_UMA_RECREATED, |
+ SESSION_STORAGE_UMA_FAIL, |
+ SESSION_STORAGE_UMA_MAX |
+}; |
+ |
+} // namespace |
+ |
// Layout of the database: |
// | key | value | |
// ----------------------------------------------------------------------- |
@@ -286,10 +300,20 @@ bool SessionStorageDatabase::LazyOpen(bool create_if_needed) { |
if (!s.ok()) { |
LOG(WARNING) << "Failed to open leveldb in " << file_path_.value() |
<< ", error: " << s.ToString(); |
+ UMA_HISTOGRAM_ENUMERATION(SESSION_STORAGE_UMA_NAME, |
+ SESSION_STORAGE_UMA_FAIL, |
+ SESSION_STORAGE_UMA_MAX); |
DCHECK(db == NULL); |
db_error_ = true; |
return false; |
} |
+ UMA_HISTOGRAM_ENUMERATION(SESSION_STORAGE_UMA_NAME, |
+ SESSION_STORAGE_UMA_RECREATED, |
+ SESSION_STORAGE_UMA_MAX); |
+ } else { |
+ UMA_HISTOGRAM_ENUMERATION(SESSION_STORAGE_UMA_NAME, |
+ SESSION_STORAGE_UMA_SUCCESS, |
+ SESSION_STORAGE_UMA_MAX); |
} |
db_.reset(db); |
return true; |