[tracing] Move record_host_app_package_name_ to TrackNameRecorder
It's only used in TrackNameRecorder, this is a small incremental step in breaking down TraceLog. Change-Id: I413f666b9b9ea7bba5d505321c3e4e3e882d11f7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6402133 Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org> Reviewed-by: Nate Fischer <ntfschr@chromium.org> Cr-Commit-Position: refs/heads/main@{#1438831}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
ee7ced32e4
commit
865e0e310e
android_webview/lib
base/trace_event
content/browser/tracing
services/tracing/public/cpp/perfetto
@ -10,6 +10,7 @@ include_rules = [
|
||||
"+components/viz/common",
|
||||
"+content/public",
|
||||
"+device/base/features.h",
|
||||
"+services/tracing/public/cpp/perfetto",
|
||||
"+gin/public",
|
||||
"+gin/v8_initializer.h",
|
||||
"+mojo/core/embedder/embedder.h",
|
||||
|
@ -65,6 +65,7 @@
|
||||
#include "gpu/config/gpu_finch_features.h"
|
||||
#include "media/media_buildflags.h"
|
||||
#include "net/base/features.h"
|
||||
#include "services/tracing/public/cpp/perfetto/track_name_recorder.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/common/switches.h"
|
||||
#include "tools/v8_context_snapshot/buildflags.h"
|
||||
@ -219,7 +220,7 @@ std::optional<int> AwMainDelegate::BasicStartupComplete() {
|
||||
base::BindRepeating(&IsTraceEventArgsAllowlisted));
|
||||
base::trace_event::TraceLog::GetInstance()->SetMetadataFilterPredicate(
|
||||
base::BindRepeating(&IsTraceMetadataAllowlisted));
|
||||
base::trace_event::TraceLog::GetInstance()->SetRecordHostAppPackageName(true);
|
||||
tracing::TrackNameRecorder::GetInstance()->SetRecordHostAppPackageName(true);
|
||||
|
||||
// The TLS slot used by the memlog allocator shim needs to be initialized
|
||||
// early to ensure that it gets assigned a low slot number. If it gets
|
||||
|
@ -569,14 +569,6 @@ MetadataFilterPredicate TraceLog::GetMetadataFilterPredicate() const {
|
||||
return metadata_filter_predicate_;
|
||||
}
|
||||
|
||||
void TraceLog::SetRecordHostAppPackageName(bool record_host_app_package_name) {
|
||||
record_host_app_package_name_ = record_host_app_package_name;
|
||||
}
|
||||
|
||||
bool TraceLog::ShouldRecordHostAppPackageName() const {
|
||||
return record_host_app_package_name_;
|
||||
}
|
||||
|
||||
TraceConfig TraceLog::GetCurrentTraceConfig() const {
|
||||
const auto chrome_config =
|
||||
GetCurrentTrackEventDataSourceConfig().chrome_config();
|
||||
|
@ -144,9 +144,6 @@ class BASE_EXPORT TraceLog : public perfetto::TrackEventSessionObserver {
|
||||
const MetadataFilterPredicate& metadata_filter_predicate);
|
||||
MetadataFilterPredicate GetMetadataFilterPredicate() const;
|
||||
|
||||
void SetRecordHostAppPackageName(bool record_host_app_package_name);
|
||||
bool ShouldRecordHostAppPackageName() const;
|
||||
|
||||
// Flush all collected events to the given output callback. The callback will
|
||||
// be called one or more times either synchronously or asynchronously from
|
||||
// the current thread with IPC-bite-size chunks. The string format is
|
||||
@ -242,7 +239,6 @@ class BASE_EXPORT TraceLog : public perfetto::TrackEventSessionObserver {
|
||||
// Set when asynchronous Flush is in progress.
|
||||
ArgumentFilterPredicate argument_filter_predicate_;
|
||||
MetadataFilterPredicate metadata_filter_predicate_;
|
||||
bool record_host_app_package_name_{false};
|
||||
|
||||
std::unique_ptr<perfetto::TracingSession> tracing_session_;
|
||||
perfetto::TraceConfig perfetto_config_;
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "content/public/test/content_browser_test_utils.h"
|
||||
#include "services/resource_coordinator/public/cpp/memory_instrumentation/tracing_observer_proto.h"
|
||||
#include "services/tracing/public/cpp/perfetto/metadata_data_source.h"
|
||||
#include "services/tracing/public/cpp/perfetto/track_name_recorder.h"
|
||||
#include "services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.h"
|
||||
#include "services/tracing/public/mojom/perfetto_service.mojom.h"
|
||||
#include "testing/gmock/include/gmock/gmock.h"
|
||||
@ -476,7 +477,7 @@ IN_PROC_BROWSER_TEST_F(TracingEndToEndBrowserTest,
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
IN_PROC_BROWSER_TEST_F(TracingEndToEndBrowserTest,
|
||||
PackageNameRecordedTraceLogSet) {
|
||||
base::trace_event::TraceLog::GetInstance()->SetRecordHostAppPackageName(true);
|
||||
tracing::TrackNameRecorder::GetInstance()->SetRecordHostAppPackageName(true);
|
||||
base::test::TestTraceProcessor ttp;
|
||||
ttp.StartTrace(base::test::DefaultTraceConfig("foo", false),
|
||||
perfetto::kCustomBackend);
|
||||
@ -508,8 +509,7 @@ IN_PROC_BROWSER_TEST_F(TracingEndToEndBrowserTest,
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(TracingEndToEndBrowserTest,
|
||||
PackageNameNotRecordedTraceLogNotSet) {
|
||||
base::trace_event::TraceLog::GetInstance()->SetRecordHostAppPackageName(
|
||||
false);
|
||||
tracing::TrackNameRecorder::GetInstance()->SetRecordHostAppPackageName(false);
|
||||
base::test::TestTraceProcessor ttp;
|
||||
ttp.StartTrace(base::test::DefaultTraceConfig("foo", false),
|
||||
perfetto::kCustomBackend);
|
||||
|
@ -109,8 +109,7 @@ void TrackNameRecorder::SetProcessTrackDescriptor(
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Host app package name is only recorded if the corresponding TraceLog
|
||||
// setting is set to true.
|
||||
if (base::trace_event::TraceLog::GetInstance()
|
||||
->ShouldRecordHostAppPackageName()) {
|
||||
if (record_host_app_package_name_) {
|
||||
// Host app package name is used to group information from different
|
||||
// processes that "belong" to the same WebView app.
|
||||
if (process_type == ChromeProcessDescriptor::PROCESS_RENDERER ||
|
||||
@ -200,4 +199,9 @@ void TrackNameRecorder::SetProcessTrackDescriptor() {
|
||||
SetProcessTrackDescriptor(process_name, process_type);
|
||||
}
|
||||
|
||||
void TrackNameRecorder::SetRecordHostAppPackageName(
|
||||
bool record_host_app_package_name) {
|
||||
record_host_app_package_name_ = record_host_app_package_name;
|
||||
}
|
||||
|
||||
} // namespace tracing
|
||||
|
@ -46,6 +46,8 @@ class COMPONENT_EXPORT(TRACING_CPP) TrackNameRecorder
|
||||
void UpdateProcessLabel(int label_id, const std::string& current_label);
|
||||
void RemoveProcessLabel(int label_id);
|
||||
|
||||
void SetRecordHostAppPackageName(bool record_host_app_package_name);
|
||||
|
||||
private:
|
||||
friend class base::NoDestructor<TrackNameRecorder>;
|
||||
using ChromeProcessDescriptor =
|
||||
@ -66,6 +68,7 @@ class COMPONENT_EXPORT(TRACING_CPP) TrackNameRecorder
|
||||
}
|
||||
|
||||
int64_t process_start_timestamp_;
|
||||
bool record_host_app_package_name_{false};
|
||||
|
||||
// This lock protects `process_labels_` member accesses from arbitrary
|
||||
// threads.
|
||||
|
Reference in New Issue
Block a user