Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Unified Diff: content/browser/indexed_db/leveldb/leveldb_transaction.cc

Issue 2904603003: [IndexedDB] Adding txn, value, and key size metrics (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/indexed_db/leveldb/leveldb_transaction.cc
diff --git a/content/browser/indexed_db/leveldb/leveldb_transaction.cc b/content/browser/indexed_db/leveldb/leveldb_transaction.cc
index 252059f0ad415929d31a8be204790fa22564e216..0f939403b1e09de07eb2588ec1a2db3f96fbcc72 100644
--- a/content/browser/indexed_db/leveldb/leveldb_transaction.cc
+++ b/content/browser/indexed_db/leveldb/leveldb_transaction.cc
@@ -54,11 +54,14 @@ void LevelDBTransaction::Set(const StringPiece& key,
record->key.assign(key.begin(), key.end() - key.begin());
record->value.swap(*value);
record->deleted = deleted;
+ size_ += sizeof(Record) + key.size() * 2 + value->size();
pwnall 2017/05/23 23:01:09 This book-keeping looks subtle enough to require t
dmurph 2017/05/24 02:01:58 BAsed on our convo, recording right before the jou
data_[record->key] = std::move(record);
NotifyIterators();
return;
}
+ size_ += value->size();
it->second->value.swap(*value);
+ size_ -= value->size();
it->second->deleted = deleted;
}
@@ -375,10 +378,12 @@ void LevelDBTransaction::TransactionIterator::Delete() {
DCHECK(IsValid());
if (current_ == data_iterator_.get()) {
data_iterator_->Delete();
+ transaction_->size_ -= data_iterator_->Value().size();
pwnall 2017/05/23 23:01:10 IIUC, this removes the record from the map, so I t
dmurph 2017/05/24 02:01:58 Added tests. Offline convo - record isn't removed
} else {
std::unique_ptr<Record> record = base::MakeUnique<Record>();
record->key = Key().as_string();
record->deleted = true;
+ transaction_->size_ += sizeof(Record) + record->key.size() * 2;
transaction_->data_[record->key] = std::move(record);
}
}

Powered by Google App Engine
This is Rietveld 408576698