diff options
author | paul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-13 01:25:50 +0000 |
---|---|---|
committer | paul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-13 01:25:50 +0000 |
commit | dc6f4969d7dec0ea0e11f2f11987b6380e3b3e8e (patch) | |
tree | ee6bd37c4acd908d6dd5bf02e365381a6a8e65ac | |
parent | 0fec82d31ca706484262f82834af8597513fc20f (diff) | |
download | chromium_src-dc6f4969d7dec0ea0e11f2f11987b6380e3b3e8e.zip chromium_src-dc6f4969d7dec0ea0e11f2f11987b6380e3b3e8e.tar.gz chromium_src-dc6f4969d7dec0ea0e11f2f11987b6380e3b3e8e.tar.bz2 |
Port most of MetricsService to Mac and linux.
Review URL: http://codereview.chromium.org/20338
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9720 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/browser.scons | 1 | ||||
-rw-r--r-- | chrome/browser/browser_main.cc | 2 | ||||
-rw-r--r-- | chrome/browser/browser_process_impl.cc | 2 | ||||
-rw-r--r-- | chrome/browser/load_notification_details.h | 8 | ||||
-rw-r--r-- | chrome/browser/metrics/metrics_service.cc | 35 | ||||
-rw-r--r-- | chrome/browser/tab_contents/web_contents.cc | 2 | ||||
-rw-r--r-- | chrome/chrome.xcodeproj/project.pbxproj | 6 | ||||
-rw-r--r-- | chrome/common/temp_scaffolding_stubs.cc | 9 | ||||
-rw-r--r-- | chrome/common/temp_scaffolding_stubs.h | 18 |
9 files changed, 47 insertions, 36 deletions
diff --git a/chrome/browser/browser.scons b/chrome/browser/browser.scons index ccfc72d..6e9e54d 100644 --- a/chrome/browser/browser.scons +++ b/chrome/browser/browser.scons @@ -719,7 +719,6 @@ if not env.Bit('windows'): 'jankometer.cc', 'login_prompt.cc', 'memory_details.cc', - 'metrics/metrics_service.cc', 'modal_html_dialog_delegate.cc', 'net/dns_global.cc', 'net/dns_master.cc', diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc index 654da338..89ce130 100644 --- a/chrome/browser/browser_main.cc +++ b/chrome/browser/browser_main.cc @@ -28,6 +28,7 @@ #include "chrome/browser/browser_process_impl.h" #include "chrome/browser/browser_shutdown.h" #include "chrome/browser/first_run.h" +#include "chrome/browser/metrics/metrics_service.h" #include "chrome/browser/profile_manager.h" #include "chrome/browser/shell_integration.h" #include "chrome/common/chrome_constants.h" @@ -68,7 +69,6 @@ #include "chrome/browser/extensions/extension_protocols.h" #include "chrome/browser/jankometer.h" #include "chrome/browser/message_window.h" -#include "chrome/browser/metrics/metrics_service.h" #include "chrome/browser/metrics/user_metrics.h" #include "chrome/browser/net/dns_global.h" #include "chrome/browser/net/sdch_dictionary_fetcher.h" diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index 7cb57b2..8989550 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -12,6 +12,7 @@ #include "chrome/browser/chrome_thread.h" #include "chrome/browser/debugger/debugger_wrapper.h" #include "chrome/browser/google_url_tracker.h" +#include "chrome/browser/metrics/metrics_service.h" #include "chrome/browser/profile_manager.h" #include "chrome/browser/renderer_host/render_process_host.h" #include "chrome/browser/renderer_host/resource_dispatcher_host.h" @@ -27,7 +28,6 @@ #include "chrome/browser/download/download_file.h" #include "chrome/browser/download/save_file_manager.h" #include "chrome/browser/icon_manager.h" -#include "chrome/browser/metrics/metrics_service.h" #include "chrome/browser/plugin_service.h" #include "chrome/browser/printing/print_job_manager.h" #include "chrome/common/clipboard_service.h" diff --git a/chrome/browser/load_notification_details.h b/chrome/browser/load_notification_details.h index 7c46e87..6d49177 100644 --- a/chrome/browser/load_notification_details.h +++ b/chrome/browser/load_notification_details.h @@ -23,10 +23,10 @@ class LoadNotificationDetails { NavigationController* controller, int session_index) : url_(url), - origin_(origin), load_time_(load_time), - controller_(controller), - session_index_(session_index) {} + session_index_(session_index), + origin_(origin), + controller_(controller) {} ~LoadNotificationDetails() {} @@ -45,7 +45,7 @@ class LoadNotificationDetails { LoadNotificationDetails() {} - DISALLOW_EVIL_CONSTRUCTORS(LoadNotificationDetails); + DISALLOW_COPY_AND_ASSIGN(LoadNotificationDetails); }; #endif // CHROME_BROWSER_LOAD_NOTIFICATION_DETAILS_H__ diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc index 55aca76..afe6c48 100644 --- a/chrome/browser/metrics/metrics_service.cc +++ b/chrome/browser/metrics/metrics_service.cc @@ -155,13 +155,16 @@ // //------------------------------------------------------------------------------ +#if defined(OS_WIN) #include <windows.h> +#endif #include "chrome/browser/metrics/metrics_service.h" #include "base/file_path.h" #include "base/histogram.h" #include "base/path_service.h" +#include "base/platform_thread.h" #include "base/string_util.h" #include "base/task.h" #include "chrome/browser/bookmarks/bookmark_model.h" @@ -170,7 +173,6 @@ #include "chrome/browser/browser_process.h" #include "chrome/browser/load_notification_details.h" #include "chrome/browser/memory_details.h" -#include "chrome/browser/plugin_service.h" #include "chrome/browser/profile.h" #include "chrome/browser/renderer_host/render_process_host.h" #include "chrome/browser/search_engines/template_url.h" @@ -182,11 +184,18 @@ #include "chrome/common/pref_names.h" #include "chrome/common/pref_service.h" #include "chrome/common/render_messages.h" -#include "chrome/installer/util/google_update_settings.h" #include "googleurl/src/gurl.h" #include "net/base/load_flags.h" #include "third_party/bzip2/bzlib.h" +#if defined(OS_POSIX) +// TODO(port): Move these headers above as they are ported. +#include "chrome/common/temp_scaffolding_stubs.h" +#else +#include "chrome/browser/plugin_service.h" +#include "chrome/installer/util/google_update_settings.h" +#endif + using base::Time; using base::TimeDelta; @@ -615,6 +624,7 @@ void MetricsService::OnGetPluginListTaskComplete() { } std::string MetricsService::GenerateClientID() { +#if defined(OS_WIN) const int kGUIDSize = 39; GUID guid; @@ -627,6 +637,11 @@ std::string MetricsService::GenerateClientID() { DCHECK(result == kGUIDSize); return WideToUTF8(guid_string.substr(1, guid_string.length() - 2)); +#else + // TODO(port): Implement for Mac and linux. + NOTIMPLEMENTED(); + return std::string(); +#endif } @@ -780,7 +795,8 @@ void MetricsService::PushPendingLogTextToUnsentOngoingLogs() { if (!server_permits_upload_) return; - if (pending_log_text_.length() > kUploadLogAvoidRetransmitSize) { + if (pending_log_text_.length() > + static_cast<size_t>(kUploadLogAvoidRetransmitSize)) { UMA_HISTOGRAM_COUNTS(L"UMA.Large Accumulated Log Not Persisted", static_cast<int>(pending_log_text_.length())); return; @@ -1169,10 +1185,11 @@ void MetricsService::OnURLFetchComplete(const URLFetcher* source, StatusToString(status); // Provide boolean for error recovery (allow us to ignore response_code). - boolean discard_log = false; + bool discard_log = false; if (response_code != 200 && - pending_log_text_.length() > kUploadLogAvoidRetransmitSize) { + pending_log_text_.length() > + static_cast<size_t>(kUploadLogAvoidRetransmitSize)) { UMA_HISTOGRAM_COUNTS(L"UMA.Large Rejected Log was Discarded", static_cast<int>(pending_log_text_.length())); discard_log = true; @@ -1413,8 +1430,6 @@ bool MetricsService::ProbabilityTest(double probability, // client_id_ we need in order to make a nice pseudorandomish // number in the range [0,denominator). Too many digits is // fine. - int relevant_digits = - static_cast<int>(log10(static_cast<double>(denominator)) + 1.0); // n is the length of the client_id_ string size_t n = client_id_.size(); @@ -1775,8 +1790,8 @@ void MetricsService::AddProfileMetric(Profile* profile, } static bool IsSingleThreaded() { - static int thread_id = 0; + static PlatformThreadId thread_id = 0; if (!thread_id) - thread_id = GetCurrentThreadId(); - return GetCurrentThreadId() == thread_id; + thread_id = PlatformThread::CurrentId(); + return PlatformThread::CurrentId() == thread_id; } diff --git a/chrome/browser/tab_contents/web_contents.cc b/chrome/browser/tab_contents/web_contents.cc index e3de324..5920056 100644 --- a/chrome/browser/tab_contents/web_contents.cc +++ b/chrome/browser/tab_contents/web_contents.cc @@ -18,6 +18,7 @@ #include "chrome/browser/js_before_unload_handler.h" #include "chrome/browser/jsmessage_box_handler.h" #include "chrome/browser/load_from_memory_cache_details.h" +#include "chrome/browser/load_notification_details.h" #include "chrome/browser/profile.h" #include "chrome/browser/renderer_host/render_process_host.h" #include "chrome/browser/renderer_host/render_view_host.h" @@ -43,7 +44,6 @@ #include "chrome/browser/download/download_manager.h" #include "chrome/browser/download/download_request_manager.h" #include "chrome/browser/gears_integration.h" -#include "chrome/browser/load_notification_details.h" #include "chrome/browser/modal_html_dialog_delegate.h" #include "chrome/browser/password_manager/password_manager.h" #include "chrome/browser/plugin_installer.h" diff --git a/chrome/chrome.xcodeproj/project.pbxproj b/chrome/chrome.xcodeproj/project.pbxproj index 5122b6c..d03152b 100644 --- a/chrome/chrome.xcodeproj/project.pbxproj +++ b/chrome/chrome.xcodeproj/project.pbxproj @@ -344,6 +344,7 @@ B9BF55F87A4BB2FD366B6DDC /* template_url_parser.cc in Sources */ = {isa = PBXBuildFile; fileRef = 28AA584AB2ECFB33C7C7FD8A /* template_url_parser.cc */; }; BA3176FD0F410A2F0065D532 /* tab_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = B6CCB9EA0F1EC32700106F0D /* tab_util.cc */; }; BA60A6800F3CB09F005A6703 /* protocol_manager_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFAD70E9D49DE009A6919 /* protocol_manager_unittest.cc */; }; + BA9BC10B0F44D40800588450 /* metrics_service.cc in Sources */ = {isa = PBXBuildFile; fileRef = B555B2170F21504D00F751B9 /* metrics_service.cc */; }; BAA609ED0F3BCAA800783510 /* protocol_manager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D7BFAD50E9D49DE009A6919 /* protocol_manager.cc */; }; BAC2B7A80F43595A0063A33E /* resource_dispatcher_host_unittest.cc in Sources */ = {isa = PBXBuildFile; fileRef = BAC2B7A70F43594A0063A33E /* resource_dispatcher_host_unittest.cc */; }; BAC2B8AD0F436C7F0063A33E /* cross_site_resource_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = A7C613DC0F30D886008CEE5D /* cross_site_resource_handler.cc */; }; @@ -2559,6 +2560,8 @@ B6CCB9F80F1EC32700106F0D /* web_drop_target.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = web_drop_target.cc; path = tab_contents/web_drop_target.cc; sourceTree = "<group>"; }; B6CCB9F90F1EC32700106F0D /* web_drop_target.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = web_drop_target.h; path = tab_contents/web_drop_target.h; sourceTree = "<group>"; }; B94B5B0CBF4D7FAC48BB1AE2 /* backing_store_posix.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = backing_store_posix.cc; path = renderer_host/backing_store_posix.cc; sourceTree = "<group>"; }; + BA9BC2620F44DCBE00588450 /* child_process_info.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = child_process_info.cc; sourceTree = "<group>"; }; + BA9BC2630F44DCC400588450 /* child_process_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = child_process_info.h; sourceTree = "<group>"; }; BAC2B7A70F43594A0063A33E /* resource_dispatcher_host_unittest.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = resource_dispatcher_host_unittest.cc; path = renderer_host/resource_dispatcher_host_unittest.cc; sourceTree = "<group>"; }; BADB8B6D0F3A356000989B26 /* resource_dispatcher_host.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = resource_dispatcher_host.cc; path = renderer_host/resource_dispatcher_host.cc; sourceTree = "<group>"; }; BADB8BD20F3A4E4900989B26 /* resource_dispatcher_host.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = resource_dispatcher_host.h; path = renderer_host/resource_dispatcher_host.h; sourceTree = "<group>"; }; @@ -3586,6 +3589,8 @@ 4D7BFB880E9D4C9F009A6919 /* bzip2_unittest.cc */, 4D7BFB890E9D4C9F009A6919 /* child_process.cc */, 4D7BFB8A0E9D4C9F009A6919 /* child_process.h */, + BA9BC2620F44DCBE00588450 /* child_process_info.cc */, + BA9BC2630F44DCC400588450 /* child_process_info.h */, 4D7BFB8B0E9D4C9F009A6919 /* chrome_constants.cc */, 4D7BFB8C0E9D4C9F009A6919 /* chrome_constants.h */, 4D7BFB8D0E9D4C9F009A6919 /* chrome_counters.cc */, @@ -5360,6 +5365,7 @@ 4D7BF9A00E9D4875009A6919 /* meta_table_helper.cc in Sources */, B555B2230F21506300F751B9 /* metrics_log.cc in Sources */, B555B2240F21506700F751B9 /* metrics_response.cc in Sources */, + BA9BC10B0F44D40800588450 /* metrics_service.cc in Sources */, E45075CD0F150741003BE099 /* mork_reader.cc in Sources */, E434C3740F3A464400B665C7 /* navigation_controller.cc in Sources */, E434BBAA0F37D4EA00B665C7 /* navigation_entry.cc in Sources */, diff --git a/chrome/common/temp_scaffolding_stubs.cc b/chrome/common/temp_scaffolding_stubs.cc index 46d7a78..89af029 100644 --- a/chrome/common/temp_scaffolding_stubs.cc +++ b/chrome/common/temp_scaffolding_stubs.cc @@ -20,6 +20,7 @@ #include "chrome/browser/debugger/debugger_shell.h" #include "chrome/browser/first_run.h" #include "chrome/browser/history/in_memory_history_backend.h" +#include "chrome/browser/memory_details.h" #include "chrome/browser/profile_manager.h" #include "chrome/browser/renderer_host/render_widget_helper.h" #include "chrome/browser/renderer_host/resource_message_filter.h" @@ -489,3 +490,11 @@ std::wstring GetCleanStringFromUrl(const GURL& url, } } #endif + +MemoryDetails::MemoryDetails() { + NOTIMPLEMENTED(); +} + +void MemoryDetails::StartFetch() { + NOTIMPLEMENTED(); +} diff --git a/chrome/common/temp_scaffolding_stubs.h b/chrome/common/temp_scaffolding_stubs.h index 51e0cc4..607f0f3 100644 --- a/chrome/common/temp_scaffolding_stubs.h +++ b/chrome/common/temp_scaffolding_stubs.h @@ -280,18 +280,6 @@ class SessionRestore { static size_t num_tabs_to_load_; }; -class MetricsService { - public: - MetricsService() { } - ~MetricsService() { } - void Start() { NOTIMPLEMENTED(); } - void StartRecordingOnly() { NOTIMPLEMENTED(); } - void Stop() { NOTIMPLEMENTED(); } - void SetUserPermitsUpload(bool enabled) { NOTIMPLEMENTED(); } - void RecordCleanShutdown() { NOTIMPLEMENTED(); } - void RecordStartOfSessionEnd() { NOTIMPLEMENTED(); } -}; - namespace browser { void RegisterAllPrefs(PrefService*, PrefService*); } @@ -645,12 +633,6 @@ class ConfirmInfoBarDelegate : public InfoBarDelegate { }; }; -class LoadNotificationDetails { - public: - LoadNotificationDetails(const GURL&, PageTransition::Type, - base::TimeDelta, NavigationController*, int) { } -}; - class TabContents : public PageNavigator, public NotificationObserver { public: enum InvalidateTypes { |