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 @@ ...@@ -11,10 +11,12 @@
namespace android_webview { namespace android_webview {
const char kBackgroundTracingFieldTrial[] = "BackgroundWebviewTracing";
void SetupBackgroundTracingFieldTrial() { void SetupBackgroundTracingFieldTrial() {
std::unique_ptr<content::BackgroundTracingConfig> config = std::unique_ptr<content::BackgroundTracingConfig> config =
content::BackgroundTracingManager::GetInstance() content::BackgroundTracingManager::GetInstance()
->GetBackgroundTracingConfig(); ->GetBackgroundTracingConfig(kBackgroundTracingFieldTrial);
if (config && if (config &&
config->tracing_mode() == content::BackgroundTracingConfig::SYSTEM && config->tracing_mode() == content::BackgroundTracingConfig::SYSTEM &&
......
...@@ -31,6 +31,8 @@ namespace tracing { ...@@ -31,6 +31,8 @@ namespace tracing {
namespace { namespace {
const char kBackgroundTracingFieldTrial[] = "BackgroundTracing";
void OnBackgroundTracingUploadComplete( void OnBackgroundTracingUploadComplete(
TraceCrashServiceUploader* uploader, TraceCrashServiceUploader* uploader,
content::BackgroundTracingManager::FinishedProcessingCallback done_callback, content::BackgroundTracingManager::FinishedProcessingCallback done_callback,
...@@ -111,13 +113,14 @@ void SetupBackgroundTracingFieldTrial() { ...@@ -111,13 +113,14 @@ void SetupBackgroundTracingFieldTrial() {
std::unique_ptr<content::BackgroundTracingConfig> config = std::unique_ptr<content::BackgroundTracingConfig> config =
content::BackgroundTracingManager::GetInstance() content::BackgroundTracingManager::GetInstance()
->GetBackgroundTracingConfig(); ->GetBackgroundTracingConfig(kBackgroundTracingFieldTrial);
content::BackgroundTracingManager::GetInstance()->SetActiveScenario( content::BackgroundTracingManager::GetInstance()->SetActiveScenario(
std::move(config), std::move(config),
base::BindRepeating(&BackgroundTracingUploadCallback, base::BindRepeating(
content::BackgroundTracingManager::GetInstance() &BackgroundTracingUploadCallback,
->GetBackgroundTracingUploadUrl()), content::BackgroundTracingManager::GetInstance()
->GetBackgroundTracingUploadUrl(kBackgroundTracingFieldTrial)),
content::BackgroundTracingManager::ANONYMIZE_DATA); content::BackgroundTracingManager::ANONYMIZE_DATA);
} }
......
...@@ -48,7 +48,6 @@ ...@@ -48,7 +48,6 @@
namespace content { namespace content {
const char kBackgroundTracingFieldTrial[] = "BackgroundTracing";
const char kBackgroundTracingConfig[] = "config"; const char kBackgroundTracingConfig[] = "config";
const char kBackgroundTracingUploadUrl[] = "upload_url"; const char kBackgroundTracingUploadUrl[] = "upload_url";
...@@ -329,15 +328,17 @@ void BackgroundTracingManagerImpl::SetTraceToUpload( ...@@ -329,15 +328,17 @@ void BackgroundTracingManagerImpl::SetTraceToUpload(
} }
} }
std::string BackgroundTracingManagerImpl::GetBackgroundTracingUploadUrl() { std::string BackgroundTracingManagerImpl::GetBackgroundTracingUploadUrl(
return variations::GetVariationParamValue(kBackgroundTracingFieldTrial, const std::string& trial_name) {
return variations::GetVariationParamValue(trial_name,
kBackgroundTracingUploadUrl); kBackgroundTracingUploadUrl);
} }
std::unique_ptr<content::BackgroundTracingConfig> std::unique_ptr<content::BackgroundTracingConfig>
BackgroundTracingManagerImpl::GetBackgroundTracingConfig() { BackgroundTracingManagerImpl::GetBackgroundTracingConfig(
std::string config_text = variations::GetVariationParamValue( const std::string& trial_name) {
kBackgroundTracingFieldTrial, kBackgroundTracingConfig); std::string config_text =
variations::GetVariationParamValue(trial_name, kBackgroundTracingConfig);
if (config_text.empty()) if (config_text.empty())
return nullptr; return nullptr;
......
...@@ -115,9 +115,10 @@ class BackgroundTracingManagerImpl : public BackgroundTracingManager { ...@@ -115,9 +115,10 @@ class BackgroundTracingManagerImpl : public BackgroundTracingManager {
bool HasTraceToUpload() override; bool HasTraceToUpload() override;
std::string GetLatestTraceToUpload() override; std::string GetLatestTraceToUpload() override;
void SetTraceToUpload(std::unique_ptr<std::string> trace_data); void SetTraceToUpload(std::unique_ptr<std::string> trace_data);
std::string GetBackgroundTracingUploadUrl() override; std::string GetBackgroundTracingUploadUrl(
std::unique_ptr<BackgroundTracingConfig> GetBackgroundTracingConfig() const std::string& trial_name) override;
override; std::unique_ptr<BackgroundTracingConfig> GetBackgroundTracingConfig(
const std::string& trial_name) override;
// Add/remove EnabledStateObserver. // Add/remove EnabledStateObserver.
CONTENT_EXPORT void AddEnabledStateObserver(EnabledStateObserver* observer); CONTENT_EXPORT void AddEnabledStateObserver(EnabledStateObserver* observer);
......
...@@ -100,12 +100,14 @@ class BackgroundTracingManager { ...@@ -100,12 +100,14 @@ class BackgroundTracingManager {
// the serialized trace proto. // the serialized trace proto.
virtual std::string GetLatestTraceToUpload() = 0; virtual std::string GetLatestTraceToUpload() = 0;
// Returns the URL to upload the trace files to. // Returns the URL for uploading the trace files corresponding to the
virtual std::string GetBackgroundTracingUploadUrl() = 0; // experiment |trial_name|.
virtual std::string GetBackgroundTracingUploadUrl(
// Returns the configuration for background tracing. const std::string& trial_name) = 0;
virtual std::unique_ptr<BackgroundTracingConfig>
GetBackgroundTracingConfig() = 0; // Returns background tracing configuration for the experiment |trial_name|.
virtual std::unique_ptr<BackgroundTracingConfig> GetBackgroundTracingConfig(
const std::string& trial_name) = 0;
// For tests // For tests
virtual void AbortScenarioForTesting() = 0; 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