[Python] opentelemetry.instrumentation.instrumentor - DependencyConflict: requested: "psycopg2...

Discussão em 'Python' iniciado por Stack, Outubro 2, 2024.

  1. Stack

    Stack Membro Participativo

    Has someone tried to get the OTEL for the PostgresSQL queries ? We have a fass-lambda that makes simple queries We are trying get info about how long the query took to execute by adding opentelemetry-instrumentation-psycopg2. Adding psycopg2 to requirements.txt doesn't work. We get the following error:

    × python setup.py egg_info did not run successfully.
    --> │ exit code: 1
    --> ╰─> [23 lines of output]
    --> running egg_info
    --> creating /tmp/pip-pip-egg-info-ngamcigt/psycopg2.egg-info
    --> writing /tmp/pip-pip-egg-info-ngamcigt/psycopg2.egg-info/PKG-INFO
    --> writing dependency_links to /tmp/pip-pip-egg-info-ngamcigt/psycopg2.egg-info/dependency_links.txt
    --> writing top-level names to /tmp/pip-pip-egg-info-ngamcigt/psycopg2.egg-info/top_level.txt
    --> writing manifest file '/tmp/pip-pip-egg-info-ngamcigt/psycopg2.egg-info/SOURCES.txt'
    -->
    --> Error: pg_config executable not found.
    -->
    --> pg_config is required to build psycopg2 from source. Please add the directory
    --> containing pg_config to the $PATH or specify the full executable path with the
    --> option:
    -->
    --> python setup.py build_ext --pg-config /path/to/pg_config build ...
    -->
    --> or with the pg_config option in 'setup.cfg'.
    -->
    --> If you prefer to avoid building psycopg2 from source, please install the PyPI
    --> 'psycopg2-binary' package instead.
    -->
    --> For further information please check the 'doc/src/install.rst' file (also at
    --> <https://www.psycopg.org/docs/install.html>).
    -->
    --> [end of output]
    -->
    --> note: This error originates from a subprocess, and is likely not a problem with pip.
    --> error: metadata-generation-failed
    -->
    --> × Encountered error while generating package metadata.
    --> ╰─> See above for output.
    -->
    --> note: This is an issue with the package mentioned above, not pip.
    --> hint: See above for details.
    --> make: *** [install] Error 1


    So we replaced psycopg2 with psycopg2-binary (v2.9.9)

    But, when we added opentelemetry-instrumentation-psycopg2, the official OTEL dependency for psycopg2, we get the following error and OTEL is generated:

    [ERROR] opentelemetry.instrumentation.instrumentor - DependencyConflict: requested: "psycopg2 >= 2.7.3.1" but found: "None"


    We are initiating the logs by adding the following line of code at the beginning of the file.

    Psycopg2Instrumentor().instrument(enable_commenter=True)


    Has anyone encountered this before ? Is there a work around?

    Continue reading...

Compartilhe esta Página