From Newsgroup: comp.lang.python.announce
I am delighted to announce the release 3.3.0 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.
https://github.com/P403n1x87/austin
The best way to leverage Austin is to use the new extension for VS Code, which brings 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:
https://marketplace.visualstudio.com/items?itemName=p403n1x87.austin-vscode
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:
https://p403n1x87.github.io/how-to-bust-python-performance-issues.html
The latest release comes with the new -w\--where option that allows extracting the current frame stack from a running Python application
https://github.com/P403n1x87/austin#where
This new mode is also available for the austinp variant and works with the `-k` switch to also provide the Linux kernel stacks
https://github.com/P403n1x87/austin#native-frame-stack
And speaking of which, the `austinp` variant has reached a good level of stability and it is now being built as part of the normal Austin `autotools` build process. This means that it is made available through the Snap Store as part of the main Austin package. For those that have not heard of the `austinp` variant before, it is a `ptrace`-based variant of Austin that allows sampling native and kernel frame stacks on Linux, which are then interleaved with the ordinary Python frame stacks for sensible in-depth observability into the performance of Python applications.
The new release also comes with a substantial performance improvement thanks to frame caching, which dramatically reduces the number of calls to system calls for inspecting the Python VM address space. This translates in higher achievable sampling rates and accuracy.
Support for the various supported platform has also been improved. Worth mentioning is the support for the `py.exe` launcher on Windows.
Austin is a pure C application that has no dependencies other than the C standard library. Its source code is hosted on GitHub at
https://github.com/P403n1x87/austin
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 Ubuntu 20.04, is also available from Docker Hub:
https://hub.docker.com/r/p403n1x87/austin
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.2.0</a> - frame stack sampler for CPython. (28-Jan-22)</p>
--- Synchronet 3.19b-Linux NewsLink 1.113