commit | cb42600857c6e3a830c3a5685139f255083f4b9e | [log] [tgz] |
---|---|---|
author | Daniele Di Proietto <ddiproietto@google.com> | Thu Feb 16 12:14:38 2023 +0000 |
committer | Daniele Di Proietto <ddiproietto@google.com> | Thu Feb 23 13:53:44 2023 +0000 |
tree | 6fb5b68e559f58928dbd004b983873b7e4f99c24 | |
parent | 37654c555b53d950d8b3abbfa5633aa9cfb75b95 [diff] |
symbolizer: Fix symlink handling It turns out that the symbolizer used fts_open() for a reason: base::ListFilesRecursive doesn't handle symlinks. Turns out that handling symlinks is non-trivial because we have to prevent infinite loops. fts_open() does all that for us. This commit: * Reverts a bunch of commits: * ee90928bb222("Move GetFileSize() from symbolizer to base/file_utils.h") * ad3da2777b62("Revert "Link against libfts when compiling against musl"") * 2abbc726fa5a("Avoid using fts_open and fts_read") * Cherrypicks a fix from base::ListFilesRecursive from commit 63ad74ac51b7 ("Do not use ScopedResource for FindFirstFile handle") * Adds unittests with symlinks. Tested by: * Building and running unittests on windows * Building and running unintests on Linux * Building in CI android musl: https://android-build.googleplex.com/builds/abtd/run/L35900000958749217 Bug: 261712935 Change-Id: Ibdf87f05394f1922430dd5513e5d53848096d7d7
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.