ANN: Austin -- CPython frame stack sampler v3.5 is now available
I am delighted to announce the 3.5 release of Austin. If you haven't heard of Austin before, it is an open-source frame stack sampler for CPython, distributed under the GPLv3 license. It can be used to obtain statistical profiling data out of a running Python application without a single line of instrumentation. This means that you can start profiling a Python application straight away, even while it's running in a production environment, with minimal impact on performance.
The Austin VS Code extension provides a smooth interactive profiling experience, with interactive flame graphs straight into the text editor to allow you to quickly jump to the source code with a simple click. You can find the extension on the Visual Studio Marketplace and install it directly from VS Code:
To see how to make the best of Austin with VS Code to find and fix performance issues, check out this blog post, which shows you the editor extension in action on a real Python project:
Like the most recent releases, this new one also come with some performance improvements, this time in the shape of higher sampling rates in multiprocess mode. The interpreter detection has also been improved across all supported platforms, and the alternative format has been dropped.
But the main new feature is the support for the new column-level location information that is built into Python 3.11 code objects. This additional information allows extracting finer-grained profiling data, down to the expression level. The VS Code extension has been improved to support this extra location data, which will be visualised in the form of source heat maps.
More details about what's new and bug-fixes can be found in the change-log
Austin is a pure C application that has no dependencies other than the C standard library. Its source code is hosted on GitHub at
The README contains installation and usage details, as well as some examples of Austin in action. Details on how to contribute to Austin's development can be found at the bottom of the page.
Austin can be installed easily on the following platforms and from the following sources:
Linux: - Snap Store - AUR - Conda Forge
macOS: - Homebrew - Conda Forge
Windows: - Chocolatey - Scoop
An Austin docker image, based on the latest Ubuntu image, is also available from Docker Hub:
Austin is also simple to compile from sources as it only depends on the standard C library, if you don't have access to the above-listed sources.
You can stay up-to-date with the project's development by following Austin on Twitter (https://twitter.com/AustinSampler).
Austin is a free and open-source project. A lot of effort goes into its development to ensure the best performance and that it stays up-to-date with the latest Python releases. If you find it useful, consider sponsoring this project on GitHub at https://github.com/sponsors/P403n1x87.
All the best, Gabriele <phoenix1987 (at) gmail.com>
<p><a href="https://github.com/P403n1x87/austin">Austin 3.5</a> - frame stack sampler for CPython. (26-Feb-23)</p>