| 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 70215ba36275cd92babc9fbfb646ad4638fad115..a22cd60e03968b7816b84085b620162c18086311 100644
|
| --- a/content/browser/tracing/background_tracing_manager_impl.cc
|
| +++ b/content/browser/tracing/background_tracing_manager_impl.cc
|
| @@ -8,6 +8,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"
|
| @@ -281,6 +282,13 @@ void BackgroundTracingManagerImpl::OnRuleTriggered(
|
| StartedFinalizingCallback callback) {
|
| CHECK(config_);
|
|
|
| + float trigger_chance = triggered_rule->trigger_chance();
|
| + if (trigger_chance < 1.0f && base::RandDouble() > trigger_chance) {
|
| + if (!callback.is_null())
|
| + callback.Run(false);
|
| + return;
|
| + }
|
| +
|
| int trace_timeout = triggered_rule->GetTraceTimeout();
|
|
|
| if (config_->tracing_mode() == BackgroundTracingConfigImpl::REACTIVE) {
|
|
|