Commit Graph

1669 Commits

Author SHA1 Message Date
Owais Lone 3137c1fa41
Upgrade black (#802) 2021-11-10 20:57:01 +00:00
Owais Lone f4d09f956a
Remove special support for celery from sitecustomize (#799)
This is not required anymore after merging https://github.com/open-telemetry/opentelemetry-python/pull/2242
2021-11-10 17:17:36 +05:30
ItayGibel-helios 760673fc45
pymongo instrumentation hooks (#793)
* pymongo instrumentation hooks

* update PR number
2021-11-09 09:14:55 -06:00
Diego Hurtado 59933299ef
Use __name__ instead of __file__ (#794)
Fixes #787
2021-11-09 04:59:03 +05:30
Owais Lone 0c083ff6ea
Support PyMySQL 1.x series (#792)
Fixes #791
2021-11-06 17:18:50 +05:30
(Eliseo) Nathaniel Ruiz Nowell 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
Michael Manganiello 9dc3bbb8dc
`django`: Fix instrumentation and tests for all Django major versions (#780) 2021-10-28 13:52:36 -07:00
Matt Oberle 6912c3963d
Add setuptools instrumentation install requirement (#781)
The `setuptools` package is not part of the stdlib, but often available
in the system environment (it is a buildtime requirement).

`pkg_resources` (a package provided by `setuptools`) is used as
a runtime requirement in `opentelemetry-instrumentation`. Explicitly
listing `setuptools` as a requirement protects instrumentation from
breaking with import errors in cases where `setuptools` is not available
system-wide.

For example:

* A multi-stage Docker build where the final image does not contain
buildtime requirements.
* A build system that packages the runtime dependencies into a single
binary.

This commit pins `setuptools >= 16.0` because that is the first release
that included all 5 imports instrumentation currently relies on.

Co-authored-by: Matt Oberle <mattoberle@users.noreply.github.com>
2021-10-28 04:23:10 +05:30
Alex Boten 335a14c682
adding CI testing for python 3.10 (#742) 2021-10-26 21:43:23 +00:00
Leighton Chen 76a5cda307
Don't set STATUS on SpanKind SERVER for 4XX status (#776) 2021-10-26 11:44:44 -07:00
(Eliseo) Nathaniel Ruiz Nowell dbc6a86bf1
Add instrumentation for AWS Lambda Service - pkg metadata files (Part 1/2) (#739)
* Add instrumentation for AWS Lambda Service

* Add AWS Lambda package metadata files
2021-10-26 20:58:12 +05:30
ItayGibel-heliosphere 286f26bbed
Pika - add publish_hook and consume_hook (#763) 2021-10-26 11:23:11 +02:00
Michael Manganiello 4b9b6dc18e
django: Fix carrier usage on ASGI requests (#767)
* django: Fix carrier usage on ASGI requests

For ASGI requests, we must use `request.scope` instead of
`request.META`. This is because `ASGIGetter` retrieves the `headers` key
from the carrier [0], which is only present in `request.scope`.

[0] https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py#L133

* Add unit tests
2021-10-25 16:14:47 +00:00
Michael Manganiello 3a78439307
`falcon`: Drop support for Python 3.4 (#774)
Remove unwanted support for Python versions <3.6.
This integration mistakenly lists Python 3.4 support, because it was
merged in
https://github.com/open-telemetry/opentelemetry-python/pull/1039,
after the merge of
https://github.com/open-telemetry/opentelemetry-python/pull/1099, so the
latter didn't consider `falcon`.

Python 3.4 is broken nevertheless, as this integration already includes
f-strings and other `opentelemetry` dependencies, which require Python 3.6.

Fixes #772.
2021-10-25 20:55:09 +05:30
Michael Manganiello 07c52aad38
Refactor code using pyupgrade for Python 3.6 (#770)
* Refactor code using pyupgrade for Python 3.6

This diff is the result of applying the following command to the
project:

```shell
find . -type f -name "*.py" -exec pyupgrade --py36-plus '{}' +
```

* Simplify yield from
2021-10-24 07:04:06 +05:30
oxeye-yuval 3ff06da2fb
Bugfix: Pika basicConsume context propagation (#766) 2021-10-21 10:50:52 -07:00
Leighton Chen ae7a415f47
Consolidate instrumentation documentation in docstrings (#754) 2021-10-21 09:54:30 -07:00
Owais Lone 3049b4bfc5
Added asgiref depedency to opentelemetry-instrumentation-asgi (#765)
opentelemetry-instrumentaiton-asgi does not contain an instrumentor for
asgiref. Instead, it implements an ASGI middleware that other
instrumentors import and use. As such, other instrumentors can take a
dependency on this package without asgiref being installed locally. This
commit adds `asgiref` as a dependency to the
opentelemetry-instrumentation-asgi package so the middleware can
function properly when used by another instrumentation.
2021-10-21 02:10:03 +05:30
Nikolay Sokolik c24c77dd3a
Bugfix/instrument basic publish in pika (#759) 2021-10-19 14:02:24 -07:00
Michael Manganiello 433b8565da
opentelemetry-instrument: Fix documented options (#747) 2021-10-19 19:18:11 +00:00
Owais Lone d158a5f3b8
Prepare release v1.6.2 and 0.25b2 (#762) 2021-10-20 00:00:28 +05:30
Owais Lone 27e58e5e3a
Re-enable CI generate check and generate bootstrap_gen (#757)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2021-10-19 16:38:16 +00:00
alrex 22b069baae
default value is invalid, was renamed (#755)
* default value is invalid, was renamed

* Update CHANGELOG.md

Co-authored-by: Owais Lone <owais@users.noreply.github.com>
2021-10-19 15:55:41 +00:00
(Eliseo) Nathaniel Ruiz Nowell f13b339a91
Check Request ID format on S3 call (#750) 2021-10-19 07:18:58 +00:00
(Eliseo) Nathaniel Ruiz Nowell 9e57fbad8e
Release AWS Python SDK Extension as 2.0.1 and AWS Propagator as 1.0.1 (#753) 2021-10-18 14:51:52 -07:00
Leighton Chen f3dde6b628
updating changelogs and version to 1.6.1-0.25b1 (#751) 2021-10-18 13:04:04 -07:00
(Eliseo) Nathaniel Ruiz Nowell c6ec4866ea
Remove unnecessary deps on test pkgs (#752) 2021-10-18 19:39:27 +00:00
Mario Jonke 3058281f5e
botocore: Add DynamoDB extension (#735)
* botocore: Add dynamodb extension

* extract addtional DynamoDB specific attributes according to the spec
* move DynamoDB tests to separate test module

* changelog

* add license info

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2021-10-18 11:53:06 +02:00
Nikolay Sokolik bf41b2e33f
Bugfix/set default headers for properties in pika (#740)
* Bugfix the porperties.headers in the pika instrumentation, and write tests that ensure it

* Ensure that BasicProperties is called with headers={}

* Update CHANGELOG.md

* Update the span kind from SERVER/CLIENT to PRODUCER/CONSUMER

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2021-10-17 17:38:00 +05:30
Owais Lone 4e3aaa51ec
Fixed changelog (#746) 2021-10-15 19:02:33 +00:00
Owais Lone 8ad84a56d0
Remove HTTPClientInstrumentor instrumentation entry point (#745)
Fixes #744

This is a temporary hotfix for the issue linked above. We'll need to
figure out a proper fix later.
2021-10-16 00:12:52 +05:30
(Eliseo) Nathaniel Ruiz Nowell f7256f5236
Fix build script to not release stable pkgs (#743) 2021-10-15 13:54:56 +02:00
Andrew Matteson b5d3074e8f
Implement checking for suppression key in pymongo instrumentation (#736)
* Implement checking for suppression key


Add test for suppression key with pymongo


changelog update

* Linting

* pylint

* Bad reformat

* Update changelog with PR

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2021-10-15 00:27:30 +00:00
alrex face2a3272
refactor common test code to use utility method (#700) 2021-10-14 22:19:02 +00:00
alrex 3ebfdb1a54
adding missing python 3.9 classifier (#741) 2021-10-14 21:52:44 +00:00
Owais Lone 7cf3cb42cf
Add instrumentation and distro packages (#738)
Now that SDK does not depend on opentelemetry-instrumentation
anymore and opentelemetry-instrumentation has actual build time
dependencies on the contrib repo, it makes maintanence a lot
easier if we move opentelemetry-instrumentation to contrib repo.
opentelemetry-distro depends on opentelemetry-instrumentation
and is being moved as well. Neither of the two packages are
really part of "core" Otel python anyway.
2021-10-14 20:35:28 +00:00
Ben Campbell 3f3de86df5
Fix RuntimeError: Working outside of request context. (#734) 2021-10-14 18:07:49 +00:00
Leighton Chen 9f6c97af9f
Release/1.6.0 0.25b0 (#732) 2021-10-13 14:54:52 -07:00
(Eliseo) Nathaniel Ruiz Nowell cf718aab1f
Path of AWS Propagator tests match src structure (#733) 2021-10-13 05:53:20 +05:30
Remi Rampin 1b75672e73
Don't create Elasticsearch span names containing document IDs (#705)
* Fix typo: _DEFALT_OP_NAME

* Extract ES document ID from URL, put in attributes

Elasticsearch creates URLs for index() and delete() before they hit
perform_request(). This means there would be many unique span names
containing unique document IDs, of the form
'Elasticsearch/indexname/_doc/documentid'.

This extracts the document ID from the URL and replaces it with ':id',
then puts it in the span's attributes.

* Add TODO comment with link to issue

* Add CHANGELOG entry

* Don't use custom doc types, deprecated in ES 7

* Update tests to match instrumentation
2021-10-13 04:00:00 +05:30
(Eliseo) Nathaniel Ruiz Nowell 4046fdb0a2
Rename AWS X-Ray propagator test file for to change (#731) 2021-10-13 01:57:07 +05:30
(Eliseo) Nathaniel Ruiz Nowell 78f887ef3d
Better file naming for AWS XRay Propagator + Add NathanielRN as Propagator owner (#729) 2021-10-12 19:08:16 +00:00
Jim Myers e8af7a3339
Respect provided tracer provider when instrumenting SQLAlchemy (#728)
* respect provided tracer provider when instrumenting sqlalchemy

This change updates the SQLALchemyInstrumentor to respect the tracer
provider that is passed in through the kwargs when patching the
`create_engine` functionality provided by SQLAlchemy. Previously, it
would default to the global tracer provider.

* feedback: pass in tracer_provider directly rather than kwargs

* feedback: update changelog

* build: lint
2021-10-12 17:49:22 +00:00
Michael Manganiello 5105820fff
Add Django ASGI support (#391) 2021-10-12 10:28:03 -07:00
andrew-matteson 36275f3cbf
Expand allowed versions for jinja2 instrumentation (#712)
* Expand allowed versions

The Jinja2 API hasn't changed the functions that have been wrapped in at least 8 years.
The version supported should be much more broad.

* don't include 4+

* Update changelog

* Fix test that depends on lru_cache now

* tox -e generate

* Make test setup backwards compatible

* Update for code review feedback

* Disable linting check

* Fix black formatting issue

* Update readme from tox -e generate

* Update core repo sha

Co-authored-by: alrex <aboten@lightstep.com>
Co-authored-by: Leighton Chen <lechen@microsoft.com>
Co-authored-by: Owais Lone <owais@users.noreply.github.com>
2021-10-12 16:15:16 +00:00
(Eliseo) Nathaniel Ruiz Nowell 224780f38d
Move AWS X-Ray Propagator into its own package (#720)
Co-authored-by: Owais Lone <owais@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2021-10-12 15:44:03 +00:00
Mario Jonke c3df816ad8
botocore: Introduce instrumentation extensions (#718)
* botocore: Introduce instrumentation extensions

* add extensions that are invoked before and after an AWS SDK
  service call to enrich the span with service specific request and
  response attirbutes
* move SQS specific parts to a separate extension

* changelog

Co-authored-by: Owais Lone <owais@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2021-10-12 15:29:35 +00:00
Owais Lone b41a91713e
Fix mssql docker tests v4 (#727)
* Remove unneded CI steps

These were not really needed and got in by mistake.

* Fix broken mssql integration tests

We were giving mssql server 10 seconds to start before creating the test
database. It now takes Github CI more than 10 seconds to start the mssql
server. Instead of increasing the leeway with guesses, this commit moves
the creation of test database from docker compose to the python test suite.
This allows the docker image to come up first and then create the DB
inside the test suite with proper retry mechanism that is already in
place.
2021-10-12 17:19:13 +02:00
Owais Lone cc2e7d276b
Fix mssql docker tests v2 (#723)
* Pin ubuntu to 20.04 in CI

* Fix mssql docker tests
2021-10-12 01:43:32 +05:30
DJ Gregor 7f00fb88f2
Fix doc error in file-level code block (#710) 2021-10-11 09:51:52 -07:00