commit | 710677c3e9be2cc935920528169f59a4dddce73a | [log] [tgz] |
---|---|---|
author | Alexander Timin <altimin@google.com> | Wed Feb 23 17:21:33 2022 +0000 |
committer | Alexander Timin <altimin@google.com> | Wed Feb 23 17:21:33 2022 +0000 |
tree | 7eec9a7d20256d4eb93bf0f53e17720c426daed2 | |
parent | ed5834c3fe8c2ca848fea000d3b99bc1afd2ab03 [diff] |
Allow typed proto messages to be written into TracedValue. This patch adds TracedValue::WriteProto<proto::pbzero::MessageType>() method, which can be used to write structured proto inside TracedValue. Also TracedProto now gets an implicit constructor from TracedValue, which means that if a C++ class implements Foo::WriteIntoTrace(TracedProto<...>) method, it can be used in all places where a class implementing Foo::WriteIntoTrace(TracedValue) can be used, including: - being passed as an untyped argument to TRACE_EVENT: TRACE_EVENT(..., "arg", Foo()); - being passed to TracedDictionary::Add / TracedArray::Append. This patch also adds MessageType::GetName() method to the protozero bindings, which is needed for implementation of WriteProto method. R=eseckler@google.com,skyostil@google.com CC=​primiano@google.com Bug: b/184558843 Change-Id: Ibe75be0943557d841edc03af5868b3b3999b8a7c
Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.
See https://perfetto.dev/docs or the /docs/ directory for documentation.