New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 645126 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

Uncategorized leveldb database

Project Member Reported by dskiba@chromium.org, Sep 8 2016

Issue description

When doing startup tracing on a signed in Clank I noticed that leveldb is responsible for 2.3 MiB:

2.3 MiB   [Thread: BrowserBlockingWorker1/11260]
2.3 MiB   </system/lib/libc.so>
2.3 MiB   ThreadFunc
2.3 MiB   base::SimpleThread::ThreadMain()
2.3 MiB   base::SequencedWorkerPool::Worker::Run()
2.3 MiB   base::SequencedWorkerPool::Inner::ThreadLoop(base::SequencedWorkerPool::Worker*)
2.3 MiB   RunTaskAndPostReply
2.3 MiB   InitFromTaskRunner
2.3 MiB   leveldb_proto::LevelDB::Init(base::FilePath const&)
2.3 MiB   leveldb_proto::LevelDB::InitWithOptions(base::FilePath const&, leveldb::Options const&)
2.3 MiB   leveldb::DB::Open(leveldb::Options const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, leveldb::DB**)
2.2 MiB   leveldb::DBImpl::Recover(leveldb::VersionEdit*, bool*)
2.2 MiB   leveldb::DBImpl::RecoverLogFile(unsigned long long, bool, bool*, leveldb::VersionEdit*, unsigned long long*)
2.2 MiB   leveldb::WriteBatchInternal::InsertInto(leveldb::WriteBatch const*, leveldb::MemTable*)
2.2 MiB   leveldb::WriteBatch::Iterate(leveldb::WriteBatch::Handler*) const
1.7 MiB   Put
544.3 KiB Delete

We need to investigate what that database is, and whether we can surface it in one of our MDPs (or create new one). Another question is whether we can optimize it.

 
Owner: dskiba@chromium.org
Status: Assigned (was: Untriaged)
Owner: ssid@chromium.org

Comment 3 by dskiba@chromium.org, Sep 13 2016

Hmm, actually, why not add MDP to leveldb_proto::LevelDB, which is a Chrome-side wrapped for leveldb?

Comment 4 by ssid@chromium.org, Sep 15 2016

I see that few databases are created by NTP (NewTabPage) Thumbnails, snippets, and images (ImageManager). But, it is of very low sizes. My account probably does not have as much data as yours. cl: https://codereview.chromium.org/2340983002/

Comment 5 by dskiba@chromium.org, Sep 15 2016

Sadly I uninstalled Clank that had the problem. Now on fresh install leveldb is small for me too. But we should push that MDP nevertheless, since we saw that leveldbs could be big.
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e4aba36676c616489620442d8ae6aa88931e680c

commit e4aba36676c616489620442d8ae6aa88931e680c
Author: ssid <ssid@chromium.org>
Date: Mon Sep 26 21:34:00 2016

[tracing] Memory dump provider for leveldb_proto

This CL makes leveldb_proto a memory dump provider for adding statistics
to chrome://tracing. This would cover ntp snippet, thumbnail and image
databases.

BUG= 645126 

Review-Url: https://codereview.chromium.org/2340983002
Cr-Commit-Position: refs/heads/master@{#420997}

[modify] https://crrev.com/e4aba36676c616489620442d8ae6aa88931e680c/components/leveldb_proto/leveldb_database.cc
[modify] https://crrev.com/e4aba36676c616489620442d8ae6aa88931e680c/components/leveldb_proto/leveldb_database.h
[modify] https://crrev.com/e4aba36676c616489620442d8ae6aa88931e680c/components/leveldb_proto/proto_database_impl_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/279f8d702e8b2fffda1b7f50b311c5202331e121

commit 279f8d702e8b2fffda1b7f50b311c5202331e121
Author: ssid <ssid@chromium.org>
Date: Sat Oct 08 03:17:27 2016

Add LevelDB database names to tracing path for easier debugging

The data from field trials show large databases, but not sure what are
their names. So, adding names to the path.

BUG= 645126 

Review-Url: https://codereview.chromium.org/2399903004
Cr-Commit-Position: refs/heads/master@{#424055}

[modify] https://crrev.com/279f8d702e8b2fffda1b7f50b311c5202331e121/base/trace_event/memory_infra_background_whitelist.cc
[modify] https://crrev.com/279f8d702e8b2fffda1b7f50b311c5202331e121/components/leveldb_proto/leveldb_database.cc

Comment 8 by ssid@chromium.org, Nov 29 2016

Status: Fixed (was: Assigned)
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5f7441b83ffcb113514512a65ca5910a9b5115b

commit c5f7441b83ffcb113514512a65ca5910a9b5115b
Author: ssid <ssid@chromium.org>
Date: Wed Jan 11 03:41:20 2017

Revert of Add LevelDB database names to tracing path for easier debugging (patchset #2 id:40001 of https://codereview.chromium.org/2399903004/ )

Reason for revert:
We identified the largest consumer of memory in leveldb_proto databases and fixed it crbug.com/662019.
It is not safe to add dumps with database names since new clients of leveldb_proto might not update the whitelist and we will miss the memory usage.

Original issue's description:
> Add LevelDB database names to tracing path for easier debugging
>
> The data from field trials show large databases, but not sure what are
> their names. So, adding names to the path.
>
> BUG= 645126 
>
> Committed: https://crrev.com/279f8d702e8b2fffda1b7f50b311c5202331e121
> Cr-Commit-Position: refs/heads/master@{#424055}

TBR=primiano@chromium.org,nyquist@chromium.org,mathp@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 645126 

Review-Url: https://codereview.chromium.org/2601233002
Cr-Commit-Position: refs/heads/master@{#442782}

[modify] https://crrev.com/c5f7441b83ffcb113514512a65ca5910a9b5115b/base/trace_event/memory_infra_background_whitelist.cc
[modify] https://crrev.com/c5f7441b83ffcb113514512a65ca5910a9b5115b/components/leveldb_proto/leveldb_database.cc

Sign in to add a comment