| 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..5f1e8df0766e2ff692d4782540ea077c176cda0a 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_);
|
|
|
| + double trigger_chance = triggered_rule->trigger_chance();
|
| + if (trigger_chance < 1.0 && base::RandDouble() > trigger_chance) {
|
| + if (!callback.is_null())
|
| + callback.Run(false);
|
| + return;
|
| + }
|
| +
|
| int trace_timeout = triggered_rule->GetTraceTimeout();
|
|
|
| if (config_->tracing_mode() == BackgroundTracingConfigImpl::REACTIVE) {
|
|
|