fix(tracing): fix logic for setting in_app
flag
#1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, in case packages added in
in_app_include
were installed into a location outside of the project root directory, stack frames from those packages were not marked asin_app
. Cases include running Python from virtualenv, created outside of the project root directory, or Python packages installed into the system using package managers. This resultedin inconsistency: traces from the same project would have different
in_app
flags depending on the deployment method.Steps to reproduce (virtualenv outside of project root):
Steps to reproduce (system packages):
In this change, the logic was slightly changed to avoid these discrepancies and conform to the requirements, described in the PR with
in_app
flag introduction: getsentry#1894 (comment). Note that the_module_in_list
function returnsFalse
ifname
isNone
, hence extra check before function call can be omitted to simplify code.General Notes
Thank you for contributing to
sentry-python
!Please add tests to validate your changes, and lint your code using
tox -e linters
.Running the test suite on your PR might require maintainer approval. Some tests (AWS Lambda) additionally require a maintainer to add a special label to run and will fail if the label is not present.
For maintainers
Sensitive test suites require maintainer review to ensure that tests do not compromise our secrets. This review must be repeated after any code revisions.
Before running sensitive test suites, please carefully check the PR. Then, apply the
Trigger: tests using secrets
label. The label will be removed after any code changes to enforce our policy requiring maintainers to review all code revisions before running sensitive tests.