Skip to content

Commit df8a761

Browse files
povilasvbitnahiansrikanthccvshalevropentelemetrybot
authored
merge upstream changes to coralogix-python-dev (#6)
* Add otelTraceSampled to instrumetation-logging (open-telemetry#1773) * Add otelTraceSampled to instrumetation-logging * Updated code with black * Added to CHANGELOG.md --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> * Expand sqlalchemy pool.name to follow the semantic conventions (open-telemetry#1778) * Skip requests tests for pypy3 (open-telemetry#1806) * Update version to 1.19.0.dev/0.40b0.dev (open-telemetry#1797) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> * Resource detector for container properties (open-telemetry#1584) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> Co-authored-by: Leighton Chen <lechen@microsoft.com> * botocore: always use x-ray for http header injection (open-telemetry#1741) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * Refactor CODEOWNERS file (open-telemetry#1804) * Refactor CODEOWNERS file Fixes open-telemetry#1803 * Remove CODEOWNERS * Refactor component owners configuration * Refactor CODEOWNERS to select any file but the ones in instrumentation --------- Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * Update maintainers list (open-telemetry#1817) * skip urllib3 test on pypy3 (open-telemetry#1826) * Fix celery docker tests (open-telemetry#1841) * Use HTTP mock server for aiohttp tests (open-telemetry#1849) Fixes open-telemetry#1842 * Use HTTP mock server for tornado tests (open-telemetry#1855) * Use HTTP mock server for tornado tests Fixes open-telemetry#1681 * Fix lint * Remove use of httpbin (open-telemetry#1854) * Use `request_ctx` to determine whether or not `_teardown_request` should end flask span (open-telemetry#1692) Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * remove srikanthccv from maintainers (open-telemetry#1792) Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * Sanitize redis db_statement by default (open-telemetry#1776) Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * Relax httpx version to allow >= 0.18.0 (open-telemetry#1748) * Issue open-telemetry#1757 - Update HTTP server/client instrumentation span names (open-telemetry#1759) Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> * Fix falcon usage of Span Status (open-telemetry#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> * Request Flask attributes passed to Sampler (open-telemetry#1784) * Request Flask attributes passed to Sampler * Update changelog * Lint * Fix botocore test keyerror * Revert "Fix botocore test keyerror" This reverts commit fd03c55. * botocore test does get_queue_url * Revert "botocore test does get_queue_url" This reverts commit 9530cd2. * Update changelog --------- Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * Fixed urllib3 instrumentation example in instrumentation documentation (open-telemetry#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> * Fix Invalid type NoneType for attribute X error | AWS-Lambda instrumentation (open-telemetry#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> * Add metrics instrumentation celery (open-telemetry#1679) Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * Add support for confluent_kafka until 2.1.1 version (open-telemetry#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> * fix redis doc (open-telemetry#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> * Add http.server.response.size metric to ASGI implementation. (open-telemetry#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> * fix: Update falcon instrumentation to follow semantic conventions (open-telemetry#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> * Bump requests from 2.28.1 to 2.31.0 (open-telemetry#1818) Bumps [requests](https://github.com/psf/requests) from 2.28.1 to 2.31.0. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](psf/requests@v2.28.1...v2.31.0) --- updated-dependencies: - dependency-name: requests dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * fix(grpc): Allow gRPC connections via Unix socket (open-telemetry#1833) * fix(grpc): Allow gRPC connections via Unix socket This commit addresses issue open-telemetry#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> * Add http.server.request.size for ASGI metric implementation (open-telemetry#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> * Fix elastic-search sanitization for bulk queries (open-telemetry#1870) * support sanitization for str body response * add CHANGELOG entry --------- Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * Add conditional elastic_transport import (open-telemetry#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> * Fix async redis clients tracing (open-telemetry#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> * Update maintainers list (open-telemetry#1874) * Use a weak reference to sqlalchemy Engine to avoid memory leak (open-telemetry#1771) * Use a weak reference to sqlalchemy Engine to avoid memory leak Closes open-telemetry#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> * sqlalchemy wrap_create_engine now accepts sqlcommenter options (open-telemetry#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> * Add statement of maintainership (open-telemetry#1859) Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * urllib3: Add instrumentation support for version 2 (open-telemetry#1879) * urllib3: Add instrumentation support for version 2 * changelog * Distro selection (open-telemetry#1823) * fix(django): avoid empty span name on empty path (open-telemetry#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> * Instrument mysqlclient library (open-telemetry#1744) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * Update version to 1.20.0.dev/0.41b0.dev (open-telemetry#1885) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * Fix pyyaml version (open-telemetry#1892) * update awslambda to use _X_AMZN_TRACE_ID as a Span Link (open-telemetry#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> * Fix UnboundLocalError local variable 'start' referenced before assignment (open-telemetry#1889) Co-authored-by: Pablo Collins <pablo.collins@gmail.com> * 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> * Fix errors introduced in regression (open-telemetry#1913) * Azure resource detectors (open-telemetry#1901) * Revert "update awslambda to use _X_AMZN_TRACE_ID as a Span Link" (open-telemetry#1911) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * feat(confluent-kafka): Add instrumentation to consume method (open-telemetry#1786) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * Add Cassandra instrumentation (open-telemetry#1902) * Unwrap Celery's `ExceptionInfo` (open-telemetry#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 * doc: fix `commenter_options` type (open-telemetry#1926) Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> * Update version to 1.21.0.dev/0.42b0.dev (open-telemetry#1930) Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> * Modify eachdist and build script for container packages (open-telemetry#1949) * Update pyproject.toml (open-telemetry#1950) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Nahian-Al Hasan <nahian97@gmail.com> Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com> Co-authored-by: Shalev Roda <65566801+shalevr@users.noreply.github.com> Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com> Co-authored-by: Sanket Mehta <sankmeht@cisco.com> Co-authored-by: Leighton Chen <lechen@microsoft.com> Co-authored-by: Tristan Sloughter <t@crashfast.com> Co-authored-by: Matthew Grossman <matt@mrgrossman.com> Co-authored-by: Nimrod Shlagman <nemos@cisco.com> Co-authored-by: Phillip Verheyden <pverheyden@gmail.com> Co-authored-by: Maciej Nachtygal <82878433+macieyng@users.noreply.github.com> Co-authored-by: Filip Nikolovski <me@filipnikolovski.com> Co-authored-by: Tammy Baylis <96076570+tammy-baylis-swi@users.noreply.github.com> Co-authored-by: Yashaswi Makula <yashaswi.makula@gmail.com> Co-authored-by: Iman Shafiei <imanshafiei540@gmail.com> Co-authored-by: Akochavi <121871419+Akochavi@users.noreply.github.com> Co-authored-by: David Gonoradsky <david@gethelios.dev> Co-authored-by: Ran Nozik <ran@gethelios.dev> Co-authored-by: Pablo Collins <pablo.collins@gmail.com> Co-authored-by: Iman Shafiei <iman.shafiei@earthdaily.com> Co-authored-by: Michael <mshebeko@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matt Oberle <matt.r.oberle@gmail.com> Co-authored-by: Matt Oberle <mattoberle@users.noreply.github.com> Co-authored-by: Vivanov98 <66319645+Vivanov98@users.noreply.github.com> Co-authored-by: Rytis Bagdziunas <rbagd@users.noreply.github.com> Co-authored-by: Mario Jonke <mario.jonke@dynatrace.com> Co-authored-by: Jeremy Voss <jerevoss@gmail.com> Co-authored-by: Marc Dougherty <muncus@users.noreply.github.com> Co-authored-by: Alexandre Papin <alexandre.papin@indaclouds.fr> Co-authored-by: Ron Yishai <ronyish@cisco.com> Co-authored-by: Thomas LÉVEIL <thomasleveil@users.noreply.github.com> Co-authored-by: Jakub Warczarek <jakub.warczarek@gmail.com> Co-authored-by: Raphael Philipe Mendes da Silva <rapphil@gmail.com> Co-authored-by: Javier Fernández Rodríguez <rfjgoo@gmail.com> Co-authored-by: mattcontinisio <mrcontinisio@gmail.com> Co-authored-by: Noemi <45180344+unflxw@users.noreply.github.com> Co-authored-by: João Thallis <joaothallis@icloud.com>
1 parent dc1cc5e commit df8a761

File tree

228 files changed

+5777
-1115
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+5777
-1115
lines changed

.github/CODEOWNERS

+7-21
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,12 @@
1-
# Code owners file.
2-
# This file controls who is tagged for review for any given pull request.
3-
#
4-
# What is a "CODEOWNER"?
5-
#
6-
# A CODEOWNER lends their expertise to a specific package hosted by an OpenTelemetry repository.
7-
#
8-
# A CODEOWNER MUST:
9-
# - introduce themselves on the CNCF OTel Python channel: https://cloud-native.slack.com/archives/C01PD4HUVBL
10-
# - have enough knowledge of the corresponding instrumented library
11-
# - respond to issues
12-
# - fix failing unit tests or any other blockers to the CI/CD workflow
13-
# - update usage of `opentelemetry-python-core` APIs upon the introduction of breaking changes
14-
# - be a member of the OpenTelemetry community so that the `component-owners.yml` action to automatically assign CODEOWNERS to PRs works correctly.
15-
#
1+
# This file is only used as a way to assign any change to the approvers team
2+
# except for a change in any of the instrumentations. The actual codeowners
3+
# of the instrumentations are in .github/component_owners.yml.
164

17-
18-
# For anything not explicitly taken by someone else:
5+
# Assigns any change to the approvers team...
196
* @open-telemetry/opentelemetry-python-contrib-approvers
207

8+
# ...except for changes in any instrumentation.
9+
/instrumentation
10+
2111
# Learn about CODEOWNERS file format:
2212
# https://help.github.com/en/articles/about-code-owners
23-
#
24-
# Learn about membership in OpenTelemetry community:
25-
# https://github.com/open-telemetry/community/blob/main/community-membership.md
26-
#

.github/component_owners.yml

+18
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ components:
33
docs/instrumentation:
44
- nemoshlag
55

6+
67
instrumentation/opentelemetry-instrumentation-aio-pika:
78
- ofek1weiss
89

@@ -43,9 +44,26 @@ components:
4344

4445
instrumentation/opentelemetry-instrumentation-urllib:
4546
- shalevr
47+
- ocelotl
4648

4749
instrumentation/opentelemetry-instrumentation-urllib3:
4850
- shalevr
51+
- ocelotl
4952

5053
instrumentation/opentelemetry-instrumentation-sqlalchemy:
5154
- shalevr
55+
56+
instrumentation/opentelemetry-instrumentation-flask:
57+
- ocelotl
58+
59+
instrumentation/opentelemetry-instrumentation-jinja2:
60+
- ocelotl
61+
62+
instrumentation/opentelemetry-instrumentation-logging:
63+
- ocelotl
64+
65+
instrumentation/opentelemetry-instrumentation-requests:
66+
- ocelotl
67+
68+
instrumentation/opentelemetry-instrumentation-cassandra:
69+
- mattcontinisio

.github/workflows/test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- 'release/*'
77
pull_request:
88
env:
9-
CORE_REPO_SHA: 2387b4465d930b020df79692a8097e1d54b66ec1
9+
CORE_REPO_SHA: 0ef76a5cc39626f783416ca75e43556e2bb2739d
1010

1111
jobs:
1212
build:
@@ -24,7 +24,7 @@ jobs:
2424
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
2525
matrix:
2626
python-version: [ py37, py38, py39, py310, py311, pypy3 ]
27-
package: ["instrumentation", "distro", "exporter", "sdkextension", "propagator"]
27+
package: ["instrumentation", "distro", "exporter", "sdkextension", "propagator", "resource"]
2828
os: [ ubuntu-20.04 ]
2929
steps:
3030
- name: Checkout Contrib Repo @ SHA - ${{ github.sha }}

CHANGELOG.md

+92-4
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,118 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## Unreleased
99

10-
- `opentelemetry-instrumentation-system-metrics` Add `process.` prefix to `runtime.memory`, `runtime.cpu.time`, and `runtime.gc_count`. Change `runtime.memory` from count to UpDownCounter. ([#1735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1735))
10+
## Version 1.20.0/0.41b0 (2023-09-01)
11+
12+
### Fixed
13+
14+
- `opentelemetry-instrumentation-asgi` Fix UnboundLocalError local variable 'start' referenced before assignment
15+
([#1889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1889))
16+
- Fixed union typing error not compatible with Python 3.7 introduced in `opentelemetry-util-http`, fix tests introduced by patch related to sanitize method for wsgi
17+
([#1913](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1913))
18+
- `opentelemetry-instrumentation-celery` Unwrap Celery's `ExceptionInfo` errors and report the actual exception that was raised. ([#1863](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1863))
19+
20+
### Added
21+
22+
- `opentelemetry-resource-detector-azure` Add resource detectors for Azure App Service and VM
23+
([#1901](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1901))
24+
25+
## Version 1.19.0/0.40b0 (2023-07-13)
26+
- `opentelemetry-instrumentation-asgi` Add `http.server.request.size` metric
27+
([#1867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1867))
28+
29+
### Fixed
30+
31+
- `opentelemetry-instrumentation-django` Fix empty span name when using
32+
`path("", ...)` ([#1788](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1788)
33+
- Fix elastic-search instrumentation sanitization to support bulk queries
34+
([#1870](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1870))
35+
- Update falcon instrumentation to follow semantic conventions
36+
([#1824](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1824))
37+
- Fix sqlalchemy instrumentation wrap methods to accept sqlcommenter options
38+
([#1873](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1873))
39+
40+
### Added
41+
42+
- Add instrumentor support for cassandra and scylla
43+
([#1902](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1902))
44+
- Add instrumentor support for mysqlclient
45+
([#1744](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1744))
46+
- Fix async redis clients not being traced correctly
47+
([#1830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1830))
48+
- Make Flask request span attributes available for `start_span`.
49+
([#1784](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1784))
50+
- Fix falcon instrumentation's usage of Span Status to only set the description if the status code is ERROR.
51+
([#1840](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1840))
52+
- Instrument all httpx versions >= 0.18.
53+
([#1748](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1748))
54+
- Fix `Invalid type NoneType for attribute X (opentelemetry-instrumentation-aws-lambda)` error when some attributes do not exist
55+
([#1780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1780))
56+
- Add metric instrumentation for celery
57+
([#1679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1679))
58+
- `opentelemetry-instrumentation-asgi` Add `http.server.response.size` metric
59+
([#1789](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1789))
60+
- `opentelemetry-instrumentation-grpc` Allow gRPC connections via Unix socket
61+
([#1833](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1833))
62+
- Fix elasticsearch `Transport.perform_request` instrument wrap for elasticsearch >= 8
63+
([#1810](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1810))
64+
- `opentelemetry-instrumentation-urllib3` Add support for urllib3 version 2
65+
([#1879](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1879))
66+
- Add optional distro and configurator selection for auto-instrumentation
67+
([#1823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1823))
68+
69+
### Added
70+
- `opentelemetry-instrumentation-kafka-python` Add instrumentation to `consume` method
71+
([#1786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1786))
72+
73+
## Version 1.18.0/0.39b0 (2023-05-10)
74+
75+
- Update runtime metrics to follow semantic conventions
76+
([#1735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1735))
1177
- Add request and response hooks for GRPC instrumentation (client only)
1278
([#1706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1706))
79+
- Fix memory leak in SQLAlchemy instrumentation where disposed `Engine` does not get garbage collected
80+
([#1771](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1771))
1381
- `opentelemetry-instrumentation-pymemcache` Update instrumentation to support pymemcache >4
1482
([#1764](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1764))
83+
- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions of confluent_kafka
84+
([#1815](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1815))
1585

1686
### Added
1787

88+
- Expand sqlalchemy pool.name to follow the semantic conventions
89+
([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778))
1890
- Add `excluded_urls` functionality to `urllib` and `urllib3` instrumentations
1991
([#1733](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1733))
20-
- Make Django request span attributes available for `start_span`.
92+
- Make Django request span attributes available for `start_span`.
2193
([#1730](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1730))
22-
- Make ASGI request span attributes available for `start_span`.
94+
- Make ASGI request span attributes available for `start_span`.
2395
([#1762](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1762))
2496
- `opentelemetry-instrumentation-celery` Add support for anonymous tasks.
25-
([#1407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1407)
97+
([#1407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1407))
98+
- `opentelemetry-instrumentation-logging` Add `otelTraceSampled` to instrumetation-logging
99+
([#1773](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1773))
100+
101+
### Changed
26102

103+
- `opentelemetry-instrumentation-botocore` now uses the AWS X-Ray propagator by default
104+
([#1741](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1741))
27105

28106
### Fixed
29107

108+
- Fix redis db.statements to be sanitized by default
109+
([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778))
30110
- Fix elasticsearch db.statement attribute to be sanitized by default
31111
([#1758](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1758))
32112
- Fix `AttributeError` when AWS Lambda handler receives a list event
33113
([#1738](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1738))
34114
- Fix `None does not implement middleware` error when there are no middlewares registered
35115
([#1766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1766))
116+
- Fix Flask instrumentation to only close the span if it was created by the same request context.
117+
([#1692](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1692))
118+
119+
### Changed
120+
- Update HTTP server/client instrumentation span names to comply with spec
121+
([#1759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1759))
36122

37123
## Version 1.17.0/0.38b0 (2023-03-22)
38124

@@ -121,6 +207,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
121207

122208
### Added
123209

210+
- `opentelemetry-resource-detector-container` Add support resource detection of container properties.
211+
([#1584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1584))
124212
- `opentelemetry-instrumentation-pymysql` Add tests for commit() and rollback().
125213
([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424))
126214
- `opentelemetry-instrumentation-fastapi` Add support for regular expression matching and sanitization of HTTP headers.

CONTRIBUTING.md

+11
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,17 @@ Open a pull request against the main `opentelemetry-python-contrib` repo.
124124
as `work-in-progress`, or mark it as [`draft`](https://github.blog/2019-02-14-introducing-draft-pull-requests/).
125125
* Make sure CLA is signed and CI is clear.
126126

127+
### How to Get PRs Reviewed
128+
129+
The maintainers and approvers of this repo are not experts in every instrumentation there is here.
130+
In fact each one of us knows enough about them to only review a few. Unfortunately it can be hard
131+
to find enough experts in every instrumentation to quickly review every instrumentation PR. The
132+
instrumentation experts are listed in `.github/component_owners.yml` with their corresponding files
133+
or directories that they own. The owners listed there will be notified when PRs that modify their
134+
files are opened.
135+
136+
If you are not getting reviews, please contact the respective owners directly.
137+
127138
### How to Get PRs Merged
128139

129140
A PR is considered to be **ready to merge** when:

README.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ depend on `opentelemetry-sdk` or another package that implements the API.
4949
**Please note** that these libraries are currently in _beta_, and shouldn't
5050
generally be used in production environments.
5151

52+
Unless explicitly stated otherwise, any instrumentation here for a particular library is not developed or maintained by the authors of such library.
53+
5254
The
5355
[`instrumentation/`](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation)
5456
directory includes OpenTelemetry instrumentation packages, which can be installed
@@ -95,12 +97,12 @@ Meeting notes are available as a public [Google doc](https://docs.google.com/doc
9597
Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telemetry/teams/python-approvers)):
9698

9799
- [Aaron Abbott](https://github.com/aabmass), Google
100+
- [Jeremy Voss](https://github.com/jeremydvoss), Microsoft
98101
- [Sanket Mehta](https://github.com/sanketmehta28), Cisco
99-
- [Shalev Roda](https://github.com/shalevr), Cisco
100102

101103
Emeritus Approvers:
102104

103-
- [Hector Hernandez](https://github.com/hectorhdzg), Microsoft
105+
- [Héctor Hernández](https://github.com/hectorhdzg), Microsoft
104106
- [Yusuke Tsutsumi](https://github.com/toumorokoshi), Google
105107
- [Nathaniel Ruiz Nowell](https://github.com/NathanielRN), AWS
106108
- [Ashutosh Goel](https://github.com/ashu658), Cisco
@@ -111,12 +113,13 @@ Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-t
111113

112114
- [Diego Hurtado](https://github.com/ocelotl), Lightstep
113115
- [Leighton Chen](https://github.com/lzchen), Microsoft
114-
- [Srikanth Chekuri](https://github.com/srikanthccv), signoz.io
116+
- [Shalev Roda](https://github.com/shalevr), Cisco
115117

116118
Emeritus Maintainers:
117119

118120
- [Alex Boten](https://github.com/codeboten), Lightstep
119121
- [Owais Lone](https://github.com/owais), Splunk
122+
- [Srikanth Chekuri](https://github.com/srikanthccv), signoz.io
120123

121124
*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer).*
122125

_template/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "0.39b0.dev"
15+
__version__ = "0.42b0.dev"

dev-requirements.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ bleach==4.1.0 # transient dependency for readme-renderer
1414
grpcio-tools==1.29.0
1515
mypy-protobuf>=1.23
1616
protobuf~=3.13
17-
markupsafe==2.0.1
17+
markupsafe>=2.0.1
1818
codespell==2.1.0
19-
requests==2.28.1
19+
requests==2.31.0
2020
ruamel.yaml==0.17.21

docs-requirements.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,16 @@ asyncpg>=0.12.0
2525
boto~=2.0
2626
botocore~=1.0
2727
boto3~=1.0
28+
cassandra-driver~=3.25
2829
celery>=4.0
29-
confluent-kafka>= 1.8.2,< 2.0.0
30+
confluent-kafka>= 1.8.2,<= 2.2.0
3031
elasticsearch>=2.0,<9.0
3132
flask~=2.0
3233
falcon~=2.0
3334
grpcio~=1.27
3435
kafka-python>=2.0,<3.0
3536
mysql-connector-python~=8.0
37+
mysqlclient~=2.1.1
3638
psutil>=5
3739
pika>=0.12.0
3840
pymongo~=3.1

docs/conf.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,13 @@
5454
if isdir(join(sdk_ext, f))
5555
]
5656

57-
sys.path[:0] = exp_dirs + instr_dirs + sdk_ext_dirs + prop_dirs
57+
resource = "../resource"
58+
resource_dirs = [
59+
os.path.abspath("/".join(["../resource", f, "src"]))
60+
for f in listdir(resource)
61+
if isdir(join(resource, f))
62+
]
63+
sys.path[:0] = exp_dirs + instr_dirs + sdk_ext_dirs + prop_dirs + resource_dirs
5864

5965
# -- Project information -----------------------------------------------------
6066

docs/index.rst

+10-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Extensions
3333

3434
Visit `OpenTelemetry Registry <https://opentelemetry.io/registry/?s=python>`_ to
3535
find a lot of related projects like exporters, instrumentation libraries, tracer
36-
implementations, etc.
36+
implementations, resource, etc.
3737

3838
Installing Cutting Edge Packages
3939
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -51,6 +51,7 @@ install <https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs>
5151
pip install -e ./instrumentation/opentelemetry-instrumentation-flask
5252
pip install -e ./instrumentation/opentelemetry-instrumentation-botocore
5353
pip install -e ./sdk-extension/opentelemetry-sdk-extension-aws
54+
pip install -e ./resource/opentelemetry-resource-detector-container
5455
5556
5657
.. toctree::
@@ -85,6 +86,14 @@ install <https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs>
8586

8687
sdk-extension/**
8788

89+
.. toctree::
90+
:maxdepth: 2
91+
:caption: OpenTelemetry Resource Detectors
92+
:name: Resource Detectors
93+
:glob:
94+
95+
resource/**
96+
8897
Indices and tables
8998
------------------
9099

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
OpenTelemetry Cassandra Instrumentation
2+
=======================================
3+
4+
.. automodule:: opentelemetry.instrumentation.cassandra
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
OpenTelemetry mysqlclient Instrumentation
2+
=========================================
3+
4+
.. automodule:: opentelemetry.instrumentation.mysqlclient
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

docs/resource/container/container.rst

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
OpenTelemetry Python - Resource Detector for Containers
2+
=======================================================
3+
4+
.. automodule:: opentelemetry.resource.detector.container
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

0 commit comments

Comments
 (0)