diff options
author | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-08 23:14:39 +0000 |
---|---|---|
committer | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-08 23:14:39 +0000 |
commit | 91a2aeac66b45ac32f809d184c9e456afc7a922e (patch) | |
tree | 7c6ef0c47bb89372c0fec14831fed4db096cd9d4 /content | |
parent | 89d9b38895a1cf9a9205683118da437c72c274d1 (diff) | |
download | chromium_src-91a2aeac66b45ac32f809d184c9e456afc7a922e.zip chromium_src-91a2aeac66b45ac32f809d184c9e456afc7a922e.tar.gz chromium_src-91a2aeac66b45ac32f809d184c9e456afc7a922e.tar.bz2 |
Process names, and predictable thread and process ordering in about:tracing
R=dsinclair
Review URL: https://chromiumcodereview.appspot.com/17451017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210437 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/browser_main.cc | 4 | ||||
-rw-r--r-- | content/common/content_constants_internal.cc | 9 | ||||
-rw-r--r-- | content/common/content_constants_internal.h | 11 | ||||
-rw-r--r-- | content/gpu/gpu_main.cc | 4 | ||||
-rw-r--r-- | content/plugin/plugin_main.cc | 4 | ||||
-rw-r--r-- | content/ppapi_plugin/ppapi_broker_main.cc | 4 | ||||
-rw-r--r-- | content/ppapi_plugin/ppapi_plugin_main.cc | 4 | ||||
-rw-r--r-- | content/renderer/render_thread_impl.cc | 5 | ||||
-rw-r--r-- | content/renderer/render_view_impl.cc | 5 | ||||
-rw-r--r-- | content/renderer/renderer_main.cc | 4 |
10 files changed, 54 insertions, 0 deletions
diff --git a/content/browser/browser_main.cc b/content/browser/browser_main.cc index df6a4e0..640ccee 100644 --- a/content/browser/browser_main.cc +++ b/content/browser/browser_main.cc @@ -5,6 +5,7 @@ #include "content/browser/browser_main.h" #include "base/debug/trace_event.h" +#include "content/common/content_constants_internal.h" #include "content/public/browser/browser_main_runner.h" namespace content { @@ -12,6 +13,9 @@ namespace content { // Main routine for running as the Browser process. int BrowserMain(const MainFunctionParams& parameters) { TRACE_EVENT_BEGIN_ETW("BrowserMain", 0, ""); + base::debug::TraceLog::GetInstance()->SetProcessName("Browser"); + base::debug::TraceLog::GetInstance()->SetProcessSortIndex( + kTraceEventBrowserProcessSortIndex); scoped_ptr<BrowserMainRunner> main_runner(BrowserMainRunner::Create()); diff --git a/content/common/content_constants_internal.cc b/content/common/content_constants_internal.cc index 45316c3..c2bcaff 100644 --- a/content/common/content_constants_internal.cc +++ b/content/common/content_constants_internal.cc @@ -8,4 +8,13 @@ namespace content { const int kHungRendererDelayMs = 30000; +const int kTraceEventBrowserProcessSortIndex = -6; +const int kTraceEventRendererProcessSortIndex = -5; +const int kTraceEventPluginProcessSortIndex = -4; +const int kTraceEventPpapiProcessSortIndex = -3; +const int kTraceEventPpapiBrokerProcessSortIndex = -2; +const int kTraceEventGpuProcessSortIndex = -1; + +const int kTraceEventRendererMainThreadSortIndex = -1; + } // namespace content diff --git a/content/common/content_constants_internal.h b/content/common/content_constants_internal.h index b69bb4a..ddb082f 100644 --- a/content/common/content_constants_internal.h +++ b/content/common/content_constants_internal.h @@ -12,6 +12,17 @@ namespace content { // How long to wait before we consider a renderer hung. CONTENT_EXPORT extern const int kHungRendererDelayMs; +// Constants used to organize content processes in about:tracing. +CONTENT_EXPORT extern const int kTraceEventBrowserProcessSortIndex; +CONTENT_EXPORT extern const int kTraceEventRendererProcessSortIndex; +CONTENT_EXPORT extern const int kTraceEventPluginProcessSortIndex; +CONTENT_EXPORT extern const int kTraceEventPpapiProcessSortIndex; +CONTENT_EXPORT extern const int kTraceEventPpapiBrokerProcessSortIndex; +CONTENT_EXPORT extern const int kTraceEventGpuProcessSortIndex; + +// Constants used to organize content threads in about:tracing. +CONTENT_EXPORT extern const int kTraceEventRendererMainThreadSortIndex; + } // namespace content #endif // CONTENT_COMMON_CONTENT_CONSTANTS_INTERNAL_H_ diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc index 221361f..22a8bf3 100644 --- a/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc @@ -17,6 +17,7 @@ #include "base/threading/platform_thread.h" #include "build/build_config.h" #include "content/child/child_process.h" +#include "content/common/content_constants_internal.h" #include "content/common/gpu/gpu_config.h" #include "content/common/gpu/gpu_messages.h" #include "content/common/sandbox_linux.h" @@ -84,6 +85,9 @@ bool GpuProcessLogMessageHandler(int severity, // Main function for starting the Gpu process. int GpuMain(const MainFunctionParams& parameters) { TRACE_EVENT0("gpu", "GpuMain"); + base::debug::TraceLog::GetInstance()->SetProcessName("GPU Process"); + base::debug::TraceLog::GetInstance()->SetProcessSortIndex( + kTraceEventGpuProcessSortIndex); const CommandLine& command_line = parameters.command_line; if (command_line.HasSwitch(switches::kGpuStartupDialog)) { diff --git a/content/plugin/plugin_main.cc b/content/plugin/plugin_main.cc index 69415e0..d8518a8 100644 --- a/content/plugin/plugin_main.cc +++ b/content/plugin/plugin_main.cc @@ -16,6 +16,7 @@ #include "base/threading/platform_thread.h" #include "base/timer/hi_res_timer_manager.h" #include "content/child/child_process.h" +#include "content/common/content_constants_internal.h" #include "content/plugin/plugin_thread.h" #include "content/public/common/content_switches.h" #include "content/public/common/main_function_params.h" @@ -54,6 +55,9 @@ int PluginMain(const MainFunctionParams& parameters) { #endif base::MessageLoop main_message_loop(base::MessageLoop::TYPE_UI); base::PlatformThread::SetName("CrPluginMain"); + base::debug::TraceLog::GetInstance()->SetProcessName("Plugin Process"); + base::debug::TraceLog::GetInstance()->SetProcessSortIndex( + kTraceEventPluginProcessSortIndex); base::PowerMonitor power_monitor; base::HighResolutionTimerManager high_resolution_timer_manager; diff --git a/content/ppapi_plugin/ppapi_broker_main.cc b/content/ppapi_plugin/ppapi_broker_main.cc index 0fd01f8..3c467a3 100644 --- a/content/ppapi_plugin/ppapi_broker_main.cc +++ b/content/ppapi_plugin/ppapi_broker_main.cc @@ -6,6 +6,7 @@ #include "base/threading/platform_thread.h" #include "build/build_config.h" #include "content/child/child_process.h" +#include "content/common/content_constants_internal.h" #include "content/ppapi_plugin/ppapi_thread.h" #include "content/public/common/content_switches.h" #include "content/public/common/main_function_params.h" @@ -21,6 +22,9 @@ int PpapiBrokerMain(const MainFunctionParams& parameters) { base::MessageLoop main_message_loop(base::MessageLoop::TYPE_DEFAULT); base::PlatformThread::SetName("CrPPAPIBrokerMain"); + base::debug::TraceLog::GetInstance()->SetProcessName("PPAPI Broker Process"); + base::debug::TraceLog::GetInstance()->SetProcessSortIndex( + kTraceEventPpapiBrokerProcessSortIndex); ChildProcess ppapi_broker_process; ppapi_broker_process.set_main_thread( diff --git a/content/ppapi_plugin/ppapi_plugin_main.cc b/content/ppapi_plugin/ppapi_plugin_main.cc index ca73f49..c6fb5be 100644 --- a/content/ppapi_plugin/ppapi_plugin_main.cc +++ b/content/ppapi_plugin/ppapi_plugin_main.cc @@ -9,6 +9,7 @@ #include "base/threading/platform_thread.h" #include "build/build_config.h" #include "content/child/child_process.h" +#include "content/common/content_constants_internal.h" #include "content/common/sandbox_linux.h" #include "content/ppapi_plugin/ppapi_thread.h" #include "content/public/common/content_client.h" @@ -81,6 +82,9 @@ int PpapiPluginMain(const MainFunctionParams& parameters) { base::MessageLoop main_message_loop; base::PlatformThread::SetName("CrPPAPIMain"); + base::debug::TraceLog::GetInstance()->SetProcessName("PPAPI Process"); + base::debug::TraceLog::GetInstance()->SetProcessSortIndex( + kTraceEventPpapiProcessSortIndex); #if defined(OS_LINUX) && defined(USE_NSS) // Some out-of-process PPAPI plugins use NSS. diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index aaf2b41..76b4040 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc @@ -36,6 +36,7 @@ #include "content/child/runtime_features.h" #include "content/child/thread_safe_sender.h" #include "content/child/web_database_observer_impl.h" +#include "content/common/content_constants_internal.h" #include "content/common/child_process_messages.h" #include "content/common/database_messages.h" #include "content/common/db_message_filter.h" @@ -316,6 +317,10 @@ RenderThreadImpl::RenderThreadImpl(const std::string& channel_name) void RenderThreadImpl::Init() { TRACE_EVENT_BEGIN_ETW("RenderThreadImpl::Init", 0, ""); + base::debug::TraceLog::GetInstance()->SetThreadSortIndex( + base::PlatformThread::CurrentId(), + kTraceEventRendererMainThreadSortIndex); + v8::V8::SetCounterFunction(base::StatsTable::FindLocation); v8::V8::SetCreateHistogramFunction(CreateHistogram); v8::V8::SetAddHistogramSampleFunction(AddHistogramSample); diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index 64a907c..d2a93bf 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -982,6 +982,8 @@ RenderViewImpl::~RenderViewImpl() { if (decrement_shared_popup_at_destruction_) shared_popup_counter_->data--; + base::debug::TraceLog::GetInstance()->RemoveProcessLabel(routing_id_); + // If file chooser is still waiting for answer, dispatch empty answer. while (!file_chooser_completions_.empty()) { if (file_chooser_completions_.front()->completion) { @@ -1973,6 +1975,9 @@ void RenderViewImpl::UpdateTitle(WebFrame* frame, if (frame->parent()) return; + base::debug::TraceLog::GetInstance()->UpdateProcessLabel( + routing_id_, UTF16ToUTF8(title)); + string16 shortened_title = title.substr(0, kMaxTitleChars); Send(new ViewHostMsg_UpdateTitle(routing_id_, page_id_, shortened_title, title_direction)); diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc index 0cfc505..942db83 100644 --- a/content/renderer/renderer_main.cc +++ b/content/renderer/renderer_main.cc @@ -23,6 +23,7 @@ #include "base/time/time.h" #include "base/timer/hi_res_timer_manager.h" #include "content/child/child_process.h" +#include "content/common/content_constants_internal.h" #include "content/common/pepper_plugin_registry.h" #include "content/public/common/content_switches.h" #include "content/public/common/main_function_params.h" @@ -110,6 +111,9 @@ class MemoryObserver : public base::MessageLoop::TaskObserver { // mainline routine for running as the Renderer process int RendererMain(const MainFunctionParams& parameters) { TRACE_EVENT_BEGIN_ETW("RendererMain", 0, ""); + base::debug::TraceLog::GetInstance()->SetProcessName("Renderer"); + base::debug::TraceLog::GetInstance()->SetProcessSortIndex( + kTraceEventRendererProcessSortIndex); const CommandLine& parsed_command_line = parameters.command_line; |