Refactor dynamic name to perfetto::DynamicString
Recently perfetto introduced `perfetto::DynamicString` to allow clients to wrap dynamic event name strings. So that clients don't have to manually set event name inside trace lambda. With that: TRACE_EVENT("cat", nullptr, [&](EventContext ctx) { ctx.event().set_name(dynamic_name_str) }); is simplified to: TRACE_EVENT("cat", perfetto::DynamicString{dynamic_name_str}); In this change we are making use of perfetto::DynamicString to pass dynamic event name string. Change-Id: Ic6b501df67409d6faa4d60b59095ad0e79ce585e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3716473 Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Commit-Queue: Mohit Saini <mohitms@google.com> Cr-Commit-Position: refs/heads/main@{#81298}
This commit is contained in:
parent
9d3a645bec
commit
c801d52924
@ -196,11 +196,8 @@ BUILTIN(Trace) {
|
||||
}
|
||||
|
||||
#if defined(V8_USE_PERFETTO)
|
||||
// TODO(skyostil): Use interned names to reduce trace size.
|
||||
auto trace_args = [&](perfetto::EventContext ctx) {
|
||||
// TODO(skyostil): Use interned names to reduce trace size.
|
||||
if (phase != TRACE_EVENT_PHASE_END) {
|
||||
ctx.event()->set_name(*name);
|
||||
}
|
||||
if (num_args) {
|
||||
MaybeUtf8 arg_contents(isolate, Handle<String>::cast(arg_json));
|
||||
auto annotation = ctx.event()->add_debug_annotations();
|
||||
@ -215,13 +212,15 @@ BUILTIN(Trace) {
|
||||
|
||||
switch (phase) {
|
||||
case TRACE_EVENT_PHASE_BEGIN:
|
||||
TRACE_EVENT_BEGIN(dynamic_category, nullptr, trace_args);
|
||||
TRACE_EVENT_BEGIN(dynamic_category, perfetto::DynamicString(*name),
|
||||
trace_args);
|
||||
break;
|
||||
case TRACE_EVENT_PHASE_END:
|
||||
TRACE_EVENT_END(dynamic_category, trace_args);
|
||||
break;
|
||||
case TRACE_EVENT_PHASE_INSTANT:
|
||||
TRACE_EVENT_INSTANT(dynamic_category, nullptr, trace_args);
|
||||
TRACE_EVENT_INSTANT(dynamic_category, perfetto::DynamicString(*name),
|
||||
trace_args);
|
||||
break;
|
||||
default:
|
||||
THROW_NEW_ERROR_RETURN_FAILURE(
|
||||
|
Loading…
Reference in New Issue
Block a user