summaryrefslogtreecommitdiffstats
path: root/components/rappor
diff options
context:
space:
mode:
authorholte@chromium.org <holte@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-07 15:29:50 +0000
committerholte@chromium.org <holte@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-07 15:29:50 +0000
commitf30f48309343391319624595ad49575cabd76d52 (patch)
tree134614851a0baee2e9547d2b3c3c46a84e7c92d8 /components/rappor
parente29b2ef005154d7c582e4db3b8dbb55db1c918a0 (diff)
downloadchromium_src-f30f48309343391319624595ad49575cabd76d52.zip
chromium_src-f30f48309343391319624595ad49575cabd76d52.tar.gz
chromium_src-f30f48309343391319624595ad49575cabd76d52.tar.bz2
Check for error and log error codes on Rappor Uploads
BUG=370575 Review URL: https://codereview.chromium.org/272463004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268780 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'components/rappor')
-rw-r--r--components/rappor/log_uploader.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/components/rappor/log_uploader.cc b/components/rappor/log_uploader.cc
index ead1a97..8f1c4d6 100644
--- a/components/rappor/log_uploader.cc
+++ b/components/rappor/log_uploader.cc
@@ -7,6 +7,7 @@
#include "base/metrics/histogram.h"
#include "base/metrics/sparse_histogram.h"
#include "net/base/load_flags.h"
+#include "net/base/net_errors.h"
#include "net/url_request/url_fetcher.h"
namespace {
@@ -102,10 +103,21 @@ void LogUploader::OnURLFetchComplete(const net::URLFetcher* source) {
DCHECK_EQ(current_fetch_.get(), source);
scoped_ptr<net::URLFetcher> fetch(current_fetch_.Pass());
+ const net::URLRequestStatus& request_status = source->GetStatus();
+
const int response_code = source->GetResponseCode();
- // Log a histogram to track response success vs. failure rates.
- UMA_HISTOGRAM_SPARSE_SLOWLY("Rappor.UploadResponseCode", response_code);
+ if (request_status.status() != net::URLRequestStatus::SUCCESS) {
+ UMA_HISTOGRAM_SPARSE_SLOWLY("Rappor.FailedUploadErrorCode",
+ -request_status.error());
+ DVLOG(1) << "Rappor server upload failed with error: "
+ << request_status.error() << ": "
+ << net::ErrorToString(request_status.error());
+ DCHECK_EQ(-1, response_code);
+ } else {
+ // Log a histogram to track response success vs. failure rates.
+ UMA_HISTOGRAM_SPARSE_SLOWLY("Rappor.UploadResponseCode", response_code);
+ }
const bool upload_succeeded = response_code == 200;