[MIG] sentry: Migration to 18.0 - #3154
Closed
SodexisTeam wants to merge 56 commits into
Closed
SodexisTeam wants to merge 56 commits into
SodexisTeam wants to merge 56 commits into
Conversation
* [ADD] sentry module * [FIX] updated sentry module according to PR comments
- [FIX] sentry: fixes missing `raven` library preventing loading of modules - [FIX] 2to3 script on py file - [FIX] add requirements.txt
sentry: It is not always possible to read commit information from a production environment. In those cases it is useful to be able to set a release version manually. [UPD] Update sentry.pot
[UPD] Update sentry.pot
because OCA/maintainer-tools#459 [UPD] Update sentry.pot
fix OCA/maintainer-tools#459 OCA#1776 (comment) Credits sbidoul [UPD] README.rst
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-tools-14.0/server-tools-14.0-sentry Translate-URL: https://translation.odoo-community.org/projects/server-tools-14-0/server-tools-14-0-sentry/
The following warning is fixed:
DeprecationWarning: Using or importing the ABCs from 'collections' instead of
from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop
working
Allow using `sentry_release` or `sentry_odoo_dir` in the Odoo configuration file. Previously, the `sentry_odoo_dir` was never actually respected. It would always be overridden by `sentry_release`. Even if `sentry_release` is not set, it will use an empty value instead of using `sentry_odoo_dir` to find the Git commit hash. After this commit, the `sentry_release` parameter still takes precedence. However, if `sentry_release` is not set and `sentry_odoo_dir` is set, then `sentry_odoo_dir` will be used to find the appropriate Git commit hash, which will be used as the `release` value. Both cases are covered by the added unit tests.
Because post_load is called after odoo.service.server start It has already registered the unpatched odoo.service.wsgi_server.application So patch it here too. This enables wsgi performance reporting with sentry_traces_sample_rate
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: server-tools-15.0/server-tools-15.0-sentry Translate-URL: https://translation.odoo-community.org/projects/server-tools-15-0/server-tools-15-0-sentry/
Currently, version 1.17.0 of sentry_sdk is causing the following error:
SentryOption("with_locals", DEFAULT_OPTIONS["with_locals"], None),
KeyError: 'with_locals'.
Where the with_locals key is not found in the dictionary, generating an
error, stopping the installation of the sentry module.
In version 1.17.0 rename 'with_locals' to 'include_local_variables'
getsentry/sentry-python@79e3316
This commit adjust the get_sentry_options() method in
https://github.com/Vauxoo/server-tools/blob/16.0/sentry/const.py file, set the new variable.
Odoo requires urllib3 == 1.26.5 https://github.com/Vauxoo/odoo/blob/e0feda462961ae612cacc36d1a75d56c5594fd22/requirements.txt#L56 sentry-sdk > 1.9.0 required urllib3 >= 1.26.11 https://github.com/getsentry/sentry-python/blob/4f1f782fbedc9adcf1dfcd2092bb328443f09e8c/setup.py#L43 Currently, urllib3 >= 1.26.11 is causing the following error in response.py: ``` Traceback (most recent call last): "/home/odoo/.local/lib/python3.8/site-packages/urllib3/response.py", line 705, in _error_catcher yield File "/home/odoo/.local/lib/python3.8/site-packages/urllib3/response.py", line 830, in _raw_read raise IncompleteRead(self._fp_bytes_read, self.length_remaining) urllib3.exceptions.IncompleteRead: IncompleteRead(1501 bytes read, -827 more expected) ``` On the other hand, sentry 1.9.0 supports urllib3 >= 1.10.0, satisfying odoo requirements. This partially reverts OCA@d7ae024. That was initially introduced to support newer versions of `sentry_sdk`, but won't be required anymore due to this downgrade.
Before this fix, the Sentry module sent events for WARNING- level logs, even if sentry_logging_level was registered as "error" or higher. The fix itself is minor: setup of the integration mistakenly set the hardcoded WARNING level to the event handler and the sentry_logging_level to the breadcrumb handler, when they should have been the other way around. The largest part of the diff is a reworking of the tests in order to properly replicate the issue: * The test previously emitted a fake log event directly using the integration's handler's emit-method, which skipped the part of the logic that actually filters based on logging level. This has been changed to use a bespoke NoopHandler and dedicated Logger, so that the tests can emit "actual logs" and test Sentry as accurately as possible. * The tests were not configured to use a non-default logging level, thus making it so that none of them caught the fact we were basically hard-coding the setting to WARNING-level. The tests now set the logging level to ERROR in order to make sure the configuration parameter works when it is non-default. * Changes to configuration (especially ignored loggers) were leaking from one test into others. The tests were directly mutating the `odoo.tools.config.options` mapping, without resetting it afterward, leaving the changes in place for subsequent tests. Introduced a helper method `patch_config` that can be used to patch the config object so that the patch is undone at the end of the test. NOTE: this commit was cherry-picked from d24f3d7, and includes some changes to test code that was not in the original due to conflicts.
atchuthan
force-pushed
the
18.0-mig-sentry
branch
from
December 31, 2024 09:27
ec8342e to
c399919
Compare
hparfr
suggested changes
Jan 21, 2025
hparfr
left a comment
Contributor
There was a problem hiding this comment.
Thanks for adressing this migration.
Why pin an old version from 2,5 years ago ?
| mako | ||
| odoorpc | ||
| openupgradelib | ||
| sentry_sdk<=1.9.0 |
Contributor
There was a problem hiding this comment.
At the moment 2.20 is the latest version.
https://pypi.org/project/sentry-sdk/
Contributor
There was a problem hiding this comment.
#2927
looks like on 18.0 can use 3.12 to bypass
https://github.com/odoo/odoo/blob/18.0/requirements.txt#L80
a1969c2
started the testing
Member
|
There is another migration attempt that uses a more recent version of sentry-sdk: #3174 |
Member
|
Closing as the other version is already merged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.