-
-
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
fix(linux): improved container support #217
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## devel #217 +/- ##
==========================================
- Coverage 68.79% 68.62% -0.18%
==========================================
Files 27 27
Lines 2519 2521 +2
Branches 774 771 -3
==========================================
- Hits 1733 1730 -3
+ Misses 457 450 -7
- Partials 329 341 +12 ☔ View full report in Codecov by Sentry. |
Austin BenchmarksRunning Austin benchmarks with Python 3.10.14 Benchmark SummaryComparison of dev against 3.6.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]
|
2ebbe1b
to
cd66c47
Compare
We make use of the /proc/root of the procfs to improve the chances that we can infer the required information, such as the location of the runtime structure and the interpreter version from binaries pointed at by the actual process root. This is relevant for processes running inside containers, since their FS root does not coincide with the host root.
cd66c47
to
dd0fd91
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exclude potentially unreachable lines from code coverage
Description of the Change
We make use of the /proc/root of the procfs to improve the chances that we can infer the required information, such as the location of the runtime structure and the interpreter version from binaries pointed at by the actual process root. This is relevant for processes running inside containers, since their FS root does not coincide with the host root.
Alternate Designs
None considered
Regressions
We are changing the paths that are used to inspect binaries. This might have an impact in the non-containerised cased, albeit the greater generality should ensure that the new code works as intended for a wider range of scenarios. We also bail out early on a failed version inference (in fact, on fatal errors), which might introduce a degree of flakiness in tests.
Verification Process
...