summaryrefslogtreecommitdiffstats
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/connection.cc15
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)