|
4 | 4 |
|
5 | 5 | ## Unreleased - ReleaseDate
|
6 | 6 |
|
| 7 | +This release adds Windows support. It uses ETW via `xperf` to record the system activity to an ETL file. Then samply converts the ETL file. |
| 8 | + |
| 9 | +Samply asks for Adminstrator privileges during profiling. This is necessary for ETW to work. |
| 10 | + |
| 11 | +Thanks to @jrmuizel for getting this off the ground. Most of the Windows implementation was initially written by him. ETW is rather lightly documented, so this required a lot of research. |
| 12 | + |
| 13 | +Also thanks to @vvuk, who integrated Jeff's code into samply and contributed hugely to getting this ready for production! |
| 14 | + |
| 15 | +And thanks to the authors of the https://github.com/n4r1b/ferrisetw crate; samply uses etw-reader which started out as a fork of ferrisetw. |
| 16 | + |
| 17 | +Known issues: |
| 18 | + |
| 19 | + - By default, you won't get Windows symbols, but you can use `samply record --windows-symbol-server https://msdl.microsoft.com/download/symbols` to fix this - this will download symbols for Windows system libraries and kernel stacks from Microsoft's server. I'm planning to add a config file for samply so that symbol servers can be configured more permanently, but it doesn't exist yet. |
| 20 | + - Missing symbols for precompiled .NET code: This is [getsentry/pdb#153](https://github.com/getsentry/pdb/issues/153), which has a potential patch in [getsentry/pdb#154](https://github.com/getsentry/pdb/pull/154). |
| 21 | + - CoreCLR support could be better - some of it isn't working correctly any more (see [#483](https://github.com/mstange/samply/issues/483)) |
| 22 | + |
| 23 | +### Breaking changes |
| 24 | + |
| 25 | + - The minimum supported Rust version is now 1.77. |
| 26 | + |
| 27 | +### Features |
| 28 | + |
| 29 | + - Windows: Initial support. |
| 30 | + - macOS: Support attaching to running processes and their subprocesses ([#190](https://github.com/mstange/samply/pull/190), by @vvuk, and [#425](https://github.com/mstange/samply/pull/425), by @tmm1) |
| 31 | + - macOS: Add `samply setup` to code-sign samply so that attaching to running processes can work ([#217](https://github.com/mstange/samply/pull/217) + [#353](https://github.com/mstange/samply/pull/353), by @vvuk) |
| 32 | + - All platforms: `samply import` has much better support for Android simpleperf now |
| 33 | + - All platforms: Add `--main-thread-only` flag |
| 34 | + - All platforms: Add `--include-args` argument |
| 35 | + - Windows, Linux: Add `--per-cpu-threads` flag |
| 36 | + - All platforms: Add `--symbol-dir`, `--windows-symbol-server`, `--windows-symbol-cache`, `--breakpad-symbol-server`, `--breakpad-symbol-dir`, `--breakpad-symbol-cache`, and `--simpleperf-binary-cache` arguments (various PRs, including some by @ishitatsuyuki) |
| 37 | + - All platforms: Add `--address` option to specify the IP address at which the local server is listening ([#234](https://github.com/mstange/samply/pull/234), by @Rjected) |
| 38 | + - All platforms: Add `--unstable-presymbolicate` flag ([#202](https://github.com/mstange/samply/pull/202), by @vvuk) |
| 39 | + |
| 40 | +### Fixes |
| 41 | + |
| 42 | + - Fix build errors related to `zerocopy` and `zerocopy_derive` ([#356](https://github.com/mstange/samply/pull/356), by @mox692) |
| 43 | + - macOS: Fix library enumeration on macOS 15 Sequoia ([#403](https://github.com/mstange/samply/pull/403), by @Maaarcocr) |
| 44 | + |
7 | 45 | ## 0.12.0 - 2024-04-16
|
8 | 46 |
|
9 | 47 | ### Breaking changes
|
|
0 commit comments