Index: content/browser/tracing/background_tracing_manager_impl.cc |
diff --git a/content/browser/tracing/background_tracing_manager_impl.cc b/content/browser/tracing/background_tracing_manager_impl.cc |
index 21d6125b788d6f955b14abdd767a639fb0de19a8..ca4d693d294bcdeb371bb4311b72880d7104d351 100644 |
--- a/content/browser/tracing/background_tracing_manager_impl.cc |
+++ b/content/browser/tracing/background_tracing_manager_impl.cc |
@@ -9,6 +9,7 @@ |
#include "base/json/json_writer.h" |
#include "base/macros.h" |
#include "base/metrics/histogram_macros.h" |
+#include "base/rand_util.h" |
#include "base/sys_info.h" |
#include "base/time/time.h" |
#include "content/browser/tracing/background_tracing_rule.h" |
@@ -314,6 +315,13 @@ void BackgroundTracingManagerImpl::OnRuleTriggered( |
StartedFinalizingCallback callback) { |
CHECK(config_); |
+ float trigger_chance = triggered_rule->trigger_chance(); |
+ if (trigger_chance < 1.0f && base::RandDouble() > trigger_chance) { |
shatch
2015/10/30 19:17:06
nit: consistent using float or double?
oystein (OOO til 10th of July)
2015/10/30 19:24:47
Done.
|
+ if (!callback.is_null()) |
+ callback.Run(false); |
+ return; |
+ } |
+ |
int trace_timeout = triggered_rule->GetTraceTimeout(); |
if (config_->tracing_mode() == BackgroundTracingConfigImpl::REACTIVE) { |