Index: third_party/crashpad/crashpad/util/misc/metrics.h |
diff --git a/third_party/crashpad/crashpad/util/misc/metrics.h b/third_party/crashpad/crashpad/util/misc/metrics.h |
index 315a122f3262201cbe61defe4aad2d5636793b6f..64fb1af3af1a8664d1fcd89f8f7a182fdf5202b0 100644 |
--- a/third_party/crashpad/crashpad/util/misc/metrics.h |
+++ b/third_party/crashpad/crashpad/util/misc/metrics.h |
@@ -15,6 +15,8 @@ |
#ifndef CRASHPAD_UTIL_MISC_METRICS_H_ |
#define CRASHPAD_UTIL_MISC_METRICS_H_ |
+#include <inttypes.h> |
+ |
#include "base/macros.h" |
#include "util/file/file_io.h" |
@@ -32,6 +34,55 @@ class Metrics { |
//! when a new report is written to disk. |
static void CrashReportSize(FileHandle file); |
+ //! \brief The result of capturing an exception. These are used as metrics |
+ //! enumeration values so new values should always be added at the end. |
+ enum class CaptureResult : int32_t { |
+ //! \brief The exception capture succeeded normally. |
+ kSuccess = 0, |
+ |
+ //! \brief Unexpected exception behavior. |
+ //! |
+ //! This value is only used on Mac OS X. |
+ kUnexpectedExceptionBehavior = 1, |
+ |
+ //! \brief Failed due to attempt to suspend self. |
+ //! |
+ //! This value is only used on Mac OS X. |
+ kFailedDueToSuspendSelf = 2, |
+ |
+ //! \brief The process snapshot could not be captured. |
+ kSnapshotFailed = 3, |
+ |
+ //! \brief The exception could not be initialized. |
+ kExceptionInitializationFailed = 4, |
+ |
+ //! \brief The attempt to prepare a new crash report in the crash database |
+ //! failed. |
+ kPrepareNewCrashReportFailed = 5, |
+ |
+ //! \brief Writing the minidump to disk failed. |
+ kMinidumpWriteFailed = 6, |
+ |
+ //! \brief There was a database error in attempt to complete the report. |
+ kFinishedWritingCrashReportFailed = 7, |
+ |
+ //! \brief The number of values in this enumeration; not a valid value. |
+ kMaxValue |
+ }; |
+ |
+ //! \brief Reports on the outcome of capturing a report in the exception |
+ //! handler. Should be called on all capture completion paths. |
+ static void ExceptionCaptureResult(CaptureResult result); |
+ |
+ //! \brief The exception code for an exception was retrieved. |
+ //! |
+ //! These values are OS-specific, and correspond to |
+ //! MINIDUMP_EXCEPTION::ExceptionCode. |
+ static void ExceptionCode(uint32_t exception_code); |
+ |
+ //! \brief The exception handler server started capturing an exception. |
+ static void ExceptionEncountered(); |
+ |
private: |
DISALLOW_IMPLICIT_CONSTRUCTORS(Metrics); |
}; |