* Added deb to make cassandra tests work with python 3.13
* Bumped cffi to work with Python 3.13
* Fixed some test-requirements for Python 3.13
* Updated typing_extensions everywhere
---------
Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>
* Update version to 1.27.0.dev/0.48b0.dev
* Update SHA and fix test cases
* Update SHA
---------
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
* requirements: bump zipp to 3.19.2
To resolve a dependabot securiy report.
* requirements: bump certifi to 2024.7.4
To resolve a dependabot security report.
* Remove unnecessary dependencies
Fixes#2661
* Separate runs
* Remove dev-requirements from test environment
* Try without negative if
* Remove positive if
* Remove if
* Separate benchmark-containing packages in another file
* Add missing test-requirements.txt file
* * Adding (failing) testcase to cover Issue #2029
* * move Instance variables to class variables. Since the object in question will be a singelton. This will resolve#2029 where multiple calls to the instrumentation will assign Null values.
* * black formatting
* * Changelog stub entry, PR # to follow
* * updating the pullrequest number
* * remove superfluous constructor
* * moving Change log to unreleased section
---------
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
* Fix black an isort
* change bootstrap_gen to use a list instead of dict
* Bunch of updates
* Fix build
* fix lint
* Fix docs
* Fix lint
* More fixes
* Fix lint
* fix stupid mistake
---------
Co-authored-by: Christian Hartung <christian.hartung@olist.com>
* Unwrap `ExceptionInfo` and `ExceptionWithTraceback`
Instead of reporting the `ExceptionInfo` and `ExceptionWithTraceback`
wrappers raised by Celery, report the exceptions that they wrap.
This ensures that the exception in the OpenTelemetry span has a type
and traceback that are meaningful and relevant to the developer.
* Fix typo
The exception is expected, not excepted. Well, I guess it is also
excepted, because it's an exception, but you get what I mean.
* Reformat file with `black`
Reformat the `__init__.py` file in the Celery instrumentation using
`black`, fixing a CI linter error.
* Address review feedback
Use the VERSION attribute exposed by Billiard to decide whether to
import ExceptionWithTraceback.
Add a test for a failing task and check that the exceptions' type
and message are preserved.
* Amend ExceptionWithTraceback import
* Add tests for errors in Celery tasks
I noticed there were no tests for the error scenario in the Celery
package. This commit adds a basic test, based on the previous test and
how I see other packages test the error status on the span.
Part of #987
* Record exception in Celery instrumentation
In addition to setting the status on the span, also record the exception
on the span. This adds an event to the span with more details about the
error, following the format other instrumentations also use.
* Update CHANGELOG with Celery record exception
* Fix lint code formatting issues
* Move Celery error tests to the functional tests
The celery tests failed on Python 3.11. This is most likely due to this
issue in billiard, a celery dependency, about it not working on Python
3.11 because of the error reported in the CI:
https://github.com/celery/billiard/issues/377
It's been fixed in billiard 4.1.0, but celery is locked on billiard
version lower than 4, so it cannot use this version with the fix.
This issue does not arise on the Docker tests, because they use Python
3.9.16.
I've moved the error test span event assertions to the error test that
is available in the functional tests, and removed the unit test. That
way, the build will run successfully.
* Remove duplicate entry in changelog
This was added in a recent merge commit on this PR branch.
* Remove unused test code
With the move of the tests for tasks with errors to the functional
tests, remove the unit test's error task and unused imports.
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>