Skip to content

Commit 36fff81

Browse files
authored
Merge branch 'main' into add-remoulade
2 parents ebf3066 + 2671ff5 commit 36fff81

File tree

103 files changed

+436
-350
lines changed

Some content is hidden

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

103 files changed

+436
-350
lines changed

.github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- 'release/*'
77
pull_request:
88
env:
9-
CORE_REPO_SHA: 516bf8ad04d628b20c103622f390f7a536142e9a
9+
CORE_REPO_SHA: 2c1cb20543fcc0bcfe5525d8a695e92babec06db
1010

1111
jobs:
1212
build:

.pylintrc

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ ignore=CVS,gen,Dockerfile,docker-compose.yml,README.md,requirements.txt
1212
# Add files or directories matching the regex patterns to be excluded. The
1313
# regex matches against base names, not paths.
1414
ignore-patterns=
15+
ignore-paths=exporter/opentelemetry-exporter-datadog/.*$
1516

1617
# Python code to execute, usually for sys.path manipulation such as
1718
# pygtk.require().

CHANGELOG.md

+27-6
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,47 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.11.0-0.30b0...HEAD)
8+
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.11.1-0.30b1...HEAD)
9+
10+
### Fixed
11+
- `opentelemetry-instrumentation-aiohttp-client` make span attributes available to sampler
12+
([1072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1072))
13+
- `opentelemetry-instrumentation-aws-lambda` Fixed an issue - in some rare cases (API GW proxy integration test)
14+
headers are set to None, breaking context propagators.
15+
([#1055](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1055))
16+
- Refactoring custom header collection API for consistency
17+
([#1064](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1064))
18+
19+
### Added
20+
- `opentelemetry-instrument` and `opentelemetry-bootstrap` now include a `--version` flag
21+
([#1065](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1065))
22+
23+
## [1.11.1-0.30b1](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.11.1-0.30b1) - 2022-04-21
24+
25+
### Added
26+
- `opentelemetry-instrumentation-starlette` Capture custom request/response headers in span attributes
27+
([#1046])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1046)
28+
29+
### Fixed
30+
- Prune autoinstrumentation sitecustomize module directory from PYTHONPATH immediately
31+
([#1066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1066))
932

1033
## [1.11.0-0.30b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.11.0-0.30b0) - 2022-04-18
1134

1235
### Fixed
1336
- `opentelemetry-instrumentation-pyramid` Fixed which package is the correct caller in _traced_init.
1437
([#830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/830))
1538
- `opentelemetry-instrumentation-tornado` Fix Tornado errors mapping to 500
16-
([#1048])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1048)
39+
([#1048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1048))
1740
- `opentelemetry-instrumentation-urllib` make span attributes available to sampler
1841
([1014](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1014))
1942
- `opentelemetry-instrumentation-flask` Fix non-recording span bug
20-
([#999])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)
43+
([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999))
2144
- `opentelemetry-instrumentation-tornado` Fix non-recording span bug
22-
([#999])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)
45+
([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999))
2346

2447
### Added
2548

26-
- `opentelemetry-instrumentation-starlette` Capture custom request/response headers in span attributes
27-
([#1046])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1046)
2849
- `opentelemetry-instrumentation-fastapi` Capture custom request/response headers in span attributes
2950
([#1032])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1032)
3051
- `opentelemetry-instrumentation-django` Capture custom request/response headers in span attributes

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telem
9898
- [Alex Boten](https://github.com/codeboten), Lightstep
9999
- [Nathaniel Ruiz Nowell](https://github.com/NathanielRN), AWS
100100
- [Owais Lone](https://github.com/owais), Splunk
101+
- [Sanket Mehta](https://github.com/sanketmehta28), Cisco
102+
- [Ashutosh Goel](https://github.com/ashu658), Cisco
101103

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

_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.30b0"
15+
__version__ = "0.30b1"

eachdist.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ sortfirst=
1616
ext/*
1717

1818
[stable]
19-
version=1.11.0
19+
version=1.11.1
2020

2121
packages=
2222
opentelemetry-sdk
@@ -34,7 +34,7 @@ packages=
3434
opentelemetry-api
3535

3636
[prerelease]
37-
version=0.30b0
37+
version=0.30b1
3838

3939
packages=
4040
all

exporter/opentelemetry-exporter-richconsole/setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ install_requires =
4343
rich>=10.0.0
4444
opentelemetry-api ~= 1.3
4545
opentelemetry-sdk ~= 1.3
46-
opentelemetry-semantic-conventions == 0.30b0
46+
opentelemetry-semantic-conventions == 0.30b1
4747

4848
[options.packages.find]
4949
where = src

exporter/opentelemetry-exporter-richconsole/src/opentelemetry/exporter/richconsole/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-aiohttp-client/setup.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-semantic-conventions == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
46-
opentelemetry-util-http == 0.30b0
44+
opentelemetry-semantic-conventions == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
46+
opentelemetry-util-http == 0.30b1
4747
wrapt >= 1.0.0, < 2.0.0
4848

4949
[options.packages.find]

instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/__init__.py

+11-14
Original file line numberDiff line numberDiff line change
@@ -180,27 +180,24 @@ async def on_request_start(
180180

181181
http_method = params.method.upper()
182182
request_span_name = f"HTTP {http_method}"
183+
request_url = (
184+
remove_url_credentials(trace_config_ctx.url_filter(params.url))
185+
if callable(trace_config_ctx.url_filter)
186+
else remove_url_credentials(str(params.url))
187+
)
188+
189+
span_attributes = {
190+
SpanAttributes.HTTP_METHOD: http_method,
191+
SpanAttributes.HTTP_URL: request_url,
192+
}
183193

184194
trace_config_ctx.span = trace_config_ctx.tracer.start_span(
185-
request_span_name,
186-
kind=SpanKind.CLIENT,
195+
request_span_name, kind=SpanKind.CLIENT, attributes=span_attributes
187196
)
188197

189198
if callable(request_hook):
190199
request_hook(trace_config_ctx.span, params)
191200

192-
if trace_config_ctx.span.is_recording():
193-
attributes = {
194-
SpanAttributes.HTTP_METHOD: http_method,
195-
SpanAttributes.HTTP_URL: remove_url_credentials(
196-
trace_config_ctx.url_filter(params.url)
197-
)
198-
if callable(trace_config_ctx.url_filter)
199-
else remove_url_credentials(str(params.url)),
200-
}
201-
for key, value in attributes.items():
202-
trace_config_ctx.span.set_attribute(key, value)
203-
204201
trace_config_ctx.token = context_api.attach(
205202
trace.set_span_in_context(trace_config_ctx.span)
206203
)

instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-aiopg/setup.cfg

+4-4
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-instrumentation-dbapi == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
44+
opentelemetry-instrumentation-dbapi == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
4646
wrapt >= 1.0.0, < 2.0.0
4747

4848
[options.extras_require]
4949
test =
50-
opentelemetry-test-utils == 0.30b0
51-
opentelemetry-semantic-conventions == 0.30b0
50+
opentelemetry-test-utils == 0.30b1
51+
opentelemetry-semantic-conventions == 0.30b1
5252

5353
[options.packages.find]
5454
where = src

instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-asgi/setup.cfg

+4-4
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-semantic-conventions == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
46-
opentelemetry-util-http == 0.30b0
44+
opentelemetry-semantic-conventions == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
46+
opentelemetry-util-http == 0.30b1
4747
asgiref ~= 3.0
4848

4949
[options.extras_require]
5050
test =
51-
opentelemetry-test-utils == 0.30b0
51+
opentelemetry-test-utils == 0.30b1
5252

5353
[options.packages.find]
5454
where = src

instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-asyncpg/setup.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-semantic-conventions == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
44+
opentelemetry-semantic-conventions == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
4646

4747
[options.extras_require]
4848
test =
49-
opentelemetry-test-utils == 0.30b0
49+
opentelemetry-test-utils == 0.30b1
5050

5151
[options.packages.find]
5252
where = src

instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-aws-lambda/setup.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ package_dir=
3838
=src
3939
packages=find_namespace:
4040
install_requires =
41-
opentelemetry-instrumentation == 0.30b0
41+
opentelemetry-instrumentation == 0.30b1
4242
opentelemetry-propagator-aws-xray == 1.0.1
43-
opentelemetry-semantic-conventions == 0.30b0
43+
opentelemetry-semantic-conventions == 0.30b1
4444

4545
[options.extras_require]
4646
test =
47-
opentelemetry-test-utils == 0.30b0
47+
opentelemetry-test-utils == 0.30b1
4848

4949
[options.packages.find]
5050
where = src

instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ def _default_event_context_extractor(lambda_event: Any) -> Context:
108108
Assumes the Lambda Event is a map with the headers under the 'headers' key.
109109
This is the mapping to use when the Lambda is invoked by an API Gateway
110110
REST API where API Gateway is acting as a pure proxy for the request.
111+
Protects headers from being something other than dictionary, as this
112+
is what downstream propagators expect.
111113
112114
See more:
113115
https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
@@ -118,12 +120,14 @@ def _default_event_context_extractor(lambda_event: Any) -> Context:
118120
Returns:
119121
A Context with configuration found in the event.
120122
"""
123+
headers = None
121124
try:
122125
headers = lambda_event["headers"]
123126
except (TypeError, KeyError):
124127
logger.debug(
125128
"Extracting context from Lambda Event failed: either enable X-Ray active tracing or configure API Gateway to trigger this Lambda function as a pure proxy. Otherwise, generated spans will have an invalid (empty) parent context."
126129
)
130+
if not isinstance(headers, dict):
127131
headers = {}
128132
return get_global_textmap().extract(headers)
129133

instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-boto/setup.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-semantic-conventions == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
44+
opentelemetry-semantic-conventions == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
4646

4747
[options.extras_require]
4848
test =
4949
moto~=2.0
50-
opentelemetry-test-utils == 0.30b0
50+
opentelemetry-test-utils == 0.30b1
5151
markupsafe==2.0.1
5252

5353
[options.packages.find]

instrumentation/opentelemetry-instrumentation-boto/src/opentelemetry/instrumentation/boto/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-botocore/setup.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-semantic-conventions == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
44+
opentelemetry-semantic-conventions == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
4646

4747
[options.extras_require]
4848
test =
4949
moto[all] ~= 2.2.6
50-
opentelemetry-test-utils == 0.30b0
50+
opentelemetry-test-utils == 0.30b1
5151
markupsafe==2.0.1
5252

5353
[options.packages.find]

instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-celery/setup.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-semantic-conventions == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
44+
opentelemetry-semantic-conventions == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
4646

4747
[options.extras_require]
4848
test =
4949
pytest
50-
opentelemetry-test-utils == 0.30b0
50+
opentelemetry-test-utils == 0.30b1
5151

5252
[options.packages.find]
5353
where = src

instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/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.30b0"
15+
__version__ = "0.30b1"

instrumentation/opentelemetry-instrumentation-dbapi/setup.cfg

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
opentelemetry-api ~= 1.3
44-
opentelemetry-semantic-conventions == 0.30b0
45-
opentelemetry-instrumentation == 0.30b0
44+
opentelemetry-semantic-conventions == 0.30b1
45+
opentelemetry-instrumentation == 0.30b1
4646
wrapt >= 1.0.0, < 2.0.0
4747

4848
[options.extras_require]
4949
test =
50-
opentelemetry-test-utils == 0.30b0
50+
opentelemetry-test-utils == 0.30b1
5151

5252
[options.packages.find]
5353
where = src

instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/version.py

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

15-
__version__ = "0.30b0"
15+
__version__ = "0.30b1"
1616

1717
_instruments = tuple()

0 commit comments

Comments
 (0)