diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/connection.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sql/connection.cc b/sql/connection.cc index 701a129..b3af75e 100644 --- a/sql/connection.cc +++ b/sql/connection.cc @@ -7,6 +7,7 @@ #include <string.h> #include "base/files/file_path.h" +#include "base/file_util.h" #include "base/logging.h" #include "base/metrics/histogram.h" #include "base/metrics/sparse_histogram.h" @@ -129,6 +130,20 @@ Connection::~Connection() { } bool Connection::Open(const base::FilePath& path) { + if (!histogram_tag_.empty()) { + int64 size_64 = 0; + if (file_util::GetFileSize(path, &size_64)) { + size_t sample = static_cast<size_t>(size_64 / 1024); + std::string full_histogram_name = "Sqlite.SizeKB." + histogram_tag_; + base::HistogramBase* histogram = + base::Histogram::FactoryGet( + full_histogram_name, 1, 1000000, 50, + base::HistogramBase::kUmaTargetedHistogramFlag); + if (histogram) + histogram->Add(sample); + } + } + #if defined(OS_WIN) return OpenInternal(WideToUTF8(path.value())); #elif defined(OS_POSIX) |