git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] Austin -- CPython frame stack sampler v2.0.0 is now available


I am delighted to announce the release 2.0.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 straightaway, even while it's running on a production 
environment, with minimal impact on performance.

The simplest way of using Austin is by piping its output to FlameGraph 
for a quick and detailed representation of the collected samples. The 
latest release introduces a memory profiling mode which allows you to 
profile memory usage.

Austin is a pure C application that has no other 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
- Debian repositories

macOS:
- Homebrew

Windows:
- Chocolatey
- Scoop

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.

Besides support for Python 3.9, this new release of Austin brings a 
considerable performance enhancement that allows it to sample up to 8 
times faster than previous versions. But please do read on until the end 
to find out about some new tools that take advantage of all the key 
features of Austin.

Due to increasing popularity, the sample Python applications that were 
included in the main repository have been moved to dedicated projects on 
GitHub. The TUI can now be found at

https://github.com/P403n1x87/austin-tui

while Austin Web is now available from

https://github.com/P403n1x87/austin-web

They can both be installed easily from PyPI, but in order to use them the 
Austin binary needs to be on the PATH environment variable. These 
projects now rely on the austin-python Python package that provides a 
Python wrapper around Austin. If you are considering making your own 
profiling tool based on Austin, this package can spare you from writing 
boilerplate code, so it's worth having a look at it at

https://github.com/P403n1x87/austin-python

The documentation is hosted on RTD at

https://austin-python.readthedocs.io/en/latest/

Finally, I am happy to announce the release of pytest-austin, a plugin 
for pytest that allows you to set up performance regression testing by 
simply decorating your existing pytest test suite. The plugin launches 
Austin to profile your test runs, meaning that no further instrumentation 
is required. For more details, check out the project on GitHub

https://github.com/P403n1x87/pytest-austin

Like the other Austin tools, pytest-austin can be installed easily from 
PyPI.

You can stay up-to-date with the project's development by following 
Austin on Twitter (https://twitter.com/AustinSampler).

All the best,
Gabriele <phoenix1987 at gmail.com>


<p><a href="https://github.com/P403n1x87/austin";>Austin 2.0.0</a> -
frame stack sampler for CPython. (13-Oct-20)</p>