Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: chrome/renderer/chrome_render_process_observer.cc

Issue 10041017: Show gpu process stats in about:tcmalloc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address nits, call OnStatsForChildProcess directly from IO thread instead of posting to UI Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/chrome_render_process_observer.h" 5 #include "chrome/renderer/chrome_render_process_observer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 bool ChromeRenderProcessObserver::OnControlMessageReceived( 207 bool ChromeRenderProcessObserver::OnControlMessageReceived(
208 const IPC::Message& message) { 208 const IPC::Message& message) {
209 bool handled = true; 209 bool handled = true;
210 IPC_BEGIN_MESSAGE_MAP(ChromeRenderProcessObserver, message) 210 IPC_BEGIN_MESSAGE_MAP(ChromeRenderProcessObserver, message)
211 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess, 211 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetIsIncognitoProcess,
212 OnSetIsIncognitoProcess) 212 OnSetIsIncognitoProcess)
213 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetCacheCapacities, OnSetCacheCapacities) 213 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetCacheCapacities, OnSetCacheCapacities)
214 IPC_MESSAGE_HANDLER(ChromeViewMsg_ClearCache, OnClearCache) 214 IPC_MESSAGE_HANDLER(ChromeViewMsg_ClearCache, OnClearCache)
215 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup) 215 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetFieldTrialGroup, OnSetFieldTrialGroup)
216 #if defined(USE_TCMALLOC) 216 #if defined(USE_TCMALLOC)
217 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetRendererTcmalloc,
218 OnGetRendererTcmalloc)
219 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetTcmallocHeapProfiling, 217 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetTcmallocHeapProfiling,
220 OnSetTcmallocHeapProfiling) 218 OnSetTcmallocHeapProfiling)
221 IPC_MESSAGE_HANDLER(ChromeViewMsg_WriteTcmallocHeapProfile, 219 IPC_MESSAGE_HANDLER(ChromeViewMsg_WriteTcmallocHeapProfile,
222 OnWriteTcmallocHeapProfile) 220 OnWriteTcmallocHeapProfile)
223 #endif 221 #endif
224 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetV8HeapStats, OnGetV8HeapStats) 222 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetV8HeapStats, OnGetV8HeapStats)
225 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetCacheResourceStats, 223 IPC_MESSAGE_HANDLER(ChromeViewMsg_GetCacheResourceStats,
226 OnGetCacheResourceStats) 224 OnGetCacheResourceStats)
227 IPC_MESSAGE_HANDLER(ChromeViewMsg_PurgeMemory, OnPurgeMemory) 225 IPC_MESSAGE_HANDLER(ChromeViewMsg_PurgeMemory, OnPurgeMemory)
228 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules, 226 IPC_MESSAGE_HANDLER(ChromeViewMsg_SetContentSettingRules,
(...skipping 28 matching lines...) Expand all
257 } 255 }
258 } 256 }
259 257
260 void ChromeRenderProcessObserver::OnGetCacheResourceStats() { 258 void ChromeRenderProcessObserver::OnGetCacheResourceStats() {
261 WebCache::ResourceTypeStats stats; 259 WebCache::ResourceTypeStats stats;
262 WebCache::getResourceTypeStats(&stats); 260 WebCache::getResourceTypeStats(&stats);
263 RenderThread::Get()->Send(new ChromeViewHostMsg_ResourceTypeStats(stats)); 261 RenderThread::Get()->Send(new ChromeViewHostMsg_ResourceTypeStats(stats));
264 } 262 }
265 263
266 #if defined(USE_TCMALLOC) 264 #if defined(USE_TCMALLOC)
267 void ChromeRenderProcessObserver::OnGetRendererTcmalloc() {
268 std::string result;
269 char buffer[1024 * 32];
270 MallocExtension::instance()->GetStats(buffer, sizeof(buffer));
271 result.append(buffer);
272 RenderThread::Get()->Send(new ChromeViewHostMsg_RendererTcmalloc(result));
273 }
274
275 void ChromeRenderProcessObserver::OnSetTcmallocHeapProfiling( 265 void ChromeRenderProcessObserver::OnSetTcmallocHeapProfiling(
276 bool profiling, const std::string& filename_prefix) { 266 bool profiling, const std::string& filename_prefix) {
277 #if !defined(OS_WIN) 267 #if !defined(OS_WIN)
278 // TODO(stevenjb): Create MallocExtension wrappers for HeapProfile functions. 268 // TODO(stevenjb): Create MallocExtension wrappers for HeapProfile functions.
279 if (profiling) 269 if (profiling)
280 HeapProfilerStart(filename_prefix.c_str()); 270 HeapProfilerStart(filename_prefix.c_str());
281 else 271 else
282 HeapProfilerStop(); 272 HeapProfilerStop();
283 #endif 273 #endif
284 } 274 }
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 if (clear_cache_pending_) { 342 if (clear_cache_pending_) {
353 clear_cache_pending_ = false; 343 clear_cache_pending_ = false;
354 WebCache::clear(); 344 WebCache::clear();
355 } 345 }
356 } 346 }
357 347
358 const RendererContentSettingRules* 348 const RendererContentSettingRules*
359 ChromeRenderProcessObserver::content_setting_rules() const { 349 ChromeRenderProcessObserver::content_setting_rules() const {
360 return &content_setting_rules_; 350 return &content_setting_rules_;
361 } 351 }
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_render_process_observer.h ('k') | content/browser/profiler_controller_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698