Skip to content

Commit efc69c8

Browse files
authored
Merge pull request #1 from open-telemetry/main
bring in sync
2 parents 42faa1a + a93bd74 commit efc69c8

File tree

11 files changed

+127
-111
lines changed

11 files changed

+127
-111
lines changed

.github/workflows/instrumentations_0.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
- "logging"
5858
- "mysql"
5959
- "mysqlclient"
60-
- "pika"
60+
- "sio-pika"
6161
- "psycopg2"
6262
- "pymemcache"
6363
- "pymongo"

.github/workflows/instrumentations_1.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
python-version: [py37, py38, py39, py310, py311, pypy3]
2727
package:
2828
- "urllib"
29-
- "urllib3"
29+
- "urllib3v"
3030
- "wsgi"
3131
- "distro"
3232
- "richconsole"

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector
1111
([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119))
12+
- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644)
13+
([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136))
1214

1315
## Version 1.22.0/0.43b0 (2023-12-14)
1416

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

7375
- `opentelemetry-resource-detector-azure` Add resource detectors for Azure App Service and VM
7476
([#1901](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1901))
77+
- `opentelemetry-instrumentation-flask` Add support for Flask 3.0.0
78+
([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2013))
7579

7680
## Version 1.19.0/0.40b0 (2023-07-13)
7781
- `opentelemetry-instrumentation-asgi` Add `http.server.request.size` metric

instrumentation/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
| [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 2.0 | No
2020
| [opentelemetry-instrumentation-falcon](./opentelemetry-instrumentation-falcon) | falcon >= 1.4.1, < 4.0.0 | Yes
2121
| [opentelemetry-instrumentation-fastapi](./opentelemetry-instrumentation-fastapi) | fastapi ~= 0.58 | Yes
22-
| [opentelemetry-instrumentation-flask](./opentelemetry-instrumentation-flask) | flask >= 1.0, < 3.0 | Yes
22+
| [opentelemetry-instrumentation-flask](./opentelemetry-instrumentation-flask) | flask >= 1.0 | Yes
2323
| [opentelemetry-instrumentation-grpc](./opentelemetry-instrumentation-grpc) | grpcio ~= 1.27 | No
2424
| [opentelemetry-instrumentation-httpx](./opentelemetry-instrumentation-httpx) | httpx >= 0.18.0 | No
2525
| [opentelemetry-instrumentation-jinja2](./opentelemetry-instrumentation-jinja2) | jinja2 >= 2.7, < 4.0 | No

instrumentation/opentelemetry-instrumentation-flask/pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ dependencies = [
3535

3636
[project.optional-dependencies]
3737
instruments = [
38-
"flask >= 1.0, < 3.0",
39-
"werkzeug < 3.0.0"
38+
"werkzeug < 3.0.0",
39+
"flask >= 1.0",
4040
]
4141
test = [
4242
"opentelemetry-instrumentation-flask[instruments]",

instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py

+12-2
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,16 @@ def response_hook(span: Span, status: str, response_headers: List):
251251
from opentelemetry import context, trace
252252
from opentelemetry.instrumentation.flask.package import _instruments
253253
from opentelemetry.instrumentation.flask.version import __version__
254+
255+
try:
256+
flask_version = flask.__version__
257+
except AttributeError:
258+
try:
259+
from importlib import metadata
260+
except ImportError:
261+
import importlib_metadata as metadata
262+
flask_version = metadata.version("flask")
263+
254264
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
255265
from opentelemetry.instrumentation.propagators import (
256266
get_global_response_propagator,
@@ -271,7 +281,7 @@ def response_hook(span: Span, status: str, response_headers: List):
271281

272282
_excluded_urls_from_env = get_excluded_urls("FLASK")
273283

274-
if package_version.parse(flask.__version__) >= package_version.parse("2.2.0"):
284+
if package_version.parse(flask_version) >= package_version.parse("2.2.0"):
275285

276286
def _request_ctx_ref() -> weakref.ReferenceType:
277287
return weakref.ref(flask.globals.request_ctx._get_current_object())
@@ -420,7 +430,7 @@ def _before_request():
420430
# https://flask.palletsprojects.com/en/1.1.x/api/#flask.has_request_context
421431
if flask and flask.request:
422432
if commenter_options.get("framework", True):
423-
flask_info["framework"] = f"flask:{flask.__version__}"
433+
flask_info["framework"] = f"flask:{flask_version}"
424434
if (
425435
commenter_options.get("controller", True)
426436
and flask.request.endpoint

instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/package.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
# limitations under the License.
1414

1515

16-
_instruments = ("flask >= 1.0, < 3.0",)
16+
_instruments = ("flask >= 1.0",)
1717

1818
_supports_metrics = True

opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,11 @@
8585
"instrumentation": "opentelemetry-instrumentation-fastapi==0.44b0.dev",
8686
},
8787
{
88-
"library": "flask >= 1.0, < 3.0",
88+
"library": "werkzeug < 3.0.0",
8989
"instrumentation": "opentelemetry-instrumentation-flask==0.44b0.dev",
9090
},
9191
{
92-
"library": "werkzeug < 3.0.0",
92+
"library": "flask >= 1.0",
9393
"instrumentation": "opentelemetry-instrumentation-flask==0.44b0.dev",
9494
},
9595
{

resource/opentelemetry-resource-detector-azure/src/opentelemetry/resource/detector/azure/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.1.1"
15+
__version__ = "0.1.2"

resource/opentelemetry-resource-detector-azure/src/opentelemetry/resource/detector/azure/vm.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ def get_azure_vm_metadata(self): # pylint: disable=no-self-use
6868
request = Request(_AZURE_VM_METADATA_ENDPOINT)
6969
request.add_header("Metadata", "True")
7070
try:
71-
with urlopen(request, timeout=10) as response:
71+
# TODO: Changed to 4s to fit into OTel SDK's 5 second timeout.
72+
# Lengthen or allow user input if issue is resolved.
73+
# See https://github.com/open-telemetry/opentelemetry-python/issues/3644
74+
with urlopen(request, timeout=4) as response:
7275
return loads(response.read())
7376
except URLError:
7477
# Not on Azure VM

0 commit comments

Comments
 (0)