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

Unified Diff: third_party/crashpad/crashpad/util/misc/metrics.cc

Issue 2350943003: Update Crashpad to 0aeca5f12374fdbf3d4f6c656abf950ba2a96f1c (Closed)
Patch Set: . Created 4 years, 3 months 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
« no previous file with comments | « third_party/crashpad/crashpad/util/misc/metrics.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/crashpad/crashpad/util/misc/metrics.cc
diff --git a/third_party/crashpad/crashpad/util/misc/metrics.cc b/third_party/crashpad/crashpad/util/misc/metrics.cc
index 6a363b1302a2b9e68d256fd1d503c4a5c7d74b77..6967398d0e1cb45bf0c129636d30baa3616eb80a 100644
--- a/third_party/crashpad/crashpad/util/misc/metrics.cc
+++ b/third_party/crashpad/crashpad/util/misc/metrics.cc
@@ -15,13 +15,60 @@
#include "util/misc/metrics.h"
#include "base/metrics/histogram_macros.h"
+#include "base/metrics/sparse_histogram.h"
+#include "build/build_config.h"
namespace crashpad {
+namespace {
+
+//! \brief Metrics values used to track the start and completion of a crash
+//! handling. These are used as metrics values directly, so
+//! enumeration values so new values should always be added at the end.
+enum class ExceptionProcessingState {
+ //! \brief Logged when exception processing is started.
+ kStarted = 0,
+
+ //! \brief Logged when exception processing completes.
+ kFinished = 1,
+};
+
+void ExceptionProcessing(ExceptionProcessingState state) {
+ UMA_HISTOGRAM_COUNTS("Crashpad.ExceptionEncountered",
+ static_cast<int>(state));
+}
+
+} // namespace
+
+// static
void Metrics::CrashReportSize(FileHandle file) {
const FileOffset size = LoggingFileSizeByHandle(file);
UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Crashpad.CrashReportSize", size, 0, 5 * 1024 * 1024, 50);
+ "Crashpad.CrashReportSize", size, 0, 20 * 1024 * 1024, 50);
+}
+
+// static
+void Metrics::ExceptionCaptureResult(CaptureResult result) {
+ ExceptionProcessing(ExceptionProcessingState::kFinished);
+ UMA_HISTOGRAM_ENUMERATION("Crashpad.ExceptionCaptureResult",
+ static_cast<int32_t>(result),
+ static_cast<int32_t>(CaptureResult::kMaxValue));
+}
+
+// static
+void Metrics::ExceptionCode(uint32_t exception_code) {
+#if defined(OS_WIN)
+ static const char kExceptionCodeString[] = "Crashpad.ExceptionCode.Win";
+#elif defined(OS_MACOSX)
+ static const char kExceptionCodeString[] = "Crashpad.ExceptionCode.Mac";
+#endif
+ UMA_HISTOGRAM_SPARSE_SLOWLY(kExceptionCodeString,
+ static_cast<int32_t>(exception_code));
+}
+
+// static
+void Metrics::ExceptionEncountered() {
+ ExceptionProcessing(ExceptionProcessingState::kStarted);
}
} // namespace crashpad
« no previous file with comments | « third_party/crashpad/crashpad/util/misc/metrics.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698