916 Commits

Author SHA1 Message Date
22cc215c6c [build] bump pylint (#923)
* [build] bump pylint

Fixes #632

* apply lint suggestions

* specify encoding
2022-02-16 17:52:00 -06:00
d54b61e687 feat(instrumentation-dbapi): add experimental sql commenter capability (#908)
* feat(instrumentation-dbapi): add experimental sql commenter capability

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

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

* Fix lint

* Add CHANGELOG entry

* Fix lint

* Fix lint again

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-02-11 10:14:26 -06:00
454f4b1511 code changes to resolve conditional server span creation for WSGI and adding 'attributes' parameter to util function (#903)
* code changes to resolve conditional server span creation for WSGI (https://github.com/open-telemetry/opentelemetry-python-contrib/issues/454)

* Adding entry to changelog.md

* modifying _start_internal_or_server_span() to add attributes as a parameter. Also calling _start_internal_or_server_span() in WSGI instrumentation

* resolving flake8 and typo issues
2022-02-08 22:03:18 -06:00
0b9e96dae0 Support newer httpx versions (#866) 2022-02-04 09:07:31 -08:00
8d309af49a Logging: Defensively access provider resource (#890)
Now service name is extracted from the provider defensively and lazily.
This accounts for an SDK that does not provide access to "resource" via
TracerProviders and for lazy initialization of TracerProviders.

Fixes #810

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-02-03 12:00:15 -06:00
0431d7b62f adding unit test case for ASGI framework for application wrapped with… (#899)
* adding unit test case for ASGI framework for application wrapped with another framework

* resolving lint errors

* resolving generate build errors

* resolving flake errors

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-02-03 22:40:03 +05:30
0180b837ee Adding unit tests for conditional server span creation in starlette (#897)
* Adding unit tests for conditional server span creation in starlette

* Adding changelog entry and renaming function

* Update CHANGELOG.md

Removing changelog entry

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

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-02-03 21:57:06 +05:30
c0eba00244 Using _start_internal_or_server_span function in asgi interceptor (#898) 2022-02-03 09:36:15 -06:00
0e92d6add8 Mark span as internal in presence of another span for tornado and use (#889)
_start_internal_or_server_span function for flask, pyramid and django

Adding changelog entry

Adding unit test and fixing lint errors

Refactoring to use _start_internal_or_server_span function

Removing unwanted imports and variables

Fixing lint errors

adding changes from tox -e generate

Fixing build errors
2022-02-03 14:08:04 +05:30
e69030e94b aiohttp instrumentation: Remove span_name from docs (#857) 2022-02-02 10:08:20 -08:00
895800fa1d aiohttp instrumentation: correct url filter input type (#864)
* fix: correct _UrlFilterT

* docs: CHANGELOG.md update

* style: apply isort

* fix: add yarl to docs requirements

* Revert "fix: add yarl to docs requirements"

This reverts commit e482ba54fc119a16e001cccc0753554c92549c3e.

* fix: add yarl to nitpick exceptions

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-02-01 16:04:49 -06:00
ad2594e166 fix broken jinja2 test (#892)
* fix broken jinja2 test

* fix test ...
2022-02-01 18:19:18 +00:00
2189e81da1 feat: support pymongo v4.0 (#876) 2022-02-01 17:16:16 +05:30
c8020cbea5 updating changelogs and version to 1.9.1-0.28b1 (#887)
* updating changelogs and version to 1.9.1-0.28b1

* Update CHANGELOG.md

Co-authored-by: Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>

* Update CHANGELOG.md

Co-authored-by: Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>

Co-authored-by: Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>
2022-01-31 09:40:29 +00:00
14d0726d3c Fix redis doc link (#884)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-01-28 18:58:15 +00:00
ef7769c86e fix: safe kafka partition extraction (#872)
* safe partition extraction

* update changelog
2022-01-28 21:32:50 +05:30
e53c1da979 Add packaging as a required package for pika instrumentation (#882)
Fixes #881
2022-01-28 14:59:59 +05:30
d55d1dc0d6 [tests] use _NoOpTracer and _NoOpTracerProvider (#860)
* [tests] use _NoOpTracer and _NoOpTracerProvider

* update
2022-01-27 15:04:23 -06:00
089c2b8262 Release Botocore Instrumentation as 0.28b0 (#878) 2022-01-27 02:05:32 +05:30
f9b4d2b864 updating changelogs and version to 1.9.0-0.28b0 (#875) 2022-01-26 12:00:44 -06:00
571c3780e6 (instrumentation-sqlite3): trace connections made with dbapi2.connect (#873)
* Change wrap_connect method

* Wrap both connect defs

* Add tests

* Add CHANGELOG entry
2022-01-26 00:19:25 +00:00
ec5b73c626 Support partial timelimit for celery tasks (#847) 2022-01-25 23:43:13 +00:00
b32be746e4 Develop/conditional server span pyramid (#869)
* code change to resolve the bug https://github.com/open-telemetry/opentelemetry-python-contrib/issues/449

* modifying the changelog file to add entry for PR #869

* removing redundent get statement

* Conditionally create server spans for falcon (#867)

* Making span as internal for falcon in presence of a span in current context

* Updating changelog

* Fixing lint and generate build failures

* Resolving comments: Converting snippet to re-usable function

* Fixing build failures

* Resolving comments: Creating wrapper for start span to make internal/server span

* Rerun docker tests

* Resolving comments: Refactoring

* Fix Django 1.9 issue preventing use of MIDDLEWARE_CLASSES (#870)

* Update CHANGELOG.md

* Fix Django 1.9 issue preventing use of MIDDLEWARE_CLASSES

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

* changing the import trace statement to resolve issue with unit test cases

Co-authored-by: Ashutosh Goel <39601429+ashu658@users.noreply.github.com>
Co-authored-by: Dan <pezzer55@gmail.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Owais Lone <owais@users.noreply.github.com>
2022-01-25 15:31:13 +00:00
a2098c351e add trailing_metadata to _OpenTelemetryServicerContext (#871)
The trailing_metadata method was added to grpc._server.ServicerContext
in gRPC v1.38.0.
2022-01-25 20:46:55 +05:30
Dan
91d65e033e Fix Django 1.9 issue preventing use of MIDDLEWARE_CLASSES (#870)
* Update CHANGELOG.md

* Fix Django 1.9 issue preventing use of MIDDLEWARE_CLASSES

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2022-01-22 00:10:32 +05:30
8bb1e74ccf Conditionally create server spans for falcon (#867)
* Making span as internal for falcon in presence of a span in current context

* Updating changelog

* Fixing lint and generate build failures

* Resolving comments: Converting snippet to re-usable function

* Fixing build failures

* Resolving comments: Creating wrapper for start span to make internal/server span

* Rerun docker tests

* Resolving comments: Refactoring
2022-01-21 10:24:01 -06:00
dd72d94615 Revert moto change (#859) 2022-01-11 20:52:18 +00:00
23394ccd80 Unblock builds by removing botocore test (#851) 2022-01-11 10:24:18 -08:00
e67a728be5 kafka-python instrumentation (#814) 2022-01-10 09:55:52 -08:00
d01efe5c50 Develop/condition server span django (#832)
* Code changes and pytests for https://github.com/open-telemetry/opentelemetry-python-contrib/issues/448

* removing unnecessary imports

* removing unnecessary imports

* adding wsgi.py file to get the wsgi application object

* Revert "Updating personal fork from public repo"

* Revert "Updating personal fork from public repo"

* Revert "Updating personal fork from public repo"

* Revert "Updating personal fork from public repo"

* Changing the unit test case by removing WSGI instrumentation and make it from generalised

* removing unnecessary import statements

* Revert "Updating personal fork from public repo"

* resolving failed builds for lint and generate

* removing commented code

* removing blank line

* removed unused variable resp from test_middleware.py and modified the CHANGELOG.md with PR entry

* modified the CHANGELOG.md to removed unnecessary entry

* modified the CHANGELOG.md to add proper PR entry

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-01-07 16:24:09 -06:00
4c813c47e4 ASGI: Conditionally create SERVER spans (#843) 2022-01-07 15:12:58 -06:00
3de29868a9 Add traceresponse headers for asgi apps (FastAPI, Starlette) (#817)
This asgi version is modeled after the original wsgi version in #436 and corresponds to the SERVER span. Also cleans up some of the existing ASGI functionality to reduce complexity and make future contributions more straightforward.
2021-12-25 21:52:28 +00:00
26aa17f8e9 Support older pika versions (#837)
* feat: support older pika versions

* update tox.ini

* update changelog

* take version from pika

* avoid exception when property name changes

* add callback attr name test
2021-12-26 03:03:22 +05:30
30d0c2ea90 Conditionally create server spans for flask (#828)
* Making span as internal in presence of a span in current context

* Updating changelog

* Removing extra print statements

* Resolving comments: Setting current context as parent in its presence

* Ignoring pylint check as django.conf.urls.url is removed in django 4.0
Django release notes: https://docs.djangoproject.com/en/4.0/releases/4.0/

* Removing changes in django files
2021-12-20 11:48:59 +00:00
0786aa49ad updating changelogs and version to 1.8.0-0.27b0 (#835) 2021-12-17 22:34:57 +05:30
07f81461df lambda instrumentation - support for flush timeout (#825)
* lambda instrumentation - support for flush timeout

* Update instrumentation/opentelemetry-instrumentation-aws-lambda/tests/test_aws_lambda_instrumentation_manual.py

Co-authored-by: (Eliseo) Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>

* Update instrumentation/opentelemetry-instrumentation-aws-lambda/tests/test_aws_lambda_instrumentation_manual.py

Co-authored-by: (Eliseo) Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>

* fixing lint

* fixing django lint

Co-authored-by: (Eliseo) Nathaniel Ruiz Nowell <enruizno@uwaterloo.ca>
2021-12-14 18:06:36 +05:30
e6dff7e5d1 Add support instrumentation for Tornado 5.1.1 (#812)
* Add support instrumentation for Tornado 5.1.1

* update CHANGELOG.md
2021-11-17 17:34:25 +00:00
a9507b3d1d updating changelogs and version to 1.7.1-0.26b1 (#809) 2021-11-12 01:30:47 +05:30
7cf29b4000 Rename opentelemetry-test to opentelemetry-test-utils (#807)
* updating changelogs and version to 1.7.0-0.26b0

* Rename opentelemetry-test to opentelemetry-test-utils
2021-11-11 19:11:12 +00:00
e621d637e9 updating changelogs and version to 1.7.0-0.26b0 (#805) 2021-11-11 18:55:06 +00:00
055a50c798 botocore: Add Lambda extension (#760)
* botocore: Add Lambda extension

* add extension to add additional attributes for lambda invoke
  calls
* move lambda specific tests to separate module

* changelog

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
Co-authored-by: Owais Lone <owais@users.noreply.github.com>
2021-11-11 13:01:16 +00:00
10d8e26a78 Fix sqlalchemy for postgres Unix sockets (#761)
* Fix sqlalchemy for postgres unix sockets

The following bit of replaced code contained a type inconsistency:

```py
attrs[SpanAttributes.NET_PEER_PORT] = int(data.get("port"))
```

`data.get` returns `Optional[str]` but `int(None)` throws a `TypeError`.

When using postgresql via unix socket `dsn` looks something like this:

```py
'user=postgres host=/tmp/socket dbname=postgres'
```

The `parse_dsn` function returns this:

```py
{'user': 'postgres', 'dbname': 'postgres', 'host': '/tmp/socket'}
```

* Update CHANGELOG

* Conditionally set net.transport for psql tcp/unix

* Use .value properties of enums

* Improve postgresql attribute detection from cursor

* Fix formatting

Co-authored-by: Matt Oberle <mattoberle@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2021-11-11 12:35:55 +00:00
5f1845d3c6 Use augmented assignment statements (#797)
Fixes #796
2021-11-10 23:42:44 +00:00
d4ad8f57be Add support for generic OTEL_PYTHON_EXCLUDED_URLS variable (#790)
* Add support for generic OTEL_PYTHON_EXCLUDED_URLS variable

Use `OTEL_PYTHON_EXCLUDED_URLS` environment variable as a fallback of
`OTEL_PYTHON_{instrumentation}_EXCLUDED_URLS`.

* Only use generic variable when instrumentation-specific is not set

* Change wording on docs

Co-authored-by: Leighton Chen <lechen@microsoft.com>
2021-11-10 22:44:02 +00:00
3137c1fa41 Upgrade black (#802) 2021-11-10 20:57:01 +00:00
760673fc45 pymongo instrumentation hooks (#793)
* pymongo instrumentation hooks

* update PR number
2021-11-09 09:14:55 -06:00
0c083ff6ea Support PyMySQL 1.x series (#792)
Fixes #791
2021-11-06 17:18:50 +05:30
671aea32f9 Add instrumentation for AWS Lambda Service - Implementation (Part 2/2) (#777)
* Add instrumentation for AWS Lambda Service - Implementation

* Lambda is CONSUMER SQS trace if 'Records' key in Lambda event

* More robust check of SQS by indexing and catching

* Explicitly catch errors we expect when determinig if SQS triggered Lambda
2021-11-01 20:02:58 +05:30
9dc3bbb8dc django: Fix instrumentation and tests for all Django major versions (#780) 2021-10-28 13:52:36 -07:00
335a14c682 adding CI testing for python 3.10 (#742) 2021-10-26 21:43:23 +00:00