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

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

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
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);
};

Powered by Google App Engine
This is Rietveld 408576698