| 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;
|
|
|