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

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc

Issue 2592783002: Move session network stats from IO to UI (Closed)
Patch Set: Created 4 years 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: components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc
index 54f7cd7eb69da647271eb71182dfa254fa21e205..a2b0ba25cafe46564189ecdc587eaa18350c5019 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_compression_stats.cc
@@ -340,6 +340,8 @@ DataReductionProxyCompressionStats::DataReductionProxyCompressionStats(
pref_service_(prefs),
delay_(delay),
data_usage_map_is_dirty_(false),
+ session_total_received_(0),
+ session_total_original_(0),
current_data_usage_load_status_(NOT_LOADED),
weak_factory_(this) {
DCHECK(service);
@@ -449,6 +451,8 @@ void DataReductionProxyCompressionStats::UpdateContentLengths(
const scoped_refptr<DataUseGroup>& data_use_group,
const std::string& mime_type) {
DCHECK(thread_checker_.CalledOnValidThread());
+ session_total_received_ += data_used;
+ session_total_original_ += original_size;
std::string data_use_host;
if (data_use_group) {
data_use_host = data_use_group->GetHostname();
@@ -556,6 +560,19 @@ DataReductionProxyCompressionStats::HistoricNetworkStatsInfoToValue() {
return std::move(dict);
}
+std::unique_ptr<base::Value>
+DataReductionProxyCompressionStats::SessionNetworkStatsInfoToValue() const {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ auto dict = base::MakeUnique<base::DictionaryValue>();
+ // Use strings to avoid overflow. base::Value only supports 32-bit integers.
+ dict->SetString("session_received_content_length",
+ base::Int64ToString(session_total_received_));
+ dict->SetString("session_original_content_length",
+ base::Int64ToString(session_total_original_));
+ return std::move(dict);
+}
+
int64_t DataReductionProxyCompressionStats::GetLastUpdateTime() {
int64_t last_update_internal =
GetInt64(prefs::kDailyHttpContentLengthLastUpdateDate);

Powered by Google App Engine
This is Rietveld 408576698