diff options
author | holte@chromium.org <holte@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-07 15:29:50 +0000 |
---|---|---|
committer | holte@chromium.org <holte@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-07 15:29:50 +0000 |
commit | f30f48309343391319624595ad49575cabd76d52 (patch) | |
tree | 134614851a0baee2e9547d2b3c3c46a84e7c92d8 | |
parent | e29b2ef005154d7c582e4db3b8dbb55db1c918a0 (diff) | |
download | chromium_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
-rw-r--r-- | components/rappor/log_uploader.cc | 16 | ||||
-rw-r--r-- | tools/metrics/histograms/histograms.xml | 9 |
2 files changed, 21 insertions, 4 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; diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 7aac519..b94d38b 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -20927,14 +20927,19 @@ Therefore, the affected-histogram name has to have at least one dot in it. </histogram> <histogram name="Rappor.DiscardReason" enum="RapporDiscardReason"> - <owner>Please list the metric's owners. Add more owner tags as needed.</owner> + <owner>holte@chromium.org</owner> <summary> For each Rappor log that is discarded, the reason that it was discarded. </summary> </histogram> +<histogram name="Rappor.FailedUploadErrorCode" enum="NetErrorCodes"> + <owner>holte@chromium.org</owner> + <summary>Net error codes for failed Rappor uploads.</summary> +</histogram> + <histogram name="Rappor.UploadResponseCode" enum="HttpResponseCode"> - <owner>Please list the metric's owners. Add more owner tags as needed.</owner> + <owner>holte@chromium.org</owner> <summary> For each upload to the Rappor server, log the response received from the server. |