commit | d212bf54262ce8c311819f733798a5b63dad7e61 | [log] [tgz] |
---|---|---|
author | Sami Kyostila <skyostil@google.com> | Fri Aug 20 15:24:33 2021 +0100 |
committer | Sami Kyostila <skyostil@google.com> | Fri Aug 20 14:25:39 2021 +0000 |
tree | a5297d52d301044a95f81e7eee4e616194b89134 | |
parent | 4328da9e58df9915a3c5097fc0da53f39e6aa3da [diff] |
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.