0

[tracing] Rename disabled-by-default-toplevel.flow to toplevel.flow

toplevel.flow trace events ended up being quite useful. Move them out of
disabled-by-default for better visibility.

R=gab@chromium.org
TBR=rockot@google.com
BUG=932167

Change-Id: I90076f2e776b591ed7a485ed42bf8b64daedc1cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2111310
Commit-Queue: Alexander Timin <altimin@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#770566}
This commit is contained in:
Alexander Timin
2020-05-20 13:28:03 +00:00
committed by Commit Bot
parent b312372f03
commit 2432c73179
12 changed files with 44 additions and 51 deletions

@ -130,7 +130,7 @@ bool MessagePumpLibevent::WatchFileDescriptor(int fd,
// threadsafe, and your watcher may never be registered.
DCHECK(watch_file_descriptor_caller_checker_.CalledOnValidThread());
TRACE_EVENT_WITH_FLOW1(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
TRACE_EVENT_WITH_FLOW1("toplevel.flow",
"MessagePumpLibevent::WatchFileDescriptor",
reinterpret_cast<uintptr_t>(controller) ^ fd,
TRACE_EVENT_FLAG_FLOW_OUT, "fd", fd);
@ -315,11 +315,10 @@ void MessagePumpLibevent::OnLibeventNotification(int fd,
FdWatchController* controller = static_cast<FdWatchController*>(context);
DCHECK(controller);
TRACE_EVENT0("toplevel", "OnLibevent");
TRACE_EVENT_WITH_FLOW1(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"MessagePumpLibevent::OnLibeventNotification",
reinterpret_cast<uintptr_t>(controller) ^ fd,
TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT,
"fd", fd);
TRACE_EVENT_WITH_FLOW1(
"toplevel.flow", "MessagePumpLibevent::OnLibeventNotification",
reinterpret_cast<uintptr_t>(controller) ^ fd,
TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "fd", fd);
TRACE_HEAP_PROFILER_API_SCOPED_TASK_EXECUTION heap_profiler_scope(
controller->created_from_location().file_name());

@ -64,10 +64,10 @@ void TaskAnnotator::WillQueueTask(const char* trace_event_name,
DCHECK(trace_event_name);
DCHECK(pending_task);
DCHECK(task_queue_name);
TRACE_EVENT_WITH_FLOW1(
TRACE_DISABLED_BY_DEFAULT("toplevel.flow"), trace_event_name,
TRACE_ID_LOCAL(GetTaskTraceID(*pending_task)), TRACE_EVENT_FLAG_FLOW_OUT,
"task_queue_name", task_queue_name);
TRACE_EVENT_WITH_FLOW1("toplevel.flow", trace_event_name,
TRACE_ID_LOCAL(GetTaskTraceID(*pending_task)),
TRACE_EVENT_FLAG_FLOW_OUT, "task_queue_name",
task_queue_name);
DCHECK(!pending_task->task_backtrace[0])
<< "Task backtrace was already set, task posted twice??";
@ -98,9 +98,9 @@ void TaskAnnotator::RunTask(const char* trace_event_name,
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("toplevel.ipc"),
"TaskAnnotator::RunTask", "ipc_hash", pending_task->ipc_hash);
TRACE_EVENT_WITH_FLOW0(
TRACE_DISABLED_BY_DEFAULT("toplevel.flow"), trace_event_name,
TRACE_ID_LOCAL(GetTaskTraceID(*pending_task)), TRACE_EVENT_FLAG_FLOW_IN);
TRACE_EVENT_WITH_FLOW0("toplevel.flow", trace_event_name,
TRACE_ID_LOCAL(GetTaskTraceID(*pending_task)),
TRACE_EVENT_FLAG_FLOW_IN);
// Before running the task, store the IPC context and the task backtrace with
// the chain of PostTasks that resulted in this call and deliberately alias it

@ -148,6 +148,7 @@
X("test_gpu") \
X("test_tracing") \
X("toplevel") \
X("toplevel.flow") \
X("ui") \
X("v8") \
X("v8.execute") \
@ -223,7 +224,6 @@
X(TRACE_DISABLED_BY_DEFAULT("SyncFileSystem")) \
X(TRACE_DISABLED_BY_DEFAULT("system_stats")) \
X(TRACE_DISABLED_BY_DEFAULT("thread_pool_diagnostics")) \
X(TRACE_DISABLED_BY_DEFAULT("toplevel.flow")) \
X(TRACE_DISABLED_BY_DEFAULT("toplevel.ipc")) \
X(TRACE_DISABLED_BY_DEFAULT("user_action_samples")) \
X(TRACE_DISABLED_BY_DEFAULT("v8.compile")) \

@ -38,13 +38,12 @@ const base::FilePath::CharType kAndroidTraceConfigFile[] =
FILE_PATH_LITERAL("/data/local/chrome-trace-config.json");
const char kDefaultStartupCategories[] =
"startup,browser,toplevel,disabled-by-default-toplevel.flow,ipc,EarlyJava,"
"cc,Java,navigation,loading,gpu,disabled-by-default-cpu_profiler,download_"
"service,-*";
"startup,browser,toplevel,toplevel.flow,ipc,EarlyJava,cc,Java,navigation,"
"loading,gpu,disabled-by-default-cpu_profiler,download_service,-*";
#else
const char kDefaultStartupCategories[] =
"benchmark,toplevel,startup,disabled-by-default-file,disabled-by-default-"
"toplevel.flow,download_service,-*";
"benchmark,toplevel,startup,disabled-by-default-file,toplevel.flow,"
"download_service,-*";
#endif
// String parameters that can be used to parse the trace config file content.

@ -212,9 +212,8 @@ bool ChannelNacl::Send(Message* message) {
Logging::GetInstance()->OnSendMessage(message_ptr.get());
#endif // BUILDFLAG(IPC_MESSAGE_LOG_ENABLED)
TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"ChannelNacl::Send", message->header()->flags,
TRACE_EVENT_FLAG_FLOW_OUT);
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "ChannelNacl::Send",
message->header()->flags, TRACE_EVENT_FLAG_FLOW_OUT);
output_queue_.push_back(std::move(message_ptr));
if (!waiting_connect_)
return ProcessOutgoingMessages();

@ -51,9 +51,8 @@ void MessagePipeReader::Close() {
bool MessagePipeReader::Send(std::unique_ptr<Message> message) {
CHECK(message->IsValid());
TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"MessagePipeReader::Send", message->flags(),
TRACE_EVENT_FLAG_FLOW_OUT);
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "MessagePipeReader::Send",
message->flags(), TRACE_EVENT_FLAG_FLOW_OUT);
base::Optional<std::vector<mojo::native::SerializedHandlePtr>> handles;
MojoResult result = MOJO_RESULT_OK;
result = ChannelMojo::ReadFromMessageAttachmentSet(message.get(), &handles);
@ -101,9 +100,8 @@ void MessagePipeReader::Receive(MessageView message_view) {
return;
}
TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"MessagePipeReader::Receive", message.flags(),
TRACE_EVENT_FLAG_FLOW_IN);
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "MessagePipeReader::Receive",
message.flags(), TRACE_EVENT_FLAG_FLOW_IN);
delegate_->OnMessageReceived(message);
}

