commit | 5f3008eefc60b18d4b25464e00f118b59445213f | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Wed May 19 21:34:45 2021 +0100 |
committer | Primiano Tucci <primiano@google.com> | Thu May 20 18:58:10 2021 +0000 |
tree | f588b349b1204259fa35fed41ba72db6722012ce | |
parent | ad111e4bedf51061482a9803d977e89a70bcf90d [diff] |
Reland "Add IPC layer + Platform implementation for Windows" Reland of aosp/1539396. Fixes WIN32 in platform_windows and small things that broke since then. Reason for revert (aosp/1608095): broke chromium win32 https://ci.chromium.org/p/chromium/builders/ci/win32-archive-rel/20608? https://chromium-review.googlesource.com/c/chromium/src/+/2717017 Original CL description: The final CL that adds the Windows-specific IPC bits. This implements the IPC transport as a AF_UNIX socket and a named shared memory region. AF_UNIX doesn't bring any major benefits really and I wonder whether we should just use a TCP socket. In fact, AF_UNIX on Windows misses the interesting bits of UNIX sockets: (1) FD-passing is not supported; (2) Peer credentials are not supported. Given that the shared memory is based on an unguessable string, we could send that over TCP as well. #fixit Bug: 174454879 Test: manual on Windows, the following works: Change-Id: Iab7337e625338671873d5dffb169290fcbdd855e perfetto_unittests.exe perfetto_integrationtests.exe traced.exe + perfetto.exe stress_test.exe (there is something odd scheduling-wise here but seems unrelated with the IPC port)
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.