Chromium Code Reviews| Index: components/browser_watcher/watcher_metrics_provider_win.cc |
| diff --git a/components/browser_watcher/watcher_metrics_provider_win.cc b/components/browser_watcher/watcher_metrics_provider_win.cc |
| index 74db4f5c837a56dd8780ebe4cb6c773109242d54..8ed1742e9101b7c35826dfbb4c088bbeac07d9e2 100644 |
| --- a/components/browser_watcher/watcher_metrics_provider_win.cc |
| +++ b/components/browser_watcher/watcher_metrics_provider_win.cc |
| @@ -9,6 +9,7 @@ |
| #include <limits> |
| #include <memory> |
| #include <set> |
| +#include <utility> |
| #include <vector> |
| #include "base/bind.h" |
| @@ -25,6 +26,7 @@ |
| #include "components/browser_watcher/features.h" |
| #include "components/browser_watcher/postmortem_report_collector.h" |
| #include "components/browser_watcher/stability_debugging.h" |
| +#include "components/browser_watcher/system_session_analyzer_win.h" |
| #include "third_party/crashpad/crashpad/client/crash_report_database.h" |
| namespace browser_watcher { |
| @@ -263,12 +265,19 @@ void WatcherMetricsProviderWin::CollectPostmortemReportsOnBlockingPool() { |
| LogCollectionInitStatus(INIT_SUCCESS); |
| - // TODO(manzagop): fix incorrect version attribution on update. |
| + // Get the reporter's version details. |
| base::string16 product_name, version_number, channel_name; |
| exe_details_cb_.Run(&product_name, &version_number, &channel_name); |
| - PostmortemReportCollector collector(base::UTF16ToUTF8(product_name), |
| - base::UTF16ToUTF8(version_number), |
| - base::UTF16ToUTF8(channel_name)); |
| + |
| + const size_t kSystemSessionsToInspect = 5U; |
| + std::unique_ptr<SystemSessionEventFetcher> fetcher( |
|
Sigurður Ásgeirsson
2017/03/01 15:09:27
why can't these be simple locals? why the allocati
manzagop (departed)
2017/03/01 21:07:45
No reason. Done.
|
| + new SystemSessionEventFetcher(kSystemSessionsToInspect)); |
| + std::unique_ptr<SystemSessionAnalyzer> analyzer( |
| + new SystemSessionAnalyzer(std::move(fetcher))); |
| + |
| + PostmortemReportCollector collector( |
| + base::UTF16ToUTF8(product_name), base::UTF16ToUTF8(version_number), |
| + base::UTF16ToUTF8(channel_name), std::move(analyzer)); |
| collector.CollectAndSubmitForUpload(stability_dir, GetStabilityFilePattern(), |
| excluded_debug_files, |
| crashpad_database.get()); |