@ -457,7 +457,7 @@ bool SyncChannel::SyncContext::TryToUnblockListener(const Message* msg) {
}
base::WaitableEvent* done_event = deserializers_.back().done_event;
TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
TRACE_EVENT_FLOW_BEGIN0("toplevel.flow",
"SyncChannel::SyncContext::TryToUnblockListener",
done_event);
@ -522,7 +522,7 @@ void SyncChannel::SyncContext::CancelPendingSends() {
PendingSyncMessageQueue::iterator iter;
DVLOG(1) << "Canceling pending sends";
for (iter = deserializers_.begin(); iter != deserializers_.end(); iter++) {
TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
TRACE_EVENT_FLOW_BEGIN0("toplevel.flow",
"SyncChannel::SyncContext::CancelPendingSends",
iter->done_event);
iter->done_event->Signal();
@ -644,8 +644,8 @@ bool SyncChannel::Send(Message* message) {
scoped_refptr<mojo::SyncHandleRegistry> registry = sync_handle_registry_;
WaitForReply(registry.get(), context.get(), pump_messages);
TRACE_EVENT_FLOW_END0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"SyncChannel::Send", context->GetSendDoneEvent());
TRACE_EVENT_FLOW_END0("toplevel.flow", "SyncChannel::Send",
context->GetSendDoneEvent());
return context->Pop();
}

@ -81,8 +81,8 @@ bool SyncMessageFilter::Send(Message* message) {
const bool* stop_flags[] = { &done, &shutdown };
registry->Wait(stop_flags, 2);
if (done) {
TRACE_EVENT_FLOW_END0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"SyncMessageFilter::Send", &done_event);
TRACE_EVENT_FLOW_END0("toplevel.flow", "SyncMessageFilter::Send",
&done_event);
}
registry->UnregisterEvent(shutdown_event_, on_shutdown_callback);
@ -131,7 +131,7 @@ bool SyncMessageFilter::OnMessageReceived(const Message& message) {
(*iter)->send_result =
(*iter)->deserializer->SerializeOutputParameters(message);
}
TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
TRACE_EVENT_FLOW_BEGIN0("toplevel.flow",
"SyncMessageFilter::OnMessageReceived",
(*iter)->done_event);
(*iter)->done_event->Signal();
@ -169,7 +169,7 @@ void SyncMessageFilter::SignalAllEvents() {
lock_.AssertAcquired();
for (PendingSyncMessages::iterator iter = pending_sync_messages_.begin();
iter != pending_sync_messages_.end(); ++iter) {
TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
TRACE_EVENT_FLOW_BEGIN0("toplevel.flow",
"SyncMessageFilter::SignalAllEvents",
(*iter)->done_event);
(*iter)->done_event->Signal();

@ -380,9 +380,8 @@ MojoResult MessagePipeDispatcher::CloseNoLock() {
base::AutoUnlock unlock(signal_lock_);
node_controller_->ClosePort(port_);
TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"MessagePipe closing", pipe_id_ + endpoint_,
TRACE_EVENT_FLAG_FLOW_OUT);
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "MessagePipe closing",
pipe_id_ + endpoint_, TRACE_EVENT_FLAG_FLOW_OUT);
}
return MOJO_RESULT_OK;
@ -433,9 +432,9 @@ HandleSignalsState MessagePipeDispatcher::GetHandleSignalsStateNoLock() const {
rv.satisfied_signals & MOJO_HANDLE_SIGNAL_PEER_CLOSED;
last_known_satisfied_signals_ = rv.satisfied_signals;
if (is_peer_closed && !was_peer_closed) {
TRACE_EVENT_WITH_FLOW0(
TRACE_DISABLED_BY_DEFAULT("toplevel.flow"), "MessagePipe peer closed",
pipe_id_ + (1 - endpoint_), TRACE_EVENT_FLAG_FLOW_IN);
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "MessagePipe peer closed",
pipe_id_ + (1 - endpoint_),
TRACE_EVENT_FLAG_FLOW_IN);
}
return rv;

@ -505,9 +505,9 @@ bool Connector::DispatchMessage(Message message) {
incoming_serialization_mode_);
}
TRACE_EVENT_WITH_FLOW0(
TRACE_DISABLED_BY_DEFAULT("toplevel.flow"), "mojo::Message Receive",
MANGLE_MESSAGE_ID(message.header()->trace_id), TRACE_EVENT_FLAG_FLOW_IN);
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "mojo::Message Receive",
MANGLE_MESSAGE_ID(message.header()->trace_id),
TRACE_EVENT_FLAG_FLOW_IN);
#if !BUILDFLAG(MOJO_TRACE_ENABLED)
// This emits just full class name, and is inferior to mojo tracing.
TRACE_EVENT0("mojom", heap_profiler_tag_);

