Index: third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc |
diff --git a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc |
index 99c76b776691e1baa3135af1d41293d2937c9e43..23dda482fa1515c8e527986cf011b05a3503ee59 100644 |
--- a/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc |
+++ b/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc |
@@ -28,6 +28,7 @@ |
#include "snapshot/minidump/process_snapshot_minidump.h" |
#include "snapshot/module_snapshot.h" |
#include "util/file/file_reader.h" |
+#include "util/misc/metrics.h" |
#include "util/misc/uuid.h" |
#include "util/net/http_body.h" |
#include "util/net/http_multipart_builder.h" |
@@ -196,7 +197,8 @@ void CrashReportUploadThread::ProcessPendingReport( |
// Don’t attempt an upload if there’s no URL to upload to. Allow upload if |
// it has been explicitly requested by the user, otherwise, respect the |
// upload-enabled state stored in the database’s settings. |
- database_->SkipReportUpload(report.uuid); |
+ database_->SkipReportUpload(report.uuid, |
+ Metrics::CrashSkippedReason::kUploadsDisabled); |
return; |
} |
@@ -217,7 +219,8 @@ void CrashReportUploadThread::ProcessPendingReport( |
// attempt to upload the report. |
const int kUploadAttemptIntervalSeconds = 60 * 60; // 1 hour |
if (now - last_upload_attempt_time < kUploadAttemptIntervalSeconds) { |
- database_->SkipReportUpload(report.uuid); |
+ database_->SkipReportUpload( |
+ report.uuid, Metrics::CrashSkippedReason::kUploadThrottled); |
return; |
} |
} else { |
@@ -228,7 +231,8 @@ void CrashReportUploadThread::ProcessPendingReport( |
// accept it and don’t attempt to upload the report. |
const int kBackwardsClockTolerance = 60 * 60 * 24; // 1 day |
if (last_upload_attempt_time - now < kBackwardsClockTolerance) { |
- database_->SkipReportUpload(report.uuid); |
+ database_->SkipReportUpload( |
+ report.uuid, Metrics::CrashSkippedReason::kUnexpectedTime); |
return; |
} |
} |
@@ -250,7 +254,8 @@ void CrashReportUploadThread::ProcessPendingReport( |
case CrashReportDatabase::kDatabaseError: |
// In these cases, SkipReportUpload() might not work either, but it’s best |
// to at least try to get the report out of the way. |
- database_->SkipReportUpload(report.uuid); |
+ database_->SkipReportUpload(report.uuid, |
+ Metrics::CrashSkippedReason::kDatabaseError); |
return; |
case CrashReportDatabase::kCannotRequestUpload: |
@@ -274,7 +279,8 @@ void CrashReportUploadThread::ProcessPendingReport( |
// TODO(mark): Deal with retries properly: don’t call SkipReportUplaod() |
// if the result was kRetry and the report hasn’t already been retried |
// too many times. |
- database_->SkipReportUpload(report.uuid); |
+ database_->SkipReportUpload(report.uuid, |
+ Metrics::CrashSkippedReason::kUploadFailed); |
break; |
} |
} |