Index: third_party/crashpad/crashpad/handler/handler_main.cc |
diff --git a/third_party/crashpad/crashpad/handler/handler_main.cc b/third_party/crashpad/crashpad/handler/handler_main.cc |
index 3240cd38b37d79d6c915560aa41f325702cf00cd..e825f1113f9196f9777dc73865da9a21080a1148 100644 |
--- a/third_party/crashpad/crashpad/handler/handler_main.cc |
+++ b/third_party/crashpad/crashpad/handler/handler_main.cc |
@@ -27,6 +27,7 @@ |
#include "base/files/file_path.h" |
#include "base/files/scoped_file.h" |
#include "base/logging.h" |
+#include "base/metrics/persistent_metrics_file_util.h" |
#include "base/scoped_generic.h" |
#include "base/strings/utf_string_conversions.h" |
#include "build/build_config.h" |
@@ -313,6 +314,19 @@ int HandlerMain(int argc, char* argv[]) { |
return EXIT_FAILURE; |
} |
+ std::unique_ptr<CrashReportDatabase> database(CrashReportDatabase::Initialize( |
+ base::FilePath(ToolSupport::CommandLineArgumentToFilePathStringType( |
+ options.database)))); |
+ if (!database) { |
+ return EXIT_FAILURE; |
+ } |
+ |
+ const base::FilePath metrics_dir( |
+ ToolSupport::CommandLineArgumentToFilePathStringType(options.database)); |
Mark Mentovai
2016/09/13 21:35:56
Hmm, this will delay the handshake with the browse
scottmg
2016/09/13 21:46:24
It will. :( It "only" creates the directory if it
Mark Mentovai
2016/09/13 21:52:01
Well, crashpad_handler won’t run at all unless the
|
+ const char kMetricsName[] = "CrashpadMetrics"; |
+ base::InitializeGlobalPersistentMetricsStorage( |
+ metrics_dir, kMetricsName, 1 << 20); |
+ |
#if defined(OS_MACOSX) |
if (options.mach_service.empty()) { |
// Don’t do this when being run by launchd. See launchd.plist(5). |
@@ -386,13 +400,6 @@ int HandlerMain(int argc, char* argv[]) { |
} |
#endif // OS_MACOSX |
- std::unique_ptr<CrashReportDatabase> database(CrashReportDatabase::Initialize( |
- base::FilePath(ToolSupport::CommandLineArgumentToFilePathStringType( |
- options.database)))); |
- if (!database) { |
- return EXIT_FAILURE; |
- } |
- |
// TODO(scottmg): options.rate_limit should be removed when we have a |
// configurable database setting to control upload limiting. |
// See https://crashpad.chromium.org/bug/23. |
@@ -412,6 +419,8 @@ int HandlerMain(int argc, char* argv[]) { |
upload_thread.Stop(); |
prune_thread.Stop(); |
+ base::CleanUpGlobalPersistentHistogramStorage(); |
+ |
return EXIT_SUCCESS; |
} |