@ -102,8 +102,8 @@ void CreateSerializedMessageObject(uint32_t name,
std::vector<ScopedHandle>* handles,
ScopedMessageHandle* out_handle,
internal::Buffer* out_buffer) {
TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"mojo::Message Send", MANGLE_MESSAGE_ID(trace_id),
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "mojo::Message Send",
MANGLE_MESSAGE_ID(trace_id),
TRACE_EVENT_FLAG_FLOW_OUT);
ScopedMessageHandle handle;
@ -148,8 +148,8 @@ void SerializeUnserializedContext(MojoMessageHandle message,
reinterpret_cast<internal::UnserializedMessageContext*>(context_value);
uint32_t trace_id = GetTraceId(context);
TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
"mojo::Message Send", MANGLE_MESSAGE_ID(trace_id),
TRACE_EVENT_WITH_FLOW0("toplevel.flow", "mojo::Message Send",
MANGLE_MESSAGE_ID(trace_id),
TRACE_EVENT_FLAG_FLOW_OUT);
void* buffer;

@ -96,8 +96,7 @@ const WhitelistEntry kEventArgsWhitelist[] = {
{"ui", "RenderTextHarfBuzz::GetFallbackFonts",
kGetFallbackFontsAllowedArgs},
{TRACE_DISABLED_BY_DEFAULT("user_action_samples"), "UserAction", nullptr},
{TRACE_DISABLED_BY_DEFAULT("toplevel.flow"), "SequenceManager::PostTask",
kTopLevelFlowAllowedArgs},
{"toplevel.flow", "SequenceManager::PostTask", kTopLevelFlowAllowedArgs},
{TRACE_DISABLED_BY_DEFAULT("lifecycles"), "task_posted_to_disabled_queue",
kLifecyclesTaskPostedAllowedArgs},
{nullptr, nullptr, nullptr}};