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

Side by Side Diff: components/domain_reliability/beacon.cc

Issue 1180223006: Domain Reliability: Simplify configs and reports (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, make requested changes Created 5 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/domain_reliability/beacon.h" 5 #include "components/domain_reliability/beacon.h"
6 6
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "components/domain_reliability/util.h"
8 #include "net/base/net_errors.h" 9 #include "net/base/net_errors.h"
9 10
10 namespace domain_reliability { 11 namespace domain_reliability {
11 12
12 using base::Value; 13 using base::Value;
13 using base::DictionaryValue; 14 using base::DictionaryValue;
14 15
15 DomainReliabilityBeacon::DomainReliabilityBeacon() {} 16 DomainReliabilityBeacon::DomainReliabilityBeacon() {}
16 DomainReliabilityBeacon::~DomainReliabilityBeacon() {} 17 DomainReliabilityBeacon::~DomainReliabilityBeacon() {}
17 18
18 Value* DomainReliabilityBeacon::ToValue( 19 scoped_ptr<Value> DomainReliabilityBeacon::ToValue(
19 base::TimeTicks upload_time, 20 base::TimeTicks upload_time,
20 base::TimeTicks last_network_change_time) const { 21 base::TimeTicks last_network_change_time,
21 DictionaryValue* beacon_value = new DictionaryValue(); 22 const GURL& collector_url,
22 if (!url.empty()) 23 const ScopedVector<std::string>& path_prefixes) const {
23 beacon_value->SetString("url", url); 24 scoped_ptr<DictionaryValue> beacon_value(new DictionaryValue());
24 if (!domain.empty()) 25 DCHECK(url.is_valid());
25 beacon_value->SetString("domain", domain); 26 GURL sanitized_url = SanitizeURLForReport(url, collector_url, path_prefixes);
26 if (!resource.empty()) 27 beacon_value->SetString("url", sanitized_url.spec());
27 beacon_value->SetString("resource", resource);
28 beacon_value->SetString("status", status); 28 beacon_value->SetString("status", status);
29 if (chrome_error != net::OK) { 29 if (chrome_error != net::OK) {
30 DictionaryValue* failure_value = new DictionaryValue(); 30 DictionaryValue* failure_value = new DictionaryValue();
31 failure_value->SetString("custom_error", 31 failure_value->SetString("custom_error",
32 net::ErrorToString(chrome_error)); 32 net::ErrorToString(chrome_error));
33 beacon_value->Set("failure_data", failure_value); 33 beacon_value->Set("failure_data", failure_value);
34 } 34 }
35 beacon_value->SetString("server_ip", server_ip); 35 beacon_value->SetString("server_ip", server_ip);
36 beacon_value->SetBoolean("was_proxied", was_proxied); 36 beacon_value->SetBoolean("was_proxied", was_proxied);
37 beacon_value->SetString("protocol", protocol); 37 beacon_value->SetString("protocol", protocol);
38 if (http_response_code >= 0) 38 if (http_response_code >= 0)
39 beacon_value->SetInteger("http_response_code", http_response_code); 39 beacon_value->SetInteger("http_response_code", http_response_code);
40 beacon_value->SetInteger("request_elapsed_ms", 40 beacon_value->SetInteger("request_elapsed_ms", elapsed.InMilliseconds());
41 elapsed.InMilliseconds()); 41 base::TimeDelta request_age = upload_time - start_time;
42 beacon_value->SetInteger("request_age_ms", 42 beacon_value->SetInteger("request_age_ms", request_age.InMilliseconds());
43 (upload_time - start_time).InMilliseconds());
44 bool network_changed = last_network_change_time > start_time; 43 bool network_changed = last_network_change_time > start_time;
45 beacon_value->SetBoolean("network_changed", network_changed); 44 beacon_value->SetBoolean("network_changed", network_changed);
46 return beacon_value; 45 return beacon_value.Pass();
47 } 46 }
48 47
49 } // namespace domain_reliability 48 } // namespace domain_reliability
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698