Skip to content

Conversation

@P403n1x87
Copy link
Owner

No description provided.

P403n1x87 and others added 30 commits October 15, 2024 21:38
We improve the wheel script generator by removing the obsolete py2
target and by resolving the image addresses to the absolute raw ones so
that images appear as expected in the PyPI page.
We implement proper support for the datastack chunks introduced in
CPython 3.11.
perf: proper datastack_chunk support
We resolve a leaked stack chunk due to the early attempt to
resolve a thread state to validate the inferred interpreter state.
The container-like test that uses unshare fails in CI but passes
locally, so we mark it as xfail in CI only.
chore: resolve stack chunk memory leak
We improve the VM map parsing on Linux
We refactor the validation script for better maintainability.
We generate a data validation report as a comment on the PR.
P403n1x87 and others added 24 commits August 25, 2025 19:40
refactor: make CoM computation generic
chore: use better naming in py_proc private functions
We reduce the number of calls to fputc to avoid the overhead of
extra function calls for writing a null terminator to the stream.
We fix an issue with multiprocess sampling that caused Austin to
fail to collect samples if the parent process was not a Python
process. We also make sure that the interrupt signal is propagated
to the process group to emulate a Ctrl-C sent directly to the
process.
We refactor the code around terminal output. We make the code more
readable by using macros for the ANSI escape sequences. We also
re-arrange the layout of some of the terminal output, such as the
sampling statistics to convey more user-relevant information. We
also include some extra metadata that can be useful for tools that
will process the output after collection.
GCC 15 in Debian testing is configured with
`--with-long-double-format=ieee`, resulting in obscure test failures
(see
https://buildd.debian.org/status/fetch.php?pkg=austin&arch=ppc64el&ver=3.7.0-6&stamp=1757674632&raw=0).
Nearly all ways I can see to work around this would involve pycparser
being significantly smarter; this is horrible, but it gets the job done.
Co-authored-by: Gabriele N. Tornetta <[email protected]>
* feat: add support for CPython 3.14

* invalidate frame cache

* fix pointer cast
* chore: improve code coverage

We improve code coverage by covering the code that makes sense to cover
and exclude code paths that are unlikely to be exercised (generally
very pessimistic errors such as memory allocation failures).

* increase more

* more
* tests: relax exposure duration tests

* fix margin

* fix values
We make sure to terminate the child process when Austin is about
to finish to ensure that the wait hangs indefinitely.
We check for the permissions to read remote memory on Linux, after we
have successfully detected that the target process is a Python process.
We increase the timeout to give better chances to detect the Python
runtime on systems where it might be a bit slow
* feat: handle exec

We add logic to support following exec syscalls for Python processes
that exec another Python process.

* tid field offset fix
* release: v4.0.0

We prepare other sources, such as documentation for the release of the
next version.

* update changelog
@P403n1x87 P403n1x87 added the release New release label Oct 31, 2025
@github-actions
Copy link

Austin Data Validation

@P403n1x87 P403n1x87 marked this pull request as ready for review November 1, 2025 09:19
@P403n1x87 P403n1x87 merged commit 24739e5 into master Nov 1, 2025
75 of 84 checks passed
@P403n1x87 P403n1x87 deleted the devel branch November 1, 2025 09:20
@P403n1x87 P403n1x87 restored the devel branch November 2, 2025 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release New release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants