summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorpaul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-13 01:25:50 +0000
committerpaul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-13 01:25:50 +0000
commitdc6f4969d7dec0ea0e11f2f11987b6380e3b3e8e (patch)
treeee6bd37c4acd908d6dd5bf02e365381a6a8e65ac /chrome
parent0fec82d31ca706484262f82834af8597513fc20f (diff)
downloadchromium_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
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/browser.scons1
-rw-r--r--chrome/browser/browser_main.cc2
-rw-r--r--chrome/browser/browser_process_impl.cc2
-rw-r--r--chrome/browser/load_notification_details.h8
-rw-r--r--chrome/browser/metrics/metrics_service.cc35
-rw-r--r--chrome/browser/tab_contents/web_contents.cc2
-rw-r--r--chrome/chrome.xcodeproj/project.pbxproj6
-rw-r--r--chrome/common/temp_scaffolding_stubs.cc9
-rw-r--r--chrome/common/temp_scaffolding_stubs.h18
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 {