| Index: content/browser/indexed_db/leveldb/leveldb_database.cc
|
| diff --git a/content/browser/indexed_db/leveldb/leveldb_database.cc b/content/browser/indexed_db/leveldb/leveldb_database.cc
|
| index 9e70f463856ad7e1c5ab5a0e2fb69e161853be60..d9708aca53e957d5d81876c33a76f4b5fdffd7e8 100644
|
| --- a/content/browser/indexed_db/leveldb/leveldb_database.cc
|
| +++ b/content/browser/indexed_db/leveldb/leveldb_database.cc
|
| @@ -264,6 +264,8 @@ leveldb::Status LevelDBDatabase::Open(const base::FilePath& file_name,
|
| const LevelDBComparator* comparator,
|
| scoped_ptr<LevelDBDatabase>* result,
|
| bool* is_disk_full) {
|
| + base::TimeTicks begin_time = base::TimeTicks::Now();
|
| +
|
| scoped_ptr<ComparatorAdapter> comparator_adapter(
|
| new ComparatorAdapter(comparator));
|
|
|
| @@ -284,6 +286,9 @@ leveldb::Status LevelDBDatabase::Open(const base::FilePath& file_name,
|
| return s;
|
| }
|
|
|
| + UMA_HISTOGRAM_MEDIUM_TIMES("WebCore.IndexedDB.LevelDB.OpenTime.Disk",
|
| + base::TimeTicks::Now() - begin_time);
|
| +
|
| CheckFreeSpace("Success", file_name);
|
|
|
| (*result).reset(new LevelDBDatabase);
|
| @@ -320,6 +325,8 @@ scoped_ptr<LevelDBDatabase> LevelDBDatabase::OpenInMemory(
|
|
|
| leveldb::Status LevelDBDatabase::Put(const StringPiece& key,
|
| std::string* value) {
|
| + base::TimeTicks begin_time = base::TimeTicks::Now();
|
| +
|
| leveldb::WriteOptions write_options;
|
| write_options.sync = kSyncWrites;
|
|
|
| @@ -327,6 +334,9 @@ leveldb::Status LevelDBDatabase::Put(const StringPiece& key,
|
| db_->Put(write_options, MakeSlice(key), MakeSlice(*value));
|
| if (!s.ok())
|
| LOG(ERROR) << "LevelDB put failed: " << s.ToString();
|
| + else
|
| + UMA_HISTOGRAM_TIMES("WebCore.IndexedDB.LevelDB.PutTime",
|
| + base::TimeTicks::Now() - begin_time);
|
| return s;
|
| }
|
|
|
| @@ -363,6 +373,7 @@ leveldb::Status LevelDBDatabase::Get(const StringPiece& key,
|
| }
|
|
|
| leveldb::Status LevelDBDatabase::Write(const LevelDBWriteBatch& write_batch) {
|
| + base::TimeTicks begin_time = base::TimeTicks::Now();
|
| leveldb::WriteOptions write_options;
|
| write_options.sync = kSyncWrites;
|
|
|
| @@ -371,6 +382,9 @@ leveldb::Status LevelDBDatabase::Write(const LevelDBWriteBatch& write_batch) {
|
| if (!s.ok()) {
|
| HistogramLevelDBError("WebCore.IndexedDB.LevelDBWriteErrors", s);
|
| LOG(ERROR) << "LevelDB write failed: " << s.ToString();
|
| + } else {
|
| + UMA_HISTOGRAM_TIMES("WebCore.IndexedDB.LevelDB.WriteTime",
|
| + base::TimeTicks::Now() - begin_time);
|
| }
|
| return s;
|
| }
|
|
|