Commit 7f500d7f authored by Oksana Zhuravlova's avatar Oksana Zhuravlova Committed by Commit Bot

[aw][tracing] Pass field trial name to GetBGTracingConfig()

Since the background tracing trial names are different for Chrome and
WebView, this change makes the trial name a parameter of
BackgroundTracingManager::GetBackgroundTracingConfig().

Bug: b/170513316
Change-Id: I963d6d34e87d70633fab9cfda36d96ba8ab770f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2523904
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Reviewed-by: default avatarMichael Bai <michaelbai@chromium.org>
Reviewed-by: default avatarEric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#825959}
parent 1010feef
......@@ -11,10 +11,12 @@
namespace android_webview {
const char kBackgroundTracingFieldTrial[] = "BackgroundWebviewTracing";
void SetupBackgroundTracingFieldTrial() {
std::unique_ptr<content::BackgroundTracingConfig> config =
content::BackgroundTracingManager::GetInstance()
->GetBackgroundTracingConfig();
->GetBackgroundTracingConfig(kBackgroundTracingFieldTrial);
if (config &&
config->tracing_mode() == content::BackgroundTracingConfig::SYSTEM &&
......
......@@ -31,6 +31,8 @@ namespace tracing {
namespace {
const char kBackgroundTracingFieldTrial[] = "BackgroundTracing";
void OnBackgroundTracingUploadComplete(
TraceCrashServiceUploader* uploader,
content::BackgroundTracingManager::FinishedProcessingCallback done_callback,
......@@ -111,13 +113,14 @@ void SetupBackgroundTracingFieldTrial() {
std::unique_ptr<content::BackgroundTracingConfig> config =
content::BackgroundTracingManager::GetInstance()
->GetBackgroundTracingConfig();
->GetBackgroundTracingConfig(kBackgroundTracingFieldTrial);
content::BackgroundTracingManager::GetInstance()->SetActiveScenario(
std::move(config),
base::BindRepeating(&BackgroundTracingUploadCallback,
content::BackgroundTracingManager::GetInstance()
->GetBackgroundTracingUploadUrl()),
base::BindRepeating(
&BackgroundTracingUploadCallback,
content::BackgroundTracingManager::GetInstance()
->GetBackgroundTracingUploadUrl(kBackgroundTracingFieldTrial)),
content::BackgroundTracingManager::ANONYMIZE_DATA);
}
......
......@@ -48,7 +48,6 @@
namespace content {
const char kBackgroundTracingFieldTrial[] = "BackgroundTracing";
const char kBackgroundTracingConfig[] = "config";
const char kBackgroundTracingUploadUrl[] = "upload_url";
......@@ -329,15 +328,17 @@ void BackgroundTracingManagerImpl::SetTraceToUpload(
}
}
std::string BackgroundTracingManagerImpl::GetBackgroundTracingUploadUrl() {
return variations::GetVariationParamValue(kBackgroundTracingFieldTrial,
std::string BackgroundTracingManagerImpl::GetBackgroundTracingUploadUrl(
const std::string& trial_name) {
return variations::GetVariationParamValue(trial_name,
kBackgroundTracingUploadUrl);
}
std::unique_ptr<content::BackgroundTracingConfig>
BackgroundTracingManagerImpl::GetBackgroundTracingConfig() {
std::string config_text = variations::GetVariationParamValue(
kBackgroundTracingFieldTrial, kBackgroundTracingConfig);
BackgroundTracingManagerImpl::GetBackgroundTracingConfig(
const std::string& trial_name) {
std::string config_text =
variations::GetVariationParamValue(trial_name, kBackgroundTracingConfig);
if (config_text.empty())
return nullptr;
......
......@@ -115,9 +115,10 @@ class BackgroundTracingManagerImpl : public BackgroundTracingManager {
bool HasTraceToUpload() override;
std::string GetLatestTraceToUpload() override;
void SetTraceToUpload(std::unique_ptr<std::string> trace_data);
std::string GetBackgroundTracingUploadUrl() override;
std::unique_ptr<BackgroundTracingConfig> GetBackgroundTracingConfig()
override;
std::string GetBackgroundTracingUploadUrl(
const std::string& trial_name) override;
std::unique_ptr<BackgroundTracingConfig> GetBackgroundTracingConfig(
const std::string& trial_name) override;
// Add/remove EnabledStateObserver.
CONTENT_EXPORT void AddEnabledStateObserver(EnabledStateObserver* observer);
......
......@@ -100,12 +100,14 @@ class BackgroundTracingManager {
// the serialized trace proto.
virtual std::string GetLatestTraceToUpload() = 0;
// Returns the URL to upload the trace files to.
virtual std::string GetBackgroundTracingUploadUrl() = 0;
// Returns the configuration for background tracing.
virtual std::unique_ptr<BackgroundTracingConfig>
GetBackgroundTracingConfig() = 0;
// Returns the URL for uploading the trace files corresponding to the
// experiment |trial_name|.
virtual std::string GetBackgroundTracingUploadUrl(
const std::string& trial_name) = 0;
// Returns background tracing configuration for the experiment |trial_name|.
virtual std::unique_ptr<BackgroundTracingConfig> GetBackgroundTracingConfig(
const std::string& trial_name) = 0;
// For tests
virtual void AbortScenarioForTesting() = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment