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

Unified Diff: chrome/renderer/leak_detector/leak_detector_remote_client.cc

Issue 2062743002: Randomly enable leak detector based on probability parameter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use RenderThreadObserver interface to shutdown remote client on same thread Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/leak_detector/leak_detector_remote_client.cc
diff --git a/chrome/renderer/leak_detector/leak_detector_remote_client.cc b/chrome/renderer/leak_detector/leak_detector_remote_client.cc
index f22f73211e76c949359fa435850a00bf6d6236ef..80e65ff8763c42775cbd2530dc800d054f972fb3 100644
--- a/chrome/renderer/leak_detector/leak_detector_remote_client.cc
+++ b/chrome/renderer/leak_detector/leak_detector_remote_client.cc
@@ -28,17 +28,6 @@ LeakDetectorRemoteClient::~LeakDetectorRemoteClient() {
metrics::LeakDetector::GetInstance()->RemoveObserver(this);
}
-void LeakDetectorRemoteClient::OnParamsReceived(
- mojo::StructPtr<metrics::mojom::LeakDetectorParams> result) {
- metrics::MemoryLeakReportProto::Params params;
- metrics::leak_detector::protobuf_to_mojo_converter::MojoToParams(*result,
- &params);
-
- metrics::LeakDetector* detector = metrics::LeakDetector::GetInstance();
- detector->AddObserver(this);
- detector->Init(params, base::ThreadTaskRunnerHandle::Get());
-}
-
void LeakDetectorRemoteClient::OnLeaksFound(
const std::vector<metrics::MemoryLeakReportProto>& reports) {
std::vector<mojo::StructPtr<metrics::mojom::MemoryLeakReport>> result;
@@ -53,3 +42,20 @@ void LeakDetectorRemoteClient::OnLeaksFound(
remote_service_->SendLeakReports(std::move(result));
}
+
+void LeakDetectorRemoteClient::OnRenderProcessShutdown() {
+ remote_service_.reset();
+}
+
+void LeakDetectorRemoteClient::OnParamsReceived(
+ mojo::StructPtr<metrics::mojom::LeakDetectorParams> result) {
+ metrics::MemoryLeakReportProto::Params params;
+ metrics::leak_detector::protobuf_to_mojo_converter::MojoToParams(*result,
+ &params);
+
+ if (params.sampling_rate() > 0) {
+ metrics::LeakDetector* detector = metrics::LeakDetector::GetInstance();
+ detector->AddObserver(this);
+ detector->Init(params, base::ThreadTaskRunnerHandle::Get());
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698