Skip to content

Support for uvicorn with multiple workers #4927

@jennykupzig

Description

@jennykupzig

Is your feature request related to a problem?

Uvicorn enables process management itself (Uvicorn 0.30.0 Release), claiming to replace Gunicorn entirely. However, opentelementy-autoinstrumenation for python does only support either:

  • multiple workers with gunicorn
  • one worker with uvicorn.

When I have tried to run my application with ucivorn and multiple workers, the logs just don't show up in Grafana.

Describe the solution you'd like

An opentelemetry support for multiple workers for uvicorn would be great.

Describe alternatives you've considered

  • Using gunicorn with multiple workers:
    Using gunicorn, we have problems when starting a subprocess, which we do not have when usong uvicorn. Therefore, we would really like to integrate uvicorn with mutliple workers instead of gunicorn with multiple workers.

  • Using uvicorn with one worker:
    As we run our application in production we need to be able to scale our application. Therefore, using only one worker is not suitable.

Additional Context

Our current installation of opentelemetry is:

ARG version_nr="0.60b0"
RUN pip install opentelemetry-distro[otlp]==${version_nr}
RUN pip install opentelemetry-instrumentation-system-metrics==${version_nr}
RUN pip install opentelemetry-instrumentation-asyncio==${version_nr}
RUN pip install opentelemetry-instrumentation-logging==${version_nr}
RUN pip install opentelemetry-instrumentation-httpx==${version_nr}
RUN pip install opentelemetry-instrumentation-sqlalchemy==${version_nr}
RUN pip install opentelemetry-instrumentation-fastapi==${version_nr}
RUN pip install opentelemetry-instrumentation-requests==${version_nr}

Would you like to implement a fix?

None

Tip

React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions