Skip to content

opentelemetry.instrumentation.wsgi is does not support metrics #1217

@truekonrads

Description

@truekonrads

Describe your environment
Python 3.9.13

$ pyenv virtualenv otel-wsgi
created virtual environment CPython3.9.13.final.0-64 in 657ms
  creator CPython3Posix(dest=/home/truekonrads/.pyenv/versions/3.9.13/envs/otel-wsgi, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/truekonrads/.local/share/virtualenv)
    added seed packages: pip==22.2.1, setuptools==63.2.0, wheel==0.37.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
Looking in links: /tmp/tmphaoa_4q7
Requirement already satisfied: setuptools in /home/truekonrads/.pyenv/versions/3.9.13/envs/otel-wsgi/lib/python3.9/site-packages (63.2.0)
Requirement already satisfied: pip in /home/truekonrads/.pyenv/versions/3.9.13/envs/otel-wsgi/lib/python3.9/site-packages (22.2.1)
truekonrads@DESKTOP-DRFQE1S:~$ pyenv activate otel-wsgi
pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
(otel-wsgi) truekonrads@DESKTOP-DRFQE1S:~$ pip install opentelemetry-instrumentation-wsgi
Collecting opentelemetry-instrumentation-wsgi
  Using cached opentelemetry_instrumentation_wsgi-0.32b0-py3-none-any.whl (12 kB)
Collecting opentelemetry-semantic-conventions==0.32b0
  Using cached opentelemetry_semantic_conventions-0.32b0-py3-none-any.whl (26 kB)
Collecting opentelemetry-util-http==0.32b0
  Using cached opentelemetry_util_http-0.32b0-py3-none-any.whl (6.3 kB)
Collecting opentelemetry-api~=1.3
  Using cached opentelemetry_api-1.11.1-py3-none-any.whl (49 kB)
Collecting opentelemetry-instrumentation==0.32b0
  Using cached opentelemetry_instrumentation-0.32b0-py3-none-any.whl (23 kB)
Requirement already satisfied: setuptools>=16.0 in ./.pyenv/versions/3.9.13/envs/otel-wsgi/lib/python3.9/site-packages (from opentelemetry-instrumentation==0.32b0->opentelemetry-instrumentation-wsgi) (63.2.0)
Collecting wrapt<2.0.0,>=1.0.0
  Using cached wrapt-1.14.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (77 kB)
Collecting Deprecated>=1.2.6
  Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Installing collected packages: wrapt, opentelemetry-util-http, opentelemetry-semantic-conventions, Deprecated, opentelemetry-api, opentelemetry-instrumentation, opentelemetry-instrumentation-wsgi
Successfully installed Deprecated-1.2.13 opentelemetry-api-1.11.1 opentelemetry-instrumentation-0.32b0 opentelemetry-instrumentation-wsgi-0.32b0 opentelemetry-semantic-conventions-0.32b0 opentelemetry-util-http-0.32b0 wrapt-1.14.1

[notice] A new release of pip available: 22.2.1 -> 22.2.2
[notice] To update, run: python -m pip install --upgrade pip
(otel-wsgi) truekonrads@DESKTOP-DRFQE1S:~$ python
Python 3.9.13 (main, Aug  4 2022, 11:02:46)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import opentelemetry.instrumentation.wsgi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/truekonrads/.pyenv/versions/otel-wsgi/lib/python3.9/site-packages/opentelemetry/instrumentation/wsgi/__init__.py", line 169, in <module>
    from opentelemetry.metrics import get_meter
ModuleNotFoundError: No module named 'opentelemetry.metrics'
>>>
(otel-wsgi) truekonrads@DESKTOP-DRFQE1S:~$ python --version
Python 3.9.13

What is the expected behavior?
WSGI module works

What is the actual behavior?
Errors out

Additional context
This is related to open-telemetry/opentelemetry-python#1887 and https://stackoverflow.com/questions/59955751/abcmeta-object-is-not-subscriptable-when-trying-to-annotate-a-hash-variable

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions