tracing: Work around an LLVM bug on Windows Clang/LLVM doesn't allow evaluating the address of a dllimport symbol in a constexpr context, e.g.: extern __declspec(dllimport) int x; constexpr int* y = &x; This causes a compilation error when trying to pass the array of per-tracing category enabled state bits to the the constexpr TrackEventCategoryRegistry while PERFETTO_COMPONENT_EXPORT is set to __declspec(dllimport). Luckily, since 2c297b36 the constexpr category registry doesn't actually need access to the per-category enabled state, so we can work around this by not passing this data to the registry in the first place. See https://bugs.llvm.org/show_bug.cgi?id=51558 for the upstream LLVM bug. Bug: 189825391 Change-Id: Ib2ececf36dd2b2f16b8633c8ec000c85247d72db
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.