Commit Graph

1246 Commits

Author SHA1 Message Date
OpenTelemetry Bot 3779ae835c
[release/v1.21.x-0.42bx] Prepare release 1.21.0/0.42b0 (#2030)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-11-07 11:06:05 -06:00
Liudmila Molkova 4f6618324d
Set schema_url on all tracers and meters (#1977) 2023-11-06 11:39:51 -08:00
Diego Hurtado eb6024ca31
Fix failing test cases (#2033) 2023-11-03 05:40:46 +00:00
Margaret Yu 657d502419
Specify the topic arn as the span attribute messaging.destination.name in the botocore sns instrumentation (#1995) 2023-11-01 15:54:26 -06:00
André "decko" de Brito 1305436671
Aiohttp-server Instrumentation (#1800)
Co-authored-by: Kenny Trytek <kenny.trytek@workiva.com>
Co-authored-by: Daniel Manchon <dmanchon@gmail.com>
2023-10-30 15:10:16 -06:00
Allen Kim bb42e0417b
Feature/add new process metrics (#1948) 2023-10-09 10:34:02 -07:00
Diego Hurtado 7ac674430d
Fix version of Flask dependency werkzeug (#1980) 2023-10-04 20:20:39 +00:00
OpenTelemetry Bot 54be1603dc
Update version to 1.21.0.dev/0.42b0.dev (#1930)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-09-04 17:56:57 +00:00
João Thallis fb9eb32fac
doc: fix `commenter_options` type (#1926)
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-09-03 11:23:21 +00:00
Noemi 6f3aead436
Unwrap Celery's `ExceptionInfo` (#1863)
* 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
2023-09-03 13:56:33 +03:00
mattcontinisio a02d98cb38
Add Cassandra instrumentation (#1902) 2023-08-30 15:40:14 +00:00
Javier Fernández Rodríguez d854c52d23
feat(confluent-kafka): Add instrumentation to consume method (#1786)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-08-30 15:03:05 +00:00
Raphael Philipe Mendes da Silva 0871dd455c
Revert "update awslambda to use _X_AMZN_TRACE_ID as a Span Link" (#1911)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-08-21 18:42:12 +02:00
Leighton Chen 9cd9de7f01
Fix errors introduced in regression (#1913) 2023-08-16 13:25:50 -07:00
Jakub Warczarek 6007e0c013
Merge pull request from GHSA-5rv5-6h4r-h22v
* Fix unbound cardinality for label http_method in wsgi based middlewares

* cr: rename file

* cr: change label UNKNOWN to NONSTANDARD

* Update instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py

---------

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-08-15 13:17:14 -07:00
Thomas LÉVEIL 1beab8238b
Fix UnboundLocalError local variable 'start' referenced before assignment (#1889)
Co-authored-by: Pablo Collins <pablo.collins@gmail.com>
2023-08-07 15:17:20 +02:00
Tristan Sloughter 7603a1fc69
update awslambda to use _X_AMZN_TRACE_ID as a Span Link (#1657)
Co-authored-by: Ron Yishai <ronyish@cisco.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-07-18 22:03:59 +02:00
OpenTelemetry Bot cfdd4ae77f
Update version to 1.20.0.dev/0.41b0.dev (#1885)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-07-13 16:42:32 +02:00
Alexandre Papin 09efe708c3
Instrument mysqlclient library (#1744)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-07-12 21:09:26 +02:00
Marc Dougherty acfe932f7d
fix(django): avoid empty span name on empty path (#1788)
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-07-12 18:38:59 +00:00
Mario Jonke dadcd01524
urllib3: Add instrumentation support for version 2 (#1879)
* urllib3: Add instrumentation support for version 2

* changelog
2023-07-04 00:49:20 +03:00
Tammy Baylis 79d62b3bcd
sqlalchemy wrap_create_engine now accepts sqlcommenter options (#1873)
* sqlalchemy wrap_create_engine accepts sqlcommenter options

* Changelog

* Lint

* Fix default val

* Add sqlalchemy tests

* Change a default in _instrument get

* Lint

* More lint

* Update default

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>

* Update args doc

* lintttt

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-27 13:43:35 +03:00
Rytis Bagdziunas 2e49ba1af8
Use a weak reference to sqlalchemy Engine to avoid memory leak (#1771)
* Use a weak reference to sqlalchemy Engine to avoid memory leak

Closes #1761

By using a weak reference to the `Engine` object, we can avoid the memory leak as disposed `Engines` get properly deallocated. Whenever `SQLAlchemy` is uninstrumented, we only trigger a removal for those event listeners which are listening for objects that haven't been garbage-collected yet.

* Made a mistake in resolving the weak reference

* Fixed formatting issues

* Updated changelog

* Added unit test to check that engine was garbage collected

* Do not save engine in EngineTracer to avoid memory leak

* Add an empty line to satisfy black formatter

* Fix isort complaints

* Fixed the issue when pool name is not set and =None

* Fix formatting issue

* Rebased after changes in a recent commit

* Updated PR number in changelog

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-27 11:37:27 +03:00
Vivanov98 cd6b024327
Fix async redis clients tracing (#1830)
* Fix async redis clients tracing

* Update changelog

* Add functional integration tests and fix linting issues

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-25 15:03:54 +03:00
Tammy Baylis e70437a36e
Add conditional elastic_transport import (#1810)
* Add conditional elastic_transport import

* Update changelog

* Add future es8 tests

* Update CHANGELOG.md

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>

* Add license, rm pylint disable

* Consistent elastic version check

* lint import

* Update CHANGELOG.md

---------

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-25 08:25:09 +03:00
Nimrod Shlagman c9004bd375
Fix elastic-search sanitization for bulk queries (#1870)
* support sanitization for str body response

* add CHANGELOG entry

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-25 07:44:57 +03:00
Iman Shafiei 256d8ce12d
Add http.server.request.size for ASGI metric implementation (#1867)
* Update changelog file.

* Update changelog file.

* Add new request.size metric for ASGI middleware.

* Clean-up.

* Refactor try except section.

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-21 23:56:38 +03:00
Matt Oberle 32ae65ed55
fix(grpc): Allow gRPC connections via Unix socket (#1833)
* fix(grpc): Allow gRPC connections via Unix socket

This commit addresses issue #1832.

The way `NET_PEER_IP` and `NET_PEER_PORT` are retrieved raises a `ValueError`
when gRPC connections are handled via Unix sockets.

```py
ip, port = (
    context.peer().split(",")[0].split(":", 1)[1].rsplit(":", 1)
)
```

When using an address like `unix:///tmp/grpc.sock` the value of `context.peer()` is `"unix:"`.
Substituting that in the function above...

```py
ip, port = "unix:".split(",")[0].split(":", 1)[1].rsplit(":", 1)
ip, port = ["unix:"][0].split(":", 1)[1].rsplit(":", 1)
ip, port = "unix:".split(":", 1)[1].rsplit(":", 1)
ip, port = ["unix", ""][1].rsplit(":", 1)
ip, port = "".rsplit(":", 1)
ip, port = [""]  # ValueError
```

I "addressed" the issue by guarding the retrieval of `net.peer.*` values under
an `if` statement that checks if we are using a Unix socket.

I extended the `server_interceptor` tests to run against TCP and Unix socket configurations.

---

**Open Questions**

- [ ] The socket tests will fail on Windows. Is there a way to annotate that?
- [ ] Are there other span values we should be setting for the unix socket?

* Update CHANGELOG

* Add placeholder attributes for linter

* fix lint

---------

Co-authored-by: Matt Oberle <mattoberle@users.noreply.github.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-21 15:30:35 +03:00
Michael fe9405730f
fix: Update falcon instrumentation to follow semantic conventions (#1824)
* fix: Update falcon instrumentation to follow semantic conventions

* docs: Update changelog

* fix linter errors

* Disable falcon.HTTP_200 pylint checck

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-06-20 11:09:53 +00:00
Iman Shafiei 60753e2a55
Add http.server.response.size metric to ASGI implementation. (#1789)
* Add http.server.response.size metric to ASGI implementation.
Add new unit tests.

* Update changelog.

* Fix linting by disabling too-many-nested-blocks

* Put new logic in a new method

* Refactor the placement of new logic.

* Fixed the unit tests in FastAPI and Starlette

* Update changelog.

* FIx lint errors.

* Refactor getting content-length header

* Refactor getting content-length header

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-06-19 23:00:59 +03:00
Pablo Collins 8cc10a0859
fix redis doc (#1808)
doc string rendered at
https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/redis/redis.html
refers to `opentelemetry-instrumentation` executable which appears to be a typo

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-18 16:55:17 +03:00
David Gonoradsky 5ac58c2ffb
Add support for confluent_kafka until 2.1.1 version (#1815)
* Add support for confulent_kafka until 2.1.1 version

* Include 2.1.1 version

* update CHANGELOG.md

* run: 'tox -e generate'

* resolve comments

* update top version to 2.2.0

---------

Co-authored-by: Ran Nozik <ran@gethelios.dev>
2023-06-18 13:20:21 +00:00
Akochavi 1dd17edeea
Add metrics instrumentation celery (#1679)
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-18 10:45:00 +00:00
Iman Shafiei 78040836d2
Fix Invalid type NoneType for attribute X error | AWS-Lambda instrumentation (#1785)
* Add None checking to the aws-lambda logic

* Update changelog.

* Change .get() check to 'key' in dict check.

* Fix consistency issues.

* Update changelog.

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-17 02:55:15 +03:00
Yashaswi Makula a3a0b2409c
Fixed urllib3 instrumentation example in instrumentation documentation (#1793)
* corrected instrumentation example in urllib3

* Remove changelog entry

---------

Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-06-16 23:08:51 +00:00
Tammy Baylis 7292beefae
Request Flask attributes passed to Sampler (#1784)
* Request Flask attributes passed to Sampler

* Update changelog

* Lint

* Fix botocore test keyerror

* Revert "Fix botocore test keyerror"

This reverts commit fd03c55a39.

* botocore test does get_queue_url

* Revert "botocore test does get_queue_url"

This reverts commit 9530cd250d.

* Update changelog

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-16 22:40:46 +00:00
Filip Nikolovski f9f7b01416
Fix falcon usage of Span Status (#1840)
* Fix falcon usage of Span Status to only set the description if the status code is ERROR

* Update changelog

* Update CHANGELOG.md

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>

* fix lint

* Use fewer variables to satisfy R0914 lint rule

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-06-16 16:18:08 +00:00
Maciej Nachtygal 743ac64661
Issue #1757 - Update HTTP server/client instrumentation span names (#1759)
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-06-16 00:21:05 +02:00
Phillip Verheyden a5ed4da478
Relax httpx version to allow >= 0.18.0 (#1748) 2023-06-13 13:07:28 +00:00
Nimrod Shlagman 37d85f0745
Sanitize redis db_statement by default (#1776)
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-06-13 12:37:55 +00:00
Matthew Grossman 4637912418
Use `request_ctx` to determine whether or not `_teardown_request` should end flask span (#1692)
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-06-13 13:23:48 +02:00
Diego Hurtado fc547877d3
Remove use of httpbin (#1854) 2023-06-13 10:30:52 +00:00
Diego Hurtado bcf770d079
Use HTTP mock server for tornado tests (#1855)
* Use HTTP mock server for tornado tests

Fixes #1681

* Fix lint
2023-06-13 10:01:02 +00:00
Diego Hurtado 26c673e7c9
Use HTTP mock server for aiohttp tests (#1849)
Fixes #1842
2023-06-13 08:40:41 +00:00
Tristan Sloughter 42e8f8f6e2
botocore: always use x-ray for http header injection (#1741)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-05-22 18:02:05 +00:00
OpenTelemetry Bot afd8428997
Update version to 1.19.0.dev/0.40b0.dev (#1797)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-05-17 10:47:58 -06:00
Shalev Roda 1a1163e919
Expand sqlalchemy pool.name to follow the semantic conventions (#1778) 2023-05-06 23:09:52 +05:30
Nahian-Al Hasan 890e5dd9b8
Add otelTraceSampled to instrumetation-logging (#1773)
* Add otelTraceSampled to instrumetation-logging

* Updated code with black

* Added to CHANGELOG.md

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-05-03 22:06:25 +05:30
Naor Malca 46e4b1da44
Add support for anonymous tasks (#1407) 2023-04-28 23:09:24 +00:00
Tammy Baylis f46a6e1c0e
Request ASGI attributes passed to Sampler (#1762)
* Request ASGI attributes passed to Sampler

* Update changelog

* aiohttp-client test http.url

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com>
2023-04-28 16:47:51 +00:00