-
-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v3.6.0 #205
Release v3.6.0 #205
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #205 +/- ##
==========================================
- Coverage 69.75% 68.63% -1.12%
==========================================
Files 25 27 +2
Lines 2473 2519 +46
Branches 730 774 +44
==========================================
+ Hits 1725 1729 +4
- Misses 416 458 +42
Partials 332 332
☔ View full report in Codecov by Sentry. |
Austin BenchmarksRunning Austin benchmarks with Python 3.10.13 Benchmark SummaryComparison of dev against 3.5.0. The following scenarios show a statistically significant difference in performance between the two versions.
Benchmark ResultsWall time [sampling interval: 1]Wall time [sampling interval: 1]
Wall time [sampling interval: 10]Wall time [sampling interval: 10]
Wall time [sampling interval: 100]Wall time [sampling interval: 100]
Wall time [sampling interval: 1000]Wall time [sampling interval: 1000]
CPU time [sampling interval: 1]CPU time [sampling interval: 1]
CPU time [sampling interval: 10]CPU time [sampling interval: 10]
CPU time [sampling interval: 100]CPU time [sampling interval: 100]
CPU time [sampling interval: 1000]CPU time [sampling interval: 1000]
RSA keygen [sampling interval: 1]RSA keygen [sampling interval: 1]
RSA keygen [sampling interval: 10]RSA keygen [sampling interval: 10]
RSA keygen [sampling interval: 100]RSA keygen [sampling interval: 100]
RSA keygen [sampling interval: 1000]RSA keygen [sampling interval: 1000]
Full metrics [sampling interval: 1]Full metrics [sampling interval: 1]
Full metrics [sampling interval: 10]Full metrics [sampling interval: 10]
Full metrics [sampling interval: 100]Full metrics [sampling interval: 100]
Full metrics [sampling interval: 1000]Full metrics [sampling interval: 1000]
Multiprocess wall time [sampling interval: 1]Multiprocess wall time [sampling interval: 1]
Multiprocess wall time [sampling interval: 10]Multiprocess wall time [sampling interval: 10]
Multiprocess wall time [sampling interval: 100]Multiprocess wall time [sampling interval: 100]
Multiprocess wall time [sampling interval: 1000]Multiprocess wall time [sampling interval: 1000]
|
This change improves the report from benchmark runs by adding t-tests for each scenario. This allows the benchmarks to provide a summary at the end with the scenarios that are likely to show perfomance difference between the latest released version and the one that comes with the PR the benchmarks run for. This also updates the versions that are being benchmarked to include the latest releases.
This change adds a data validation workflow. Data is validated by performing a Hotelling T2 test on the collected data.
This change adds extra steps to the CI workflows to build Python wheels so that the Austin binary can be installed with pip from PyPI.
Use the more correct expression for computing the lasti index with Python 3.11.
The version of cppcheck available from the package manager tends to be outdated. In this change we build from sources instead. We cache the build result for faster execution.
This change ensures that Austin reports the expected error code and message when running without the superuser privileges.
The wrong symbol name was being used on OSX, preventing the inference of the Python version from symbols.
Python < 3.8 is no longer maintained, so we drop support for it. Previous versions of Austin can still be used if needed.
Since we no longer support CPython < 3.8, we drop the tracking of symbols that are no longer exported by the CPython binaries in later versions. We also rationalise the error propagation for a more robust error handling and propagation logic.
We run the uwsgi tests in separated virtual environment to ensure that we install it using the interpreter that Austin is being tested against. Currently, we install the dependency in the environment used to run pytest, which means that we test uwsgi with the same Python version in every job.
We bump the checkout action version from 2 to 3, and setup-python from 2 to 4 (the latest at the time this change is being made) to resolve the node12 deprecation warnings.
We add path filtering to some GitHub workflows so that they are triggered when necessary.
We group tests in categories to allow for better fine-graining when running the suite.
We try to collect core dump on Linux once more
We also improve the wording of MacOS compatibility to explicitly mention limitations with code-signing.
We add more details to the logs generated by Austin on Windows to include a timestamp and process information. This allows us to collect the data in tests for helping with investigations.
To ensure that we get the expected exit code and error messages, we set the correct error in the internal _py_proc__run method on the fail paths
With the removal of the heap scanning logic, we no longer need to keep track of VM bounds so we remove the relevant code.
We make sure that threads are resumed regardless of potential errors during the sampling of the threads.
We make sure that we handle signals and propagate the signal number as exit code. We negate the number to distinguish it from Austin error codes.
When Austin is given a command to launch, we make sure that any termination signal that Austin receives is propagated to the spawned process to prevent it from running potentially indefinitely in the background.
A segmentation fault was caught in CI exposing a missing NULL check on a local variable in recently-added code. We add a check to prevent this from happening.
We add support for sub-interpreters.
We speed up the benchmarks CI run by only running the latest release and dev. Any issues caught in this way can be analysed locally if needed.
The documentation sources are updated to include mention of the CPython 3.12 support and other features that are shipped with the upcoming 3.6 release of Austin.
This is the v3.6.0 release PR.