From 08e414f5e22697bd9a3745b8c012756a24c6d7d3 Mon Sep 17 00:00:00 2001 From: Alex Kondratev Date: Sat, 11 Oct 2025 12:59:39 +0300 Subject: [PATCH 1/5] add taskiq instrumentation, fix taskiq-python/taskiq#417 --- .github/workflows/core_contrib_test_0.yml | 6018 +++++----- .github/workflows/lint_0.yml | 2631 ++--- .github/workflows/test_1.yml | 9680 +++++++++-------- instrumentation/README.md | 107 +- .../LICENSE | 201 + .../README.rst | 24 + .../pyproject.toml | 55 + .../instrumentation/taskiq/__init__.py | 298 + .../instrumentation/taskiq/package.py | 16 + .../instrumentation/taskiq/utils.py | 120 + .../instrumentation/taskiq/version.py | 15 + .../test-requirements.txt | 5 + .../tests/__init__.py | 0 .../tests/taskiq_test_tasks.py | 39 + .../tests/test_auto_instrumentation.py | 63 + .../tests/test_duplicate.py | 29 + .../tests/test_tasks.py | 204 + .../tests/test_utils.py | 124 + .../pyproject.toml | 201 +- .../instrumentation/bootstrap_gen.py | 452 +- pyproject.toml | 448 +- tox.ini | 2179 ++-- uv.lock | 76 + 23 files changed, 12219 insertions(+), 10766 deletions(-) create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/LICENSE create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/README.rst create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/pyproject.toml create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/__init__.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/utils.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/version.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/tests/__init__.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/tests/taskiq_test_tasks.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/tests/test_auto_instrumentation.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/tests/test_duplicate.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/tests/test_tasks.py create mode 100644 instrumentation/opentelemetry-instrumentation-taskiq/tests/test_utils.py diff --git a/.github/workflows/core_contrib_test_0.yml b/.github/workflows/core_contrib_test_0.yml index 40fc729620..629a45a462 100644 --- a/.github/workflows/core_contrib_test_0.yml +++ b/.github/workflows/core_contrib_test_0.yml @@ -1,2994 +1,3024 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Core Contrib Test 0 - -on: - workflow_call: - inputs: - CORE_REPO_SHA: - required: true - type: string - CONTRIB_REPO_SHA: - required: true - type: string - -permissions: - contents: read - -env: - CORE_REPO_SHA: ${{ inputs.CORE_REPO_SHA }} - CONTRIB_REPO_SHA: ${{ inputs.CONTRIB_REPO_SHA }} - PIP_EXISTS_ACTION: w - -jobs: - - py39-test-instrumentation-openai-v2-oldest: - name: instrumentation-openai-v2-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-openai-v2-oldest -- -ra - - py39-test-instrumentation-openai-v2-latest: - name: instrumentation-openai-v2-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-openai-v2-latest -- -ra - - py39-test-instrumentation-vertexai-oldest: - name: instrumentation-vertexai-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-vertexai-oldest -- -ra - - py39-test-instrumentation-vertexai-latest: - name: instrumentation-vertexai-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-vertexai-latest -- -ra - - py39-test-instrumentation-google-genai-oldest: - name: instrumentation-google-genai-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-google-genai-oldest -- -ra - - py39-test-instrumentation-google-genai-latest: - name: instrumentation-google-genai-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-google-genai-latest -- -ra - - py39-test-resource-detector-containerid: - name: resource-detector-containerid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-resource-detector-containerid -- -ra - - py39-test-resource-detector-azure-0: - name: resource-detector-azure-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-resource-detector-azure-0 -- -ra - - py39-test-resource-detector-azure-1: - name: resource-detector-azure-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-resource-detector-azure-1 -- -ra - - py39-test-sdk-extension-aws-0: - name: sdk-extension-aws-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-sdk-extension-aws-0 -- -ra - - py39-test-sdk-extension-aws-1: - name: sdk-extension-aws-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-sdk-extension-aws-1 -- -ra - - py39-test-distro: - name: distro - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-distro -- -ra - - py39-test-opentelemetry-instrumentation: - name: opentelemetry-instrumentation - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-instrumentation -- -ra - - py39-test-instrumentation-aiohttp-client: - name: instrumentation-aiohttp-client - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiohttp-client -- -ra - - py39-test-instrumentation-aiohttp-server: - name: instrumentation-aiohttp-server - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiohttp-server -- -ra - - py39-test-instrumentation-aiopg: - name: instrumentation-aiopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiopg -- -ra - - py39-test-instrumentation-aws-lambda: - name: instrumentation-aws-lambda - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aws-lambda -- -ra - - py39-test-instrumentation-botocore-0: - name: instrumentation-botocore-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-botocore-0 -- -ra - - py39-test-instrumentation-botocore-1: - name: instrumentation-botocore-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-botocore-1 -- -ra - - py39-test-instrumentation-boto3sqs: - name: instrumentation-boto3sqs - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-boto3sqs -- -ra - - py39-test-instrumentation-django-0: - name: instrumentation-django-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-django-0 -- -ra - - py39-test-instrumentation-django-1: - name: instrumentation-django-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-django-1 -- -ra - - py39-test-instrumentation-django-2: - name: instrumentation-django-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-django-2 -- -ra - - py39-test-instrumentation-dbapi: - name: instrumentation-dbapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-dbapi -- -ra - - py39-test-instrumentation-boto: - name: instrumentation-boto - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-boto -- -ra - - py39-test-instrumentation-asyncclick: - name: instrumentation-asyncclick - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncclick -- -ra - - py39-test-instrumentation-click: - name: instrumentation-click - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-click -- -ra - - py39-test-instrumentation-elasticsearch-0: - name: instrumentation-elasticsearch-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-elasticsearch-0 -- -ra - - py39-test-instrumentation-elasticsearch-1: - name: instrumentation-elasticsearch-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-elasticsearch-1 -- -ra - - py39-test-instrumentation-elasticsearch-2: - name: instrumentation-elasticsearch-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-elasticsearch-2 -- -ra - - py39-test-instrumentation-falcon-0: - name: instrumentation-falcon-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-0 -- -ra - - py39-test-instrumentation-falcon-1: - name: instrumentation-falcon-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-1 -- -ra - - py39-test-instrumentation-falcon-2: - name: instrumentation-falcon-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-2 -- -ra - - py39-test-instrumentation-falcon-3: - name: instrumentation-falcon-3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-3 -- -ra - - py39-test-instrumentation-fastapi: - name: instrumentation-fastapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-fastapi -- -ra - - py39-test-instrumentation-flask-0: - name: instrumentation-flask-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-flask-0 -- -ra - - py39-test-instrumentation-flask-1: - name: instrumentation-flask-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-flask-1 -- -ra - - py39-test-instrumentation-flask-2: - name: instrumentation-flask-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-flask-2 -- -ra - - py39-test-instrumentation-urllib: - name: instrumentation-urllib - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-urllib -- -ra - - py39-test-instrumentation-urllib3-0: - name: instrumentation-urllib3-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-urllib3-0 -- -ra - - py39-test-instrumentation-urllib3-1: - name: instrumentation-urllib3-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-urllib3-1 -- -ra - - py39-test-instrumentation-requests: - name: instrumentation-requests - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-requests -- -ra - - py39-test-instrumentation-starlette-oldest: - name: instrumentation-starlette-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-starlette-oldest -- -ra - - py39-test-instrumentation-starlette-latest: - name: instrumentation-starlette-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-starlette-latest -- -ra - - py39-test-instrumentation-jinja2: - name: instrumentation-jinja2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-jinja2 -- -ra - - py39-test-instrumentation-logging: - name: instrumentation-logging - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-logging -- -ra - - py39-test-exporter-richconsole: - name: exporter-richconsole - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-richconsole -- -ra - - py39-test-exporter-prometheus-remote-write: - name: exporter-prometheus-remote-write - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-prometheus-remote-write -- -ra - - py39-test-instrumentation-mysql-0: - name: instrumentation-mysql-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-0 -- -ra - - py39-test-instrumentation-mysql-1: - name: instrumentation-mysql-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-1 -- -ra - - py39-test-instrumentation-mysqlclient: - name: instrumentation-mysqlclient - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysqlclient -- -ra - - py39-test-instrumentation-psycopg2: - name: instrumentation-psycopg2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2 -- -ra - - py39-test-instrumentation-psycopg2-binary: - name: instrumentation-psycopg2-binary - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra - - py39-test-instrumentation-psycopg: - name: instrumentation-psycopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg -- -ra - - py39-test-instrumentation-pymemcache-0: - name: instrumentation-pymemcache-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra - - py39-test-instrumentation-pymemcache-1: - name: instrumentation-pymemcache-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra - - py39-test-instrumentation-pymemcache-2: - name: instrumentation-pymemcache-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra - - py39-test-instrumentation-pymemcache-3: - name: instrumentation-pymemcache-3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra - - py39-test-instrumentation-pymemcache-4: - name: instrumentation-pymemcache-4 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra - - py39-test-instrumentation-pymongo: - name: instrumentation-pymongo - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymongo -- -ra - - py39-test-instrumentation-pymysql: - name: instrumentation-pymysql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymysql -- -ra - - py39-test-instrumentation-pymssql: - name: instrumentation-pymssql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymssql -- -ra - - py39-test-instrumentation-pyramid: - name: instrumentation-pyramid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pyramid -- -ra - - py39-test-instrumentation-asgi: - name: instrumentation-asgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asgi -- -ra - - py39-test-instrumentation-asyncpg: - name: instrumentation-asyncpg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncpg -- -ra - - py39-test-instrumentation-sqlite3: - name: instrumentation-sqlite3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlite3 -- -ra - - py39-test-instrumentation-wsgi: - name: instrumentation-wsgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-wsgi -- -ra - - py39-test-instrumentation-grpc-0: - name: instrumentation-grpc-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-0 -- -ra - - py39-test-instrumentation-grpc-1: - name: instrumentation-grpc-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-1 -- -ra - - py39-test-instrumentation-sqlalchemy-1: - name: instrumentation-sqlalchemy-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra - - py39-test-instrumentation-sqlalchemy-2: - name: instrumentation-sqlalchemy-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra - - py39-test-instrumentation-redis: - name: instrumentation-redis - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-redis -- -ra - - py39-test-instrumentation-remoulade: - name: instrumentation-remoulade - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-remoulade -- -ra - - py39-test-instrumentation-celery: - name: instrumentation-celery - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-celery -- -ra - - py39-test-instrumentation-system-metrics: - name: instrumentation-system-metrics - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-system-metrics -- -ra - - py39-test-instrumentation-threading: - name: instrumentation-threading - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-threading -- -ra - - py39-test-instrumentation-tornado: - name: instrumentation-tornado - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tornado -- -ra - - py39-test-instrumentation-tortoiseorm: - name: instrumentation-tortoiseorm - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tortoiseorm -- -ra - - py39-test-instrumentation-httpx-0: - name: instrumentation-httpx-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-0 -- -ra - - py39-test-instrumentation-httpx-1: - name: instrumentation-httpx-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-1 -- -ra - - py39-test-util-http: - name: util-http - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-http -- -ra - - py39-test-exporter-credential-provider-gcp: - name: exporter-credential-provider-gcp - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-credential-provider-gcp -- -ra - - py39-test-util-genai: - name: util-genai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-genai -- -ra - - py39-test-propagator-aws-xray-0: - name: propagator-aws-xray-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-0 -- -ra - - py39-test-propagator-aws-xray-1: - name: propagator-aws-xray-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-1 -- -ra - - py39-test-propagator-ot-trace: - name: propagator-ot-trace - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-ot-trace -- -ra - - py39-test-instrumentation-sio-pika-0: - name: instrumentation-sio-pika-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra - - py39-test-instrumentation-sio-pika-1: - name: instrumentation-sio-pika-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra - - py39-test-instrumentation-aio-pika-0: - name: instrumentation-aio-pika-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra - - py39-test-instrumentation-aio-pika-1: - name: instrumentation-aio-pika-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra - - py39-test-instrumentation-aio-pika-2: - name: instrumentation-aio-pika-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-2 -- -ra - - py39-test-instrumentation-aio-pika-3: - name: instrumentation-aio-pika-3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-3 -- -ra - - py39-test-instrumentation-aiokafka: - name: instrumentation-aiokafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiokafka -- -ra - - py39-test-instrumentation-kafka-python: - name: instrumentation-kafka-python - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-kafka-python -- -ra - - py39-test-instrumentation-kafka-pythonng: - name: instrumentation-kafka-pythonng - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-kafka-pythonng -- -ra - - py39-test-instrumentation-confluent-kafka: - name: instrumentation-confluent-kafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-confluent-kafka -- -ra - - py39-test-instrumentation-asyncio: - name: instrumentation-asyncio - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncio -- -ra - - py39-test-instrumentation-cassandra: - name: instrumentation-cassandra - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-cassandra -- -ra - - py39-test-processor-baggage: - name: processor-baggage - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-processor-baggage -- -ra +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: Core Contrib Test 0 + +on: + workflow_call: + inputs: + CORE_REPO_SHA: + required: true + type: string + CONTRIB_REPO_SHA: + required: true + type: string + +permissions: + contents: read + +env: + CORE_REPO_SHA: ${{ inputs.CORE_REPO_SHA }} + CONTRIB_REPO_SHA: ${{ inputs.CONTRIB_REPO_SHA }} + PIP_EXISTS_ACTION: w + +jobs: + + py39-test-instrumentation-openai-v2-oldest: + name: instrumentation-openai-v2-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-openai-v2-oldest -- -ra + + py39-test-instrumentation-openai-v2-latest: + name: instrumentation-openai-v2-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-openai-v2-latest -- -ra + + py39-test-instrumentation-vertexai-oldest: + name: instrumentation-vertexai-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-vertexai-oldest -- -ra + + py39-test-instrumentation-vertexai-latest: + name: instrumentation-vertexai-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-vertexai-latest -- -ra + + py39-test-instrumentation-google-genai-oldest: + name: instrumentation-google-genai-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-google-genai-oldest -- -ra + + py39-test-instrumentation-google-genai-latest: + name: instrumentation-google-genai-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-google-genai-latest -- -ra + + py39-test-resource-detector-containerid: + name: resource-detector-containerid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-resource-detector-containerid -- -ra + + py39-test-resource-detector-azure-0: + name: resource-detector-azure-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-resource-detector-azure-0 -- -ra + + py39-test-resource-detector-azure-1: + name: resource-detector-azure-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-resource-detector-azure-1 -- -ra + + py39-test-sdk-extension-aws-0: + name: sdk-extension-aws-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-sdk-extension-aws-0 -- -ra + + py39-test-sdk-extension-aws-1: + name: sdk-extension-aws-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-sdk-extension-aws-1 -- -ra + + py39-test-distro: + name: distro + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-distro -- -ra + + py39-test-opentelemetry-instrumentation: + name: opentelemetry-instrumentation + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-instrumentation -- -ra + + py39-test-instrumentation-aiohttp-client: + name: instrumentation-aiohttp-client + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiohttp-client -- -ra + + py39-test-instrumentation-aiohttp-server: + name: instrumentation-aiohttp-server + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiohttp-server -- -ra + + py39-test-instrumentation-aiopg: + name: instrumentation-aiopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiopg -- -ra + + py39-test-instrumentation-aws-lambda: + name: instrumentation-aws-lambda + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aws-lambda -- -ra + + py39-test-instrumentation-botocore-0: + name: instrumentation-botocore-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-botocore-0 -- -ra + + py39-test-instrumentation-botocore-1: + name: instrumentation-botocore-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-botocore-1 -- -ra + + py39-test-instrumentation-boto3sqs: + name: instrumentation-boto3sqs + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-boto3sqs -- -ra + + py39-test-instrumentation-django-0: + name: instrumentation-django-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-django-0 -- -ra + + py39-test-instrumentation-django-1: + name: instrumentation-django-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-django-1 -- -ra + + py39-test-instrumentation-django-2: + name: instrumentation-django-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-django-2 -- -ra + + py39-test-instrumentation-dbapi: + name: instrumentation-dbapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-dbapi -- -ra + + py39-test-instrumentation-boto: + name: instrumentation-boto + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-boto -- -ra + + py39-test-instrumentation-asyncclick: + name: instrumentation-asyncclick + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncclick -- -ra + + py39-test-instrumentation-click: + name: instrumentation-click + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-click -- -ra + + py39-test-instrumentation-elasticsearch-0: + name: instrumentation-elasticsearch-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-elasticsearch-0 -- -ra + + py39-test-instrumentation-elasticsearch-1: + name: instrumentation-elasticsearch-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-elasticsearch-1 -- -ra + + py39-test-instrumentation-elasticsearch-2: + name: instrumentation-elasticsearch-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-elasticsearch-2 -- -ra + + py39-test-instrumentation-falcon-0: + name: instrumentation-falcon-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-0 -- -ra + + py39-test-instrumentation-falcon-1: + name: instrumentation-falcon-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-1 -- -ra + + py39-test-instrumentation-falcon-2: + name: instrumentation-falcon-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-2 -- -ra + + py39-test-instrumentation-falcon-3: + name: instrumentation-falcon-3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-3 -- -ra + + py39-test-instrumentation-fastapi: + name: instrumentation-fastapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-fastapi -- -ra + + py39-test-instrumentation-flask-0: + name: instrumentation-flask-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-flask-0 -- -ra + + py39-test-instrumentation-flask-1: + name: instrumentation-flask-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-flask-1 -- -ra + + py39-test-instrumentation-flask-2: + name: instrumentation-flask-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-flask-2 -- -ra + + py39-test-instrumentation-urllib: + name: instrumentation-urllib + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-urllib -- -ra + + py39-test-instrumentation-urllib3-0: + name: instrumentation-urllib3-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-urllib3-0 -- -ra + + py39-test-instrumentation-urllib3-1: + name: instrumentation-urllib3-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-urllib3-1 -- -ra + + py39-test-instrumentation-requests: + name: instrumentation-requests + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-requests -- -ra + + py39-test-instrumentation-starlette-oldest: + name: instrumentation-starlette-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-starlette-oldest -- -ra + + py39-test-instrumentation-starlette-latest: + name: instrumentation-starlette-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-starlette-latest -- -ra + + py39-test-instrumentation-jinja2: + name: instrumentation-jinja2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-jinja2 -- -ra + + py39-test-instrumentation-logging: + name: instrumentation-logging + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-logging -- -ra + + py39-test-exporter-richconsole: + name: exporter-richconsole + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-richconsole -- -ra + + py39-test-exporter-prometheus-remote-write: + name: exporter-prometheus-remote-write + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-prometheus-remote-write -- -ra + + py39-test-instrumentation-mysql-0: + name: instrumentation-mysql-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-0 -- -ra + + py39-test-instrumentation-mysql-1: + name: instrumentation-mysql-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-1 -- -ra + + py39-test-instrumentation-mysqlclient: + name: instrumentation-mysqlclient + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysqlclient -- -ra + + py39-test-instrumentation-psycopg2: + name: instrumentation-psycopg2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2 -- -ra + + py39-test-instrumentation-psycopg2-binary: + name: instrumentation-psycopg2-binary + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra + + py39-test-instrumentation-psycopg: + name: instrumentation-psycopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg -- -ra + + py39-test-instrumentation-pymemcache-0: + name: instrumentation-pymemcache-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra + + py39-test-instrumentation-pymemcache-1: + name: instrumentation-pymemcache-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra + + py39-test-instrumentation-pymemcache-2: + name: instrumentation-pymemcache-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra + + py39-test-instrumentation-pymemcache-3: + name: instrumentation-pymemcache-3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra + + py39-test-instrumentation-pymemcache-4: + name: instrumentation-pymemcache-4 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra + + py39-test-instrumentation-pymongo: + name: instrumentation-pymongo + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymongo -- -ra + + py39-test-instrumentation-pymysql: + name: instrumentation-pymysql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymysql -- -ra + + py39-test-instrumentation-pymssql: + name: instrumentation-pymssql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymssql -- -ra + + py39-test-instrumentation-pyramid: + name: instrumentation-pyramid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pyramid -- -ra + + py39-test-instrumentation-asgi: + name: instrumentation-asgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asgi -- -ra + + py39-test-instrumentation-asyncpg: + name: instrumentation-asyncpg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncpg -- -ra + + py39-test-instrumentation-sqlite3: + name: instrumentation-sqlite3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlite3 -- -ra + + py39-test-instrumentation-wsgi: + name: instrumentation-wsgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-wsgi -- -ra + + py39-test-instrumentation-grpc-0: + name: instrumentation-grpc-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-0 -- -ra + + py39-test-instrumentation-grpc-1: + name: instrumentation-grpc-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-1 -- -ra + + py39-test-instrumentation-sqlalchemy-1: + name: instrumentation-sqlalchemy-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra + + py39-test-instrumentation-sqlalchemy-2: + name: instrumentation-sqlalchemy-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra + + py39-test-instrumentation-redis: + name: instrumentation-redis + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-redis -- -ra + + py39-test-instrumentation-remoulade: + name: instrumentation-remoulade + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-remoulade -- -ra + + py39-test-instrumentation-celery: + name: instrumentation-celery + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-celery -- -ra + + py39-test-instrumentation-system-metrics: + name: instrumentation-system-metrics + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-system-metrics -- -ra + + py39-test-instrumentation-taskiq: + name: instrumentation-taskiq + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-taskiq -- -ra + + py39-test-instrumentation-threading: + name: instrumentation-threading + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-threading -- -ra + + py39-test-instrumentation-tornado: + name: instrumentation-tornado + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tornado -- -ra + + py39-test-instrumentation-tortoiseorm: + name: instrumentation-tortoiseorm + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tortoiseorm -- -ra + + py39-test-instrumentation-httpx-0: + name: instrumentation-httpx-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-0 -- -ra + + py39-test-instrumentation-httpx-1: + name: instrumentation-httpx-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-1 -- -ra + + py39-test-util-http: + name: util-http + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-http -- -ra + + py39-test-exporter-credential-provider-gcp: + name: exporter-credential-provider-gcp + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-credential-provider-gcp -- -ra + + py39-test-util-genai: + name: util-genai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-genai -- -ra + + py39-test-propagator-aws-xray-0: + name: propagator-aws-xray-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-0 -- -ra + + py39-test-propagator-aws-xray-1: + name: propagator-aws-xray-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-1 -- -ra + + py39-test-propagator-ot-trace: + name: propagator-ot-trace + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-ot-trace -- -ra + + py39-test-instrumentation-sio-pika-0: + name: instrumentation-sio-pika-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra + + py39-test-instrumentation-sio-pika-1: + name: instrumentation-sio-pika-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra + + py39-test-instrumentation-aio-pika-0: + name: instrumentation-aio-pika-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra + + py39-test-instrumentation-aio-pika-1: + name: instrumentation-aio-pika-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra + + py39-test-instrumentation-aio-pika-2: + name: instrumentation-aio-pika-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-2 -- -ra + + py39-test-instrumentation-aio-pika-3: + name: instrumentation-aio-pika-3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-3 -- -ra + + py39-test-instrumentation-aiokafka: + name: instrumentation-aiokafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiokafka -- -ra + + py39-test-instrumentation-kafka-python: + name: instrumentation-kafka-python + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-kafka-python -- -ra + + py39-test-instrumentation-kafka-pythonng: + name: instrumentation-kafka-pythonng + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-kafka-pythonng -- -ra + + py39-test-instrumentation-confluent-kafka: + name: instrumentation-confluent-kafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-confluent-kafka -- -ra + + py39-test-instrumentation-asyncio: + name: instrumentation-asyncio + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncio -- -ra + + py39-test-instrumentation-cassandra: + name: instrumentation-cassandra + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-cassandra -- -ra + + py39-test-processor-baggage: + name: processor-baggage + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-processor-baggage -- -ra diff --git a/.github/workflows/lint_0.yml b/.github/workflows/lint_0.yml index 309705ae5a..c8da6ab354 100644 --- a/.github/workflows/lint_0.yml +++ b/.github/workflows/lint_0.yml @@ -1,1306 +1,1325 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Lint 0 - -on: - push: - branches-ignore: - - 'release/*' - - 'otelbot/*' - pull_request: - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -env: - # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' - # For PRs you can change the inner fallback ('main') - # For pushes you change the outer fallback ('main') - # The logic below is used during releases and depends on having an equivalent branch name in the core repo. - CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( - contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || - contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || - 'main' - ) || 'main' }} - CONTRIB_REPO_SHA: main - PIP_EXISTS_ACTION: w - -jobs: - - lint-instrumentation-openai-v2: - name: instrumentation-openai-v2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-openai-v2 - - lint-instrumentation-vertexai: - name: instrumentation-vertexai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-vertexai - - lint-instrumentation-google-genai: - name: instrumentation-google-genai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-google-genai - - lint-resource-detector-containerid: - name: resource-detector-containerid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-resource-detector-containerid - - lint-resource-detector-azure: - name: resource-detector-azure - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-resource-detector-azure - - lint-sdk-extension-aws: - name: sdk-extension-aws - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-sdk-extension-aws - - lint-distro: - name: distro - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-distro - - lint-opentelemetry-instrumentation: - name: opentelemetry-instrumentation - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-opentelemetry-instrumentation - - lint-instrumentation-aiohttp-client: - name: instrumentation-aiohttp-client - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiohttp-client - - lint-instrumentation-aiohttp-server: - name: instrumentation-aiohttp-server - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiohttp-server - - lint-instrumentation-aiopg: - name: instrumentation-aiopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiopg - - lint-instrumentation-aws-lambda: - name: instrumentation-aws-lambda - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aws-lambda - - lint-instrumentation-botocore: - name: instrumentation-botocore - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-botocore - - lint-instrumentation-boto3sqs: - name: instrumentation-boto3sqs - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-boto3sqs - - lint-instrumentation-django: - name: instrumentation-django - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-django - - lint-instrumentation-dbapi: - name: instrumentation-dbapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-dbapi - - lint-instrumentation-boto: - name: instrumentation-boto - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-boto - - lint-instrumentation-asyncclick: - name: instrumentation-asyncclick - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asyncclick - - lint-instrumentation-click: - name: instrumentation-click - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-click - - lint-instrumentation-elasticsearch: - name: instrumentation-elasticsearch - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-elasticsearch - - lint-instrumentation-falcon: - name: instrumentation-falcon - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-falcon - - lint-instrumentation-fastapi: - name: instrumentation-fastapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-fastapi - - lint-instrumentation-flask: - name: instrumentation-flask - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-flask - - lint-instrumentation-urllib: - name: instrumentation-urllib - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-urllib - - lint-instrumentation-urllib3: - name: instrumentation-urllib3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-urllib3 - - lint-instrumentation-requests: - name: instrumentation-requests - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-requests - - lint-instrumentation-starlette: - name: instrumentation-starlette - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-starlette - - lint-instrumentation-jinja2: - name: instrumentation-jinja2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-jinja2 - - lint-instrumentation-logging: - name: instrumentation-logging - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-logging - - lint-exporter-richconsole: - name: exporter-richconsole - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-exporter-richconsole - - lint-exporter-prometheus-remote-write: - name: exporter-prometheus-remote-write - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-exporter-prometheus-remote-write - - lint-instrumentation-mysql: - name: instrumentation-mysql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-mysql - - lint-instrumentation-mysqlclient: - name: instrumentation-mysqlclient - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-mysqlclient - - lint-instrumentation-psycopg2: - name: instrumentation-psycopg2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-psycopg2 - - lint-instrumentation-psycopg: - name: instrumentation-psycopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-psycopg - - lint-instrumentation-pymemcache: - name: instrumentation-pymemcache - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymemcache - - lint-instrumentation-pymongo: - name: instrumentation-pymongo - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymongo - - lint-instrumentation-pymysql: - name: instrumentation-pymysql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymysql - - lint-instrumentation-pymssql: - name: instrumentation-pymssql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymssql - - lint-instrumentation-pyramid: - name: instrumentation-pyramid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pyramid - - lint-instrumentation-asgi: - name: instrumentation-asgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asgi - - lint-instrumentation-asyncpg: - name: instrumentation-asyncpg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asyncpg - - lint-instrumentation-sqlite3: - name: instrumentation-sqlite3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-sqlite3 - - lint-instrumentation-wsgi: - name: instrumentation-wsgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-wsgi - - lint-instrumentation-grpc: - name: instrumentation-grpc - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-grpc - - lint-instrumentation-sqlalchemy: - name: instrumentation-sqlalchemy - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-sqlalchemy - - lint-instrumentation-redis: - name: instrumentation-redis - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-redis - - lint-instrumentation-remoulade: - name: instrumentation-remoulade - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-remoulade - - lint-instrumentation-celery: - name: instrumentation-celery - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-celery - - lint-instrumentation-system-metrics: - name: instrumentation-system-metrics - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-system-metrics - - lint-instrumentation-threading: - name: instrumentation-threading - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-threading - - lint-instrumentation-tornado: - name: instrumentation-tornado - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-tornado - - lint-instrumentation-tortoiseorm: - name: instrumentation-tortoiseorm - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-tortoiseorm - - lint-instrumentation-httpx: - name: instrumentation-httpx - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-httpx - - lint-util-http: - name: util-http - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-util-http - - lint-exporter-credential-provider-gcp: - name: exporter-credential-provider-gcp - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-exporter-credential-provider-gcp - - lint-util-genai: - name: util-genai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-util-genai - - lint-propagator-aws-xray: - name: propagator-aws-xray - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-propagator-aws-xray - - lint-propagator-ot-trace: - name: propagator-ot-trace - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-propagator-ot-trace - - lint-instrumentation-sio-pika: - name: instrumentation-sio-pika - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-sio-pika - - lint-instrumentation-aio-pika: - name: instrumentation-aio-pika - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aio-pika - - lint-instrumentation-aiokafka: - name: instrumentation-aiokafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiokafka - - lint-instrumentation-kafka-python: - name: instrumentation-kafka-python - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-kafka-python - - lint-instrumentation-confluent-kafka: - name: instrumentation-confluent-kafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-confluent-kafka - - lint-instrumentation-asyncio: - name: instrumentation-asyncio - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asyncio - - lint-instrumentation-cassandra: - name: instrumentation-cassandra - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-cassandra - - lint-processor-baggage: - name: processor-baggage - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-processor-baggage +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: Lint 0 + +on: + push: + branches-ignore: + - 'release/*' + - 'otelbot/*' + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' + # For PRs you can change the inner fallback ('main') + # For pushes you change the outer fallback ('main') + # The logic below is used during releases and depends on having an equivalent branch name in the core repo. + CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( + contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || + contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || + 'main' + ) || 'main' }} + CONTRIB_REPO_SHA: main + PIP_EXISTS_ACTION: w + +jobs: + + lint-instrumentation-openai-v2: + name: instrumentation-openai-v2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-openai-v2 + + lint-instrumentation-vertexai: + name: instrumentation-vertexai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-vertexai + + lint-instrumentation-google-genai: + name: instrumentation-google-genai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-google-genai + + lint-resource-detector-containerid: + name: resource-detector-containerid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-resource-detector-containerid + + lint-resource-detector-azure: + name: resource-detector-azure + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-resource-detector-azure + + lint-sdk-extension-aws: + name: sdk-extension-aws + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-sdk-extension-aws + + lint-distro: + name: distro + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-distro + + lint-opentelemetry-instrumentation: + name: opentelemetry-instrumentation + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-opentelemetry-instrumentation + + lint-instrumentation-aiohttp-client: + name: instrumentation-aiohttp-client + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiohttp-client + + lint-instrumentation-aiohttp-server: + name: instrumentation-aiohttp-server + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiohttp-server + + lint-instrumentation-aiopg: + name: instrumentation-aiopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiopg + + lint-instrumentation-aws-lambda: + name: instrumentation-aws-lambda + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aws-lambda + + lint-instrumentation-botocore: + name: instrumentation-botocore + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-botocore + + lint-instrumentation-boto3sqs: + name: instrumentation-boto3sqs + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-boto3sqs + + lint-instrumentation-django: + name: instrumentation-django + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-django + + lint-instrumentation-dbapi: + name: instrumentation-dbapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-dbapi + + lint-instrumentation-boto: + name: instrumentation-boto + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-boto + + lint-instrumentation-asyncclick: + name: instrumentation-asyncclick + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asyncclick + + lint-instrumentation-click: + name: instrumentation-click + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-click + + lint-instrumentation-elasticsearch: + name: instrumentation-elasticsearch + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-elasticsearch + + lint-instrumentation-falcon: + name: instrumentation-falcon + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-falcon + + lint-instrumentation-fastapi: + name: instrumentation-fastapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-fastapi + + lint-instrumentation-flask: + name: instrumentation-flask + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-flask + + lint-instrumentation-urllib: + name: instrumentation-urllib + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-urllib + + lint-instrumentation-urllib3: + name: instrumentation-urllib3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-urllib3 + + lint-instrumentation-requests: + name: instrumentation-requests + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-requests + + lint-instrumentation-starlette: + name: instrumentation-starlette + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-starlette + + lint-instrumentation-jinja2: + name: instrumentation-jinja2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-jinja2 + + lint-instrumentation-logging: + name: instrumentation-logging + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-logging + + lint-exporter-richconsole: + name: exporter-richconsole + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-exporter-richconsole + + lint-exporter-prometheus-remote-write: + name: exporter-prometheus-remote-write + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-exporter-prometheus-remote-write + + lint-instrumentation-mysql: + name: instrumentation-mysql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-mysql + + lint-instrumentation-mysqlclient: + name: instrumentation-mysqlclient + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-mysqlclient + + lint-instrumentation-psycopg2: + name: instrumentation-psycopg2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-psycopg2 + + lint-instrumentation-psycopg: + name: instrumentation-psycopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-psycopg + + lint-instrumentation-pymemcache: + name: instrumentation-pymemcache + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymemcache + + lint-instrumentation-pymongo: + name: instrumentation-pymongo + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymongo + + lint-instrumentation-pymysql: + name: instrumentation-pymysql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymysql + + lint-instrumentation-pymssql: + name: instrumentation-pymssql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymssql + + lint-instrumentation-pyramid: + name: instrumentation-pyramid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pyramid + + lint-instrumentation-asgi: + name: instrumentation-asgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asgi + + lint-instrumentation-asyncpg: + name: instrumentation-asyncpg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asyncpg + + lint-instrumentation-sqlite3: + name: instrumentation-sqlite3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-sqlite3 + + lint-instrumentation-wsgi: + name: instrumentation-wsgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-wsgi + + lint-instrumentation-grpc: + name: instrumentation-grpc + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-grpc + + lint-instrumentation-sqlalchemy: + name: instrumentation-sqlalchemy + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-sqlalchemy + + lint-instrumentation-redis: + name: instrumentation-redis + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-redis + + lint-instrumentation-remoulade: + name: instrumentation-remoulade + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-remoulade + + lint-instrumentation-celery: + name: instrumentation-celery + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-celery + + lint-instrumentation-system-metrics: + name: instrumentation-system-metrics + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-system-metrics + + lint-instrumentation-taskiq: + name: instrumentation-taskiq + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-taskiq + + lint-instrumentation-threading: + name: instrumentation-threading + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-threading + + lint-instrumentation-tornado: + name: instrumentation-tornado + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-tornado + + lint-instrumentation-tortoiseorm: + name: instrumentation-tortoiseorm + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-tortoiseorm + + lint-instrumentation-httpx: + name: instrumentation-httpx + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-httpx + + lint-util-http: + name: util-http + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-util-http + + lint-exporter-credential-provider-gcp: + name: exporter-credential-provider-gcp + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-exporter-credential-provider-gcp + + lint-util-genai: + name: util-genai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-util-genai + + lint-propagator-aws-xray: + name: propagator-aws-xray + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-propagator-aws-xray + + lint-propagator-ot-trace: + name: propagator-ot-trace + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-propagator-ot-trace + + lint-instrumentation-sio-pika: + name: instrumentation-sio-pika + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-sio-pika + + lint-instrumentation-aio-pika: + name: instrumentation-aio-pika + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aio-pika + + lint-instrumentation-aiokafka: + name: instrumentation-aiokafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiokafka + + lint-instrumentation-kafka-python: + name: instrumentation-kafka-python + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-kafka-python + + lint-instrumentation-confluent-kafka: + name: instrumentation-confluent-kafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-confluent-kafka + + lint-instrumentation-asyncio: + name: instrumentation-asyncio + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asyncio + + lint-instrumentation-cassandra: + name: instrumentation-cassandra + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-cassandra + + lint-processor-baggage: + name: processor-baggage + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-processor-baggage diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml index e60b3c530b..aa10d5809d 100644 --- a/.github/workflows/test_1.yml +++ b/.github/workflows/test_1.yml @@ -1,4783 +1,4897 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Test 1 - -on: - push: - branches-ignore: - - 'release/*' - - 'otelbot/*' - pull_request: - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -env: - # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' - # For PRs you can change the inner fallback ('main') - # For pushes you change the outer fallback ('main') - # The logic below is used during releases and depends on having an equivalent branch name in the core repo. - CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( - contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || - contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || - 'main' - ) || 'main' }} - CONTRIB_REPO_SHA: main - PIP_EXISTS_ACTION: w - -jobs: - - py39-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-logging -- -ra - - py310-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-logging -- -ra - - py311-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-logging -- -ra - - py312-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-logging -- -ra - - py313-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-logging -- -ra - - pypy3-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-logging -- -ra - - py39-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-richconsole -- -ra - - py310-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-exporter-richconsole -- -ra - - py311-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-exporter-richconsole -- -ra - - py312-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-exporter-richconsole -- -ra - - py313-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-exporter-richconsole -- -ra - - pypy3-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-exporter-richconsole -- -ra - - py39-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-prometheus-remote-write -- -ra - - py310-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-exporter-prometheus-remote-write -- -ra - - py311-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-exporter-prometheus-remote-write -- -ra - - py312-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-exporter-prometheus-remote-write -- -ra - - py313-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-exporter-prometheus-remote-write -- -ra - - pypy310-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write pypy-3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.10 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy310-test-exporter-prometheus-remote-write -- -ra - - py39-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-0 -- -ra - - py39-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-1 -- -ra - - py310-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-mysql-0 -- -ra - - py310-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-mysql-1 -- -ra - - py311-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-mysql-0 -- -ra - - py311-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-mysql-1 -- -ra - - py312-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-mysql-0 -- -ra - - py312-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-mysql-1 -- -ra - - py313-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-mysql-0 -- -ra - - py313-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-mysql-1 -- -ra - - pypy3-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-mysql-0 -- -ra - - pypy3-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-mysql-1 -- -ra - - py39-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysqlclient -- -ra - - py310-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-mysqlclient -- -ra - - py311-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-mysqlclient -- -ra - - py312-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-mysqlclient -- -ra - - py313-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-mysqlclient -- -ra - - pypy3-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-mysqlclient -- -ra - - py39-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2 -- -ra - - py310-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-psycopg2 -- -ra - - py311-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-psycopg2 -- -ra - - py312-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-psycopg2 -- -ra - - py313-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-psycopg2 -- -ra - - py39-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra - - py310-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-psycopg2-binary -- -ra - - py311-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-psycopg2-binary -- -ra - - py312-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-psycopg2-binary -- -ra - - py313-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-psycopg2-binary -- -ra - - py39-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg -- -ra - - py310-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-psycopg -- -ra - - py311-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-psycopg -- -ra - - py312-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-psycopg -- -ra - - py313-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-psycopg -- -ra - - pypy3-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-psycopg -- -ra - - py39-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra - - py39-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra - - py39-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra - - py39-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra - - py39-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra - - py310-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-0 -- -ra - - py310-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-1 -- -ra - - py310-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-2 -- -ra - - py310-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-3 -- -ra - - py310-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-4 -- -ra - - py311-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-0 -- -ra - - py311-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-1 -- -ra - - py311-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-2 -- -ra - - py311-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-3 -- -ra - - py311-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-4 -- -ra - - py312-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-0 -- -ra - - py312-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-1 -- -ra - - py312-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-2 -- -ra - - py312-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-3 -- -ra - - py312-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-4 -- -ra - - py313-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-0 -- -ra - - py313-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-1 -- -ra - - py313-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-2 -- -ra - - py313-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-3 -- -ra - - py313-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-4 -- -ra - - pypy3-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-0 -- -ra - - pypy3-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-1 -- -ra - - pypy3-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-2 -- -ra - - pypy3-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-3 -- -ra - - pypy3-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-4 -- -ra - - py39-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymongo -- -ra - - py310-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymongo -- -ra - - py311-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymongo -- -ra - - py312-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymongo -- -ra - - py313-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymongo -- -ra - - pypy3-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymongo -- -ra - - py39-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymysql -- -ra - - py310-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymysql -- -ra - - py311-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymysql -- -ra - - py312-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymysql -- -ra - - py313-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymysql -- -ra - - pypy3-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymysql -- -ra - - py39-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymssql -- -ra - - py310-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymssql -- -ra - - py311-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymssql -- -ra - - py312-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymssql -- -ra - - py313-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymssql -- -ra - - py39-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pyramid -- -ra - - py310-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pyramid -- -ra - - py311-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pyramid -- -ra - - py312-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pyramid -- -ra - - pypy3-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pyramid -- -ra - - py39-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asgi -- -ra - - py310-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-asgi -- -ra - - py311-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-asgi -- -ra - - py312-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-asgi -- -ra - - py313-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-asgi -- -ra - - pypy3-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-asgi -- -ra - - py39-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncpg -- -ra - - py310-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-asyncpg -- -ra - - py311-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-asyncpg -- -ra - - py312-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-asyncpg -- -ra - - py313-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-asyncpg -- -ra - - py39-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlite3 -- -ra - - py310-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sqlite3 -- -ra - - py311-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sqlite3 -- -ra - - py312-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sqlite3 -- -ra - - py313-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sqlite3 -- -ra - - pypy3-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlite3 -- -ra - - py39-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-wsgi -- -ra - - py310-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-wsgi -- -ra - - py311-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-wsgi -- -ra - - py312-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-wsgi -- -ra - - py313-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-wsgi -- -ra - - pypy3-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-wsgi -- -ra - - py39-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-0 -- -ra - - py39-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-1 -- -ra - - py310-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-grpc-0 -- -ra - - py310-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-grpc-1 -- -ra - - py311-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-grpc-0 -- -ra - - py311-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-grpc-1 -- -ra - - py312-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-grpc-0 -- -ra - - py312-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-grpc-1 -- -ra - - py313-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-grpc-1 -- -ra - - py39-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra - - py39-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra - - py310-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sqlalchemy-1 -- -ra - - py310-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sqlalchemy-2 -- -ra - - py311-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sqlalchemy-1 -- -ra - - py311-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sqlalchemy-2 -- -ra - - py312-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sqlalchemy-1 -- -ra - - py312-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sqlalchemy-2 -- -ra - - py313-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sqlalchemy-1 -- -ra - - py313-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sqlalchemy-2 -- -ra - - pypy3-test-instrumentation-sqlalchemy-0_ubuntu-latest: - name: instrumentation-sqlalchemy-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlalchemy-0 -- -ra - - pypy3-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlalchemy-1 -- -ra - - pypy3-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlalchemy-2 -- -ra - - py39-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-redis -- -ra - - py310-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-redis -- -ra - - py311-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-redis -- -ra - - py312-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-redis -- -ra - - py313-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-redis -- -ra - - pypy3-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-redis -- -ra - - py39-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-remoulade -- -ra - - py310-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-remoulade -- -ra - - py311-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-remoulade -- -ra - - py312-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-remoulade -- -ra - - py313-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-remoulade -- -ra - - py39-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-celery -- -ra - - py310-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-celery -- -ra - - py311-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-celery -- -ra - - py312-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-celery -- -ra - - py313-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-celery -- -ra - - pypy3-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-celery -- -ra - - py39-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-system-metrics -- -ra - - py310-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-system-metrics -- -ra - - py311-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-system-metrics -- -ra - - py312-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-system-metrics -- -ra - - py313-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-system-metrics -- -ra - - pypy3-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-system-metrics -- -ra - - py39-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-threading -- -ra - - py310-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-threading -- -ra - - py311-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-threading -- -ra - - py312-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-threading -- -ra - - py313-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-threading -- -ra - - pypy3-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-threading -- -ra - - py39-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tornado -- -ra - - py310-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-tornado -- -ra - - py311-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-tornado -- -ra - - py312-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-tornado -- -ra - - py313-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-tornado -- -ra - - pypy3-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-tornado -- -ra - - py39-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tortoiseorm -- -ra - - py310-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-tortoiseorm -- -ra - - py311-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-tortoiseorm -- -ra - - py312-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-tortoiseorm -- -ra - - py313-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-tortoiseorm -- -ra - - pypy3-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-tortoiseorm -- -ra - - py39-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-0 -- -ra - - py39-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-1 -- -ra - - py310-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-httpx-0 -- -ra - - py310-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-httpx-1 -- -ra - - py311-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-httpx-0 -- -ra - - py311-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-httpx-1 -- -ra - - py312-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-httpx-0 -- -ra - - py312-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-httpx-1 -- -ra - - py313-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-httpx-1 -- -ra - - pypy3-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-httpx-0 -- -ra - - pypy3-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-httpx-1 -- -ra - - py39-test-util-http_ubuntu-latest: - name: util-http 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-http -- -ra - - py310-test-util-http_ubuntu-latest: - name: util-http 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-util-http -- -ra - - py311-test-util-http_ubuntu-latest: - name: util-http 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-util-http -- -ra - - py312-test-util-http_ubuntu-latest: - name: util-http 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-util-http -- -ra - - py313-test-util-http_ubuntu-latest: - name: util-http 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-util-http -- -ra - - pypy3-test-util-http_ubuntu-latest: - name: util-http pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-util-http -- -ra - - py39-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-credential-provider-gcp -- -ra - - py310-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-exporter-credential-provider-gcp -- -ra - - py311-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-exporter-credential-provider-gcp -- -ra - - py312-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-exporter-credential-provider-gcp -- -ra - - py313-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-exporter-credential-provider-gcp -- -ra - - py39-test-util-genai_ubuntu-latest: - name: util-genai 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-genai -- -ra - - py310-test-util-genai_ubuntu-latest: - name: util-genai 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-util-genai -- -ra - - py311-test-util-genai_ubuntu-latest: - name: util-genai 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-util-genai -- -ra - - py312-test-util-genai_ubuntu-latest: - name: util-genai 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-util-genai -- -ra - - py313-test-util-genai_ubuntu-latest: - name: util-genai 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-util-genai -- -ra - - pypy3-test-util-genai_ubuntu-latest: - name: util-genai pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-util-genai -- -ra - - py39-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-0 -- -ra - - py39-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-1 -- -ra - - py310-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-propagator-aws-xray-0 -- -ra - - py310-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-propagator-aws-xray-1 -- -ra - - py311-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-propagator-aws-xray-0 -- -ra - - py311-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-propagator-aws-xray-1 -- -ra - - py312-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-propagator-aws-xray-0 -- -ra - - py312-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-propagator-aws-xray-1 -- -ra - - py313-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-propagator-aws-xray-0 -- -ra - - py313-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-propagator-aws-xray-1 -- -ra - - pypy3-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-propagator-aws-xray-0 -- -ra - - pypy3-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-propagator-aws-xray-1 -- -ra - - py39-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-ot-trace -- -ra - - py310-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-propagator-ot-trace -- -ra - - py311-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-propagator-ot-trace -- -ra - - py312-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-propagator-ot-trace -- -ra - - py313-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-propagator-ot-trace -- -ra - - pypy3-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-propagator-ot-trace -- -ra - - py39-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra - - py39-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra - - py310-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sio-pika-0 -- -ra - - py310-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sio-pika-1 -- -ra - - py311-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sio-pika-0 -- -ra - - py311-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sio-pika-1 -- -ra - - py312-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sio-pika-0 -- -ra - - py312-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sio-pika-1 -- -ra - - py313-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sio-pika-0 -- -ra - - py313-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sio-pika-1 -- -ra - - pypy3-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sio-pika-0 -- -ra - - pypy3-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sio-pika-1 -- -ra - - py39-test-instrumentation-aio-pika-0_ubuntu-latest: - name: instrumentation-aio-pika-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra - - py39-test-instrumentation-aio-pika-1_ubuntu-latest: - name: instrumentation-aio-pika-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: Test 1 + +on: + push: + branches-ignore: + - 'release/*' + - 'otelbot/*' + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' + # For PRs you can change the inner fallback ('main') + # For pushes you change the outer fallback ('main') + # The logic below is used during releases and depends on having an equivalent branch name in the core repo. + CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( + contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || + contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || + 'main' + ) || 'main' }} + CONTRIB_REPO_SHA: main + PIP_EXISTS_ACTION: w + +jobs: + + py39-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-logging -- -ra + + py310-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-logging -- -ra + + py311-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-logging -- -ra + + py312-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-logging -- -ra + + py313-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-logging -- -ra + + pypy3-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-logging -- -ra + + py39-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-richconsole -- -ra + + py310-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-exporter-richconsole -- -ra + + py311-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-exporter-richconsole -- -ra + + py312-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-exporter-richconsole -- -ra + + py313-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-exporter-richconsole -- -ra + + pypy3-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-exporter-richconsole -- -ra + + py39-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-prometheus-remote-write -- -ra + + py310-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-exporter-prometheus-remote-write -- -ra + + py311-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-exporter-prometheus-remote-write -- -ra + + py312-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-exporter-prometheus-remote-write -- -ra + + py313-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-exporter-prometheus-remote-write -- -ra + + pypy310-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write pypy-3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.10 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy310-test-exporter-prometheus-remote-write -- -ra + + py39-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-0 -- -ra + + py39-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-1 -- -ra + + py310-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mysql-0 -- -ra + + py310-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mysql-1 -- -ra + + py311-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mysql-0 -- -ra + + py311-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mysql-1 -- -ra + + py312-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mysql-0 -- -ra + + py312-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mysql-1 -- -ra + + py313-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mysql-0 -- -ra + + py313-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mysql-1 -- -ra + + pypy3-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-mysql-0 -- -ra + + pypy3-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-mysql-1 -- -ra + + py39-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysqlclient -- -ra + + py310-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mysqlclient -- -ra + + py311-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mysqlclient -- -ra + + py312-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mysqlclient -- -ra + + py313-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mysqlclient -- -ra + + pypy3-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-mysqlclient -- -ra + + py39-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2 -- -ra + + py310-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-psycopg2 -- -ra + + py311-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-psycopg2 -- -ra + + py312-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-psycopg2 -- -ra + + py313-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-psycopg2 -- -ra + + py39-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra + + py310-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-psycopg2-binary -- -ra + + py311-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-psycopg2-binary -- -ra + + py312-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-psycopg2-binary -- -ra + + py313-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-psycopg2-binary -- -ra + + py39-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg -- -ra + + py310-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-psycopg -- -ra + + py311-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-psycopg -- -ra + + py312-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-psycopg -- -ra + + py313-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-psycopg -- -ra + + pypy3-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-psycopg -- -ra + + py39-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra + + py39-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra + + py39-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra + + py39-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra + + py39-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra + + py310-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-0 -- -ra + + py310-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-1 -- -ra + + py310-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-2 -- -ra + + py310-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-3 -- -ra + + py310-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-4 -- -ra + + py311-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-0 -- -ra + + py311-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-1 -- -ra + + py311-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-2 -- -ra + + py311-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-3 -- -ra + + py311-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-4 -- -ra + + py312-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-0 -- -ra + + py312-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-1 -- -ra + + py312-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-2 -- -ra + + py312-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-3 -- -ra + + py312-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-4 -- -ra + + py313-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-0 -- -ra + + py313-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-1 -- -ra + + py313-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-2 -- -ra + + py313-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-3 -- -ra + + py313-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-4 -- -ra + + pypy3-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-0 -- -ra + + pypy3-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-1 -- -ra + + pypy3-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-2 -- -ra + + pypy3-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-3 -- -ra + + pypy3-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-4 -- -ra + + py39-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymongo -- -ra + + py310-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymongo -- -ra + + py311-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymongo -- -ra + + py312-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymongo -- -ra + + py313-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymongo -- -ra + + pypy3-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymongo -- -ra + + py39-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymysql -- -ra + + py310-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymysql -- -ra + + py311-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymysql -- -ra + + py312-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymysql -- -ra + + py313-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymysql -- -ra + + pypy3-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymysql -- -ra + + py39-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymssql -- -ra + + py310-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymssql -- -ra + + py311-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymssql -- -ra + + py312-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymssql -- -ra + + py313-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymssql -- -ra + + py39-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pyramid -- -ra + + py310-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pyramid -- -ra + + py311-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pyramid -- -ra + + py312-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pyramid -- -ra + + pypy3-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pyramid -- -ra + + py39-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asgi -- -ra + + py310-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-asgi -- -ra + + py311-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-asgi -- -ra + + py312-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-asgi -- -ra + + py313-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-asgi -- -ra + + pypy3-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-asgi -- -ra + + py39-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncpg -- -ra + + py310-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-asyncpg -- -ra + + py311-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-asyncpg -- -ra + + py312-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-asyncpg -- -ra + + py313-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-asyncpg -- -ra + + py39-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlite3 -- -ra + + py310-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sqlite3 -- -ra + + py311-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sqlite3 -- -ra + + py312-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sqlite3 -- -ra + + py313-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sqlite3 -- -ra + + pypy3-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlite3 -- -ra + + py39-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-wsgi -- -ra + + py310-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-wsgi -- -ra + + py311-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-wsgi -- -ra + + py312-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-wsgi -- -ra + + py313-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-wsgi -- -ra + + pypy3-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-wsgi -- -ra + + py39-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-0 -- -ra + + py39-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-1 -- -ra + + py310-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-grpc-0 -- -ra + + py310-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-grpc-1 -- -ra + + py311-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-grpc-0 -- -ra + + py311-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-grpc-1 -- -ra + + py312-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-grpc-0 -- -ra + + py312-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-grpc-1 -- -ra + + py313-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-grpc-1 -- -ra + + py39-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra + + py39-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra + + py310-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sqlalchemy-1 -- -ra + + py310-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sqlalchemy-2 -- -ra + + py311-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sqlalchemy-1 -- -ra + + py311-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sqlalchemy-2 -- -ra + + py312-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sqlalchemy-1 -- -ra + + py312-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sqlalchemy-2 -- -ra + + py313-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sqlalchemy-1 -- -ra + + py313-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sqlalchemy-2 -- -ra + + pypy3-test-instrumentation-sqlalchemy-0_ubuntu-latest: + name: instrumentation-sqlalchemy-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlalchemy-0 -- -ra + + pypy3-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlalchemy-1 -- -ra + + pypy3-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlalchemy-2 -- -ra + + py39-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-redis -- -ra + + py310-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-redis -- -ra + + py311-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-redis -- -ra + + py312-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-redis -- -ra + + py313-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-redis -- -ra + + pypy3-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-redis -- -ra + + py39-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-remoulade -- -ra + + py310-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-remoulade -- -ra + + py311-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-remoulade -- -ra + + py312-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-remoulade -- -ra + + py313-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-remoulade -- -ra + + py39-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-celery -- -ra + + py310-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-celery -- -ra + + py311-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-celery -- -ra + + py312-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-celery -- -ra + + py313-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-celery -- -ra + + pypy3-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-celery -- -ra + + py39-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-system-metrics -- -ra + + py310-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-system-metrics -- -ra + + py311-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-system-metrics -- -ra + + py312-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-system-metrics -- -ra + + py313-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-system-metrics -- -ra + + pypy3-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-system-metrics -- -ra + + py39-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-taskiq -- -ra + + py310-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-taskiq -- -ra + + py311-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-taskiq -- -ra + + py312-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-taskiq -- -ra + + py313-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-taskiq -- -ra + + pypy3-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-taskiq -- -ra + + py39-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-threading -- -ra + + py310-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-threading -- -ra + + py311-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-threading -- -ra + + py312-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-threading -- -ra + + py313-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-threading -- -ra + + pypy3-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-threading -- -ra + + py39-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tornado -- -ra + + py310-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-tornado -- -ra + + py311-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-tornado -- -ra + + py312-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-tornado -- -ra + + py313-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-tornado -- -ra + + pypy3-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-tornado -- -ra + + py39-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tortoiseorm -- -ra + + py310-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-tortoiseorm -- -ra + + py311-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-tortoiseorm -- -ra + + py312-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-tortoiseorm -- -ra + + py313-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-tortoiseorm -- -ra + + pypy3-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-tortoiseorm -- -ra + + py39-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-0 -- -ra + + py39-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-1 -- -ra + + py310-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-httpx-0 -- -ra + + py310-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-httpx-1 -- -ra + + py311-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-httpx-0 -- -ra + + py311-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-httpx-1 -- -ra + + py312-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-httpx-0 -- -ra + + py312-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-httpx-1 -- -ra + + py313-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-httpx-1 -- -ra + + pypy3-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-httpx-0 -- -ra + + pypy3-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-httpx-1 -- -ra + + py39-test-util-http_ubuntu-latest: + name: util-http 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-http -- -ra + + py310-test-util-http_ubuntu-latest: + name: util-http 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-util-http -- -ra + + py311-test-util-http_ubuntu-latest: + name: util-http 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-util-http -- -ra + + py312-test-util-http_ubuntu-latest: + name: util-http 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-util-http -- -ra + + py313-test-util-http_ubuntu-latest: + name: util-http 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-util-http -- -ra + + pypy3-test-util-http_ubuntu-latest: + name: util-http pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-util-http -- -ra + + py39-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-credential-provider-gcp -- -ra + + py310-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-exporter-credential-provider-gcp -- -ra + + py311-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-exporter-credential-provider-gcp -- -ra + + py312-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-exporter-credential-provider-gcp -- -ra + + py313-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-exporter-credential-provider-gcp -- -ra + + py39-test-util-genai_ubuntu-latest: + name: util-genai 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-genai -- -ra + + py310-test-util-genai_ubuntu-latest: + name: util-genai 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-util-genai -- -ra + + py311-test-util-genai_ubuntu-latest: + name: util-genai 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-util-genai -- -ra + + py312-test-util-genai_ubuntu-latest: + name: util-genai 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-util-genai -- -ra + + py313-test-util-genai_ubuntu-latest: + name: util-genai 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-util-genai -- -ra + + pypy3-test-util-genai_ubuntu-latest: + name: util-genai pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-util-genai -- -ra + + py39-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-0 -- -ra + + py39-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-1 -- -ra + + py310-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-propagator-aws-xray-0 -- -ra + + py310-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-propagator-aws-xray-1 -- -ra + + py311-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-propagator-aws-xray-0 -- -ra + + py311-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-propagator-aws-xray-1 -- -ra + + py312-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-propagator-aws-xray-0 -- -ra + + py312-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-propagator-aws-xray-1 -- -ra + + py313-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-propagator-aws-xray-0 -- -ra + + py313-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-propagator-aws-xray-1 -- -ra + + pypy3-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-propagator-aws-xray-0 -- -ra + + pypy3-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-propagator-aws-xray-1 -- -ra + + py39-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-ot-trace -- -ra + + py310-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-propagator-ot-trace -- -ra + + py311-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-propagator-ot-trace -- -ra + + py312-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-propagator-ot-trace -- -ra + + py313-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-propagator-ot-trace -- -ra + + pypy3-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-propagator-ot-trace -- -ra + + py39-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra + + py39-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra + + py310-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sio-pika-0 -- -ra + + py310-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sio-pika-1 -- -ra + + py311-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sio-pika-0 -- -ra + + py311-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sio-pika-1 -- -ra + + py312-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sio-pika-0 -- -ra + + py312-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sio-pika-1 -- -ra + + py313-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sio-pika-0 -- -ra + + py313-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sio-pika-1 -- -ra + + pypy3-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sio-pika-0 -- -ra + + pypy3-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sio-pika-1 -- -ra + + py39-test-instrumentation-aio-pika-0_ubuntu-latest: + name: instrumentation-aio-pika-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra + + py39-test-instrumentation-aio-pika-1_ubuntu-latest: + name: instrumentation-aio-pika-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra diff --git a/instrumentation/README.md b/instrumentation/README.md index 1597be99af..fa3b91e6ef 100644 --- a/instrumentation/README.md +++ b/instrumentation/README.md @@ -1,54 +1,55 @@ - -| Instrumentation | Supported Packages | Metrics support | Semconv status | -| --------------- | ------------------ | --------------- | -------------- | -| [opentelemetry-instrumentation-aio-pika](./opentelemetry-instrumentation-aio-pika) | aio_pika >= 7.2.0, < 10.0.0 | No | development -| [opentelemetry-instrumentation-aiohttp-client](./opentelemetry-instrumentation-aiohttp-client) | aiohttp ~= 3.0 | Yes | migration -| [opentelemetry-instrumentation-aiohttp-server](./opentelemetry-instrumentation-aiohttp-server) | aiohttp ~= 3.0 | Yes | development -| [opentelemetry-instrumentation-aiokafka](./opentelemetry-instrumentation-aiokafka) | aiokafka >= 0.8, < 1.0 | No | development -| [opentelemetry-instrumentation-aiopg](./opentelemetry-instrumentation-aiopg) | aiopg >= 0.13.0, < 2.0.0 | No | development -| [opentelemetry-instrumentation-asgi](./opentelemetry-instrumentation-asgi) | asgiref ~= 3.0 | Yes | migration -| [opentelemetry-instrumentation-asyncclick](./opentelemetry-instrumentation-asyncclick) | asyncclick ~= 8.0 | No | development -| [opentelemetry-instrumentation-asyncio](./opentelemetry-instrumentation-asyncio) | asyncio | No | development -| [opentelemetry-instrumentation-asyncpg](./opentelemetry-instrumentation-asyncpg) | asyncpg >= 0.12.0 | No | development -| [opentelemetry-instrumentation-aws-lambda](./opentelemetry-instrumentation-aws-lambda) | aws_lambda | No | development -| [opentelemetry-instrumentation-boto](./opentelemetry-instrumentation-boto) | boto~=2.0 | No | development -| [opentelemetry-instrumentation-boto3sqs](./opentelemetry-instrumentation-boto3sqs) | boto3 ~= 1.0 | No | development -| [opentelemetry-instrumentation-botocore](./opentelemetry-instrumentation-botocore) | botocore ~= 1.0 | No | development -| [opentelemetry-instrumentation-cassandra](./opentelemetry-instrumentation-cassandra) | cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | No | development -| [opentelemetry-instrumentation-celery](./opentelemetry-instrumentation-celery) | celery >= 4.0, < 6.0 | No | development -| [opentelemetry-instrumentation-click](./opentelemetry-instrumentation-click) | click >= 8.1.3, < 9.0.0 | No | development -| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.11.0 | No | development -| [opentelemetry-instrumentation-dbapi](./opentelemetry-instrumentation-dbapi) | dbapi | No | development -| [opentelemetry-instrumentation-django](./opentelemetry-instrumentation-django) | django >= 1.10 | Yes | development -| [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 6.0 | No | development -| [opentelemetry-instrumentation-falcon](./opentelemetry-instrumentation-falcon) | falcon >= 1.4.1, < 5.0.0 | Yes | migration -| [opentelemetry-instrumentation-fastapi](./opentelemetry-instrumentation-fastapi) | fastapi ~= 0.92 | Yes | migration -| [opentelemetry-instrumentation-flask](./opentelemetry-instrumentation-flask) | flask >= 1.0 | Yes | migration -| [opentelemetry-instrumentation-grpc](./opentelemetry-instrumentation-grpc) | grpcio >= 1.42.0 | No | development -| [opentelemetry-instrumentation-httpx](./opentelemetry-instrumentation-httpx) | httpx >= 0.18.0 | Yes | migration -| [opentelemetry-instrumentation-jinja2](./opentelemetry-instrumentation-jinja2) | jinja2 >= 2.7, < 4.0 | No | development -| [opentelemetry-instrumentation-kafka-python](./opentelemetry-instrumentation-kafka-python) | kafka-python >= 2.0, < 3.0,kafka-python-ng >= 2.0, < 3.0 | No | development -| [opentelemetry-instrumentation-logging](./opentelemetry-instrumentation-logging) | logging | No | development -| [opentelemetry-instrumentation-mysql](./opentelemetry-instrumentation-mysql) | mysql-connector-python >= 8.0, < 10.0 | No | development -| [opentelemetry-instrumentation-mysqlclient](./opentelemetry-instrumentation-mysqlclient) | mysqlclient < 3 | No | development -| [opentelemetry-instrumentation-pika](./opentelemetry-instrumentation-pika) | pika >= 0.12.0 | No | development -| [opentelemetry-instrumentation-psycopg](./opentelemetry-instrumentation-psycopg) | psycopg >= 3.1.0 | No | development -| [opentelemetry-instrumentation-psycopg2](./opentelemetry-instrumentation-psycopg2) | psycopg2 >= 2.7.3.1,psycopg2-binary >= 2.7.3.1 | No | development -| [opentelemetry-instrumentation-pymemcache](./opentelemetry-instrumentation-pymemcache) | pymemcache >= 1.3.5, < 5 | No | development -| [opentelemetry-instrumentation-pymongo](./opentelemetry-instrumentation-pymongo) | pymongo >= 3.1, < 5.0 | No | development -| [opentelemetry-instrumentation-pymssql](./opentelemetry-instrumentation-pymssql) | pymssql >= 2.1.5, < 3 | No | development -| [opentelemetry-instrumentation-pymysql](./opentelemetry-instrumentation-pymysql) | PyMySQL < 2 | No | development -| [opentelemetry-instrumentation-pyramid](./opentelemetry-instrumentation-pyramid) | pyramid >= 1.7 | Yes | development -| [opentelemetry-instrumentation-redis](./opentelemetry-instrumentation-redis) | redis >= 2.6 | No | development -| [opentelemetry-instrumentation-remoulade](./opentelemetry-instrumentation-remoulade) | remoulade >= 0.50 | No | development -| [opentelemetry-instrumentation-requests](./opentelemetry-instrumentation-requests) | requests ~= 2.0 | Yes | migration -| [opentelemetry-instrumentation-sqlalchemy](./opentelemetry-instrumentation-sqlalchemy) | sqlalchemy >= 1.0.0, < 2.1.0 | Yes | development -| [opentelemetry-instrumentation-sqlite3](./opentelemetry-instrumentation-sqlite3) | sqlite3 | No | development -| [opentelemetry-instrumentation-starlette](./opentelemetry-instrumentation-starlette) | starlette >= 0.13 | Yes | development -| [opentelemetry-instrumentation-system-metrics](./opentelemetry-instrumentation-system-metrics) | psutil >= 5 | No | development -| [opentelemetry-instrumentation-threading](./opentelemetry-instrumentation-threading) | threading | No | development -| [opentelemetry-instrumentation-tornado](./opentelemetry-instrumentation-tornado) | tornado >= 5.1.1 | Yes | development -| [opentelemetry-instrumentation-tortoiseorm](./opentelemetry-instrumentation-tortoiseorm) | tortoise-orm >= 0.17.0 | No | development -| [opentelemetry-instrumentation-urllib](./opentelemetry-instrumentation-urllib) | urllib | Yes | migration -| [opentelemetry-instrumentation-urllib3](./opentelemetry-instrumentation-urllib3) | urllib3 >= 1.0.0, < 3.0.0 | Yes | migration + +| Instrumentation | Supported Packages | Metrics support | Semconv status | +| --------------- | ------------------ | --------------- | -------------- | +| [opentelemetry-instrumentation-aio-pika](./opentelemetry-instrumentation-aio-pika) | aio_pika >= 7.2.0, < 10.0.0 | No | development +| [opentelemetry-instrumentation-aiohttp-client](./opentelemetry-instrumentation-aiohttp-client) | aiohttp ~= 3.0 | Yes | migration +| [opentelemetry-instrumentation-aiohttp-server](./opentelemetry-instrumentation-aiohttp-server) | aiohttp ~= 3.0 | Yes | development +| [opentelemetry-instrumentation-aiokafka](./opentelemetry-instrumentation-aiokafka) | aiokafka >= 0.8, < 1.0 | No | development +| [opentelemetry-instrumentation-aiopg](./opentelemetry-instrumentation-aiopg) | aiopg >= 0.13.0, < 2.0.0 | No | development +| [opentelemetry-instrumentation-asgi](./opentelemetry-instrumentation-asgi) | asgiref ~= 3.0 | Yes | migration +| [opentelemetry-instrumentation-asyncclick](./opentelemetry-instrumentation-asyncclick) | asyncclick ~= 8.0 | No | development +| [opentelemetry-instrumentation-asyncio](./opentelemetry-instrumentation-asyncio) | asyncio | No | development +| [opentelemetry-instrumentation-asyncpg](./opentelemetry-instrumentation-asyncpg) | asyncpg >= 0.12.0 | No | development +| [opentelemetry-instrumentation-aws-lambda](./opentelemetry-instrumentation-aws-lambda) | aws_lambda | No | development +| [opentelemetry-instrumentation-boto](./opentelemetry-instrumentation-boto) | boto~=2.0 | No | development +| [opentelemetry-instrumentation-boto3sqs](./opentelemetry-instrumentation-boto3sqs) | boto3 ~= 1.0 | No | development +| [opentelemetry-instrumentation-botocore](./opentelemetry-instrumentation-botocore) | botocore ~= 1.0 | No | development +| [opentelemetry-instrumentation-cassandra](./opentelemetry-instrumentation-cassandra) | cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | No | development +| [opentelemetry-instrumentation-celery](./opentelemetry-instrumentation-celery) | celery >= 4.0, < 6.0 | No | development +| [opentelemetry-instrumentation-click](./opentelemetry-instrumentation-click) | click >= 8.1.3, < 9.0.0 | No | development +| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.11.0 | No | development +| [opentelemetry-instrumentation-dbapi](./opentelemetry-instrumentation-dbapi) | dbapi | No | development +| [opentelemetry-instrumentation-django](./opentelemetry-instrumentation-django) | django >= 1.10 | Yes | development +| [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 6.0 | No | development +| [opentelemetry-instrumentation-falcon](./opentelemetry-instrumentation-falcon) | falcon >= 1.4.1, < 5.0.0 | Yes | migration +| [opentelemetry-instrumentation-fastapi](./opentelemetry-instrumentation-fastapi) | fastapi ~= 0.92 | Yes | migration +| [opentelemetry-instrumentation-flask](./opentelemetry-instrumentation-flask) | flask >= 1.0 | Yes | migration +| [opentelemetry-instrumentation-grpc](./opentelemetry-instrumentation-grpc) | grpcio >= 1.42.0 | No | development +| [opentelemetry-instrumentation-httpx](./opentelemetry-instrumentation-httpx) | httpx >= 0.18.0 | Yes | migration +| [opentelemetry-instrumentation-jinja2](./opentelemetry-instrumentation-jinja2) | jinja2 >= 2.7, < 4.0 | No | development +| [opentelemetry-instrumentation-kafka-python](./opentelemetry-instrumentation-kafka-python) | kafka-python >= 2.0, < 3.0,kafka-python-ng >= 2.0, < 3.0 | No | development +| [opentelemetry-instrumentation-logging](./opentelemetry-instrumentation-logging) | logging | No | development +| [opentelemetry-instrumentation-mysql](./opentelemetry-instrumentation-mysql) | mysql-connector-python >= 8.0, < 10.0 | No | development +| [opentelemetry-instrumentation-mysqlclient](./opentelemetry-instrumentation-mysqlclient) | mysqlclient < 3 | No | development +| [opentelemetry-instrumentation-pika](./opentelemetry-instrumentation-pika) | pika >= 0.12.0 | No | development +| [opentelemetry-instrumentation-psycopg](./opentelemetry-instrumentation-psycopg) | psycopg >= 3.1.0 | No | development +| [opentelemetry-instrumentation-psycopg2](./opentelemetry-instrumentation-psycopg2) | psycopg2 >= 2.7.3.1,psycopg2-binary >= 2.7.3.1 | No | development +| [opentelemetry-instrumentation-pymemcache](./opentelemetry-instrumentation-pymemcache) | pymemcache >= 1.3.5, < 5 | No | development +| [opentelemetry-instrumentation-pymongo](./opentelemetry-instrumentation-pymongo) | pymongo >= 3.1, < 5.0 | No | development +| [opentelemetry-instrumentation-pymssql](./opentelemetry-instrumentation-pymssql) | pymssql >= 2.1.5, < 3 | No | development +| [opentelemetry-instrumentation-pymysql](./opentelemetry-instrumentation-pymysql) | PyMySQL < 2 | No | development +| [opentelemetry-instrumentation-pyramid](./opentelemetry-instrumentation-pyramid) | pyramid >= 1.7 | Yes | development +| [opentelemetry-instrumentation-redis](./opentelemetry-instrumentation-redis) | redis >= 2.6 | No | development +| [opentelemetry-instrumentation-remoulade](./opentelemetry-instrumentation-remoulade) | remoulade >= 0.50 | No | development +| [opentelemetry-instrumentation-requests](./opentelemetry-instrumentation-requests) | requests ~= 2.0 | Yes | migration +| [opentelemetry-instrumentation-sqlalchemy](./opentelemetry-instrumentation-sqlalchemy) | sqlalchemy >= 1.0.0, < 2.1.0 | Yes | development +| [opentelemetry-instrumentation-sqlite3](./opentelemetry-instrumentation-sqlite3) | sqlite3 | No | development +| [opentelemetry-instrumentation-starlette](./opentelemetry-instrumentation-starlette) | starlette >= 0.13 | Yes | development +| [opentelemetry-instrumentation-system-metrics](./opentelemetry-instrumentation-system-metrics) | psutil >= 5 | No | development +| [opentelemetry-instrumentation-taskiq](./opentelemetry-instrumentation-taskiq) | taskiq >= 0.11 | No | development +| [opentelemetry-instrumentation-threading](./opentelemetry-instrumentation-threading) | threading | No | development +| [opentelemetry-instrumentation-tornado](./opentelemetry-instrumentation-tornado) | tornado >= 5.1.1 | Yes | development +| [opentelemetry-instrumentation-tortoiseorm](./opentelemetry-instrumentation-tortoiseorm) | tortoise-orm >= 0.17.0 | No | development +| [opentelemetry-instrumentation-urllib](./opentelemetry-instrumentation-urllib) | urllib | Yes | migration +| [opentelemetry-instrumentation-urllib3](./opentelemetry-instrumentation-urllib3) | urllib3 >= 1.0.0, < 3.0.0 | Yes | migration | [opentelemetry-instrumentation-wsgi](./opentelemetry-instrumentation-wsgi) | wsgi | Yes | migration \ No newline at end of file diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/LICENSE b/instrumentation/opentelemetry-instrumentation-taskiq/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/README.rst b/instrumentation/opentelemetry-instrumentation-taskiq/README.rst new file mode 100644 index 0000000000..63b46c955f --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/README.rst @@ -0,0 +1,24 @@ +OpenTelemetry Taskiq Instrumentation +==================================== + +|pypi| + +.. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-taskiq.svg + :target: https://pypi.org/project/opentelemetry-instrumentation-taskiq/ + +Instrumentation for Taskiq. + + +Installation +------------ + +:: + + pip install opentelemetry-instrumentation-taskiq + +References +---------- +* `OpenTelemetry Taskiq Instrumentation `_ +* `OpenTelemetry Project `_ +* `OpenTelemetry Python Examples `_ + diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/pyproject.toml b/instrumentation/opentelemetry-instrumentation-taskiq/pyproject.toml new file mode 100644 index 0000000000..efe0b3ef42 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/pyproject.toml @@ -0,0 +1,55 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "opentelemetry-instrumentation-taskiq" +dynamic = ["version"] +description = "OpenTelemetry Taskiq Instrumentation" +readme = "README.rst" +license = "Apache-2.0" +requires-python = ">=3.9" +authors = [ + { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", +] +dependencies = [ + "opentelemetry-api ~= 1.12", + "opentelemetry-instrumentation == 0.59b0.dev", + "opentelemetry-semantic-conventions == 0.59b0.dev", +] + +[project.optional-dependencies] +instruments = [ + "taskiq >= 0.11", +] + +[project.entry-points.opentelemetry_instrumentor] +taskiq = "opentelemetry.instrumentation.taskiq:TaskiqInstrumentor" + +[project.urls] +Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-taskiq" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" + +[tool.hatch.version] +path = "src/opentelemetry/instrumentation/taskiq/version.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/src", + "/tests", +] + +[tool.hatch.build.targets.wheel] +packages = ["src/opentelemetry"] diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/__init__.py b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/__init__.py new file mode 100644 index 0000000000..317c5455e8 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/__init__.py @@ -0,0 +1,298 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Instrument `taskiq`_ to trace Taskiq applications. + +.. _taskiq: https://pypi.org/project/taskiq/ + +Usage +----- + +* Run instrumented task + +.. code:: python + + import asyncio + + from opentelemetry.instrumentation.taskiq import TaskiqInstrumentor + from taskiq import InMemoryBroker, TaskiqEvents, TaskiqState + + broker = InMemoryBroker() + + @broker.on_event(TaskiqEvents.WORKER_STARTUP) + async def startup(state: TaskiqState) -> None: + TaskiqInstrumentor().instrument() + + @broker.task + async def add(x, y): + return x + y + + async def main(): + await broker.startup() + await my_task.kiq(1, 2) + await broker.shutdown() + + if __name__ == "__main__": + asyncio.run(main()) + +API +--- +""" + +import logging +from typing import Any, Collection, Optional, TypeVar +from weakref import WeakSet as _WeakSet + +from taskiq import AsyncBroker, TaskiqMessage, TaskiqMiddleware, TaskiqResult +from wrapt import wrap_function_wrapper + +from opentelemetry import context as context_api +from opentelemetry import trace +from opentelemetry.instrumentation.instrumentor import BaseInstrumentor +from opentelemetry.instrumentation.taskiq import utils +from opentelemetry.instrumentation.taskiq.version import __version__ +from opentelemetry.instrumentation.utils import unwrap +from opentelemetry.metrics import Meter, MeterProvider, get_meter +from opentelemetry.propagate import extract, inject +from opentelemetry.semconv.trace import SpanAttributes +from opentelemetry.trace import Tracer, TracerProvider +from opentelemetry.trace.status import Status, StatusCode + +logger = logging.getLogger(__name__) + +T = TypeVar("T") + + +# Task operations +_TASK_TAG_KEY = "taskiq.action" +_TASK_SEND = "send" +_TASK_EXECUTE = "execute" + + +_TASK_RETRY_REASON_KEY = "taskiq.retry.reason" +_TASK_NAME_KEY = "taskiq.task_name" + + +class OpenTelemetryMiddleware(TaskiqMiddleware): + """Middleware to instrument Taskiq with OpenTelemetry.""" + + def __init__( + self, + tracer_provider: Optional[TracerProvider] = None, + meter_provider: Optional[MeterProvider] = None, + tracer: Optional[Tracer] = None, + meter: Optional[Meter] = None, + ): + super().__init__() + self._tracer = ( + trace.get_tracer( + __name__, + __version__, + tracer_provider, + schema_url="https://opentelemetry.io/schemas/1.11.0", + ) + if tracer is None + else tracer + ) + self._meter = ( + get_meter( + __name__, + __version__, + meter_provider, + schema_url="https://opentelemetry.io/schemas/1.11.0", + ) + if meter is None + else meter + ) + + def pre_send(self, message: TaskiqMessage) -> TaskiqMessage: + """Called before sending a task.""" + logger.debug("pre_send task_id=%s", message.task_id) + + operation_name = f"{_TASK_SEND}/{message.task_name}" + span = self._tracer.start_span( + operation_name, kind=trace.SpanKind.PRODUCER + ) + + if span.is_recording(): + span.set_attribute(_TASK_TAG_KEY, _TASK_SEND) + span.set_attribute( + SpanAttributes.MESSAGING_MESSAGE_ID, message.task_id + ) + span.set_attribute(_TASK_NAME_KEY, message.task_name) + utils.set_attributes_from_context(span, message.labels) + + activation = trace.use_span(span, end_on_exit=True) + activation.__enter__() # pylint: disable=E1101 + + utils.attach_context(message, span, activation, None, is_publish=True) + inject(message.labels) + + return message + + def post_send(self, message: TaskiqMessage) -> None: # pylint: disable=R6301 + logger.debug("post_send task_id=%s", message.task_id) + # retrieve and finish the Span + ctx = utils.retrieve_context(message, is_publish=True) + + if ctx is None: + logger.warning( + "no existing span found for task_id=%s", message.task_id + ) + return + + _, activation, _ = ctx + + activation.__exit__(None, None, None) # pylint: disable=E1101 + utils.detach_context(message, is_publish=True) + + def pre_execute(self, message: TaskiqMessage) -> TaskiqMessage: + logger.debug("pre_execute task_id=%s", message.task_id) + tracectx = extract(message.labels) or None + token = context_api.attach(tracectx) if tracectx is not None else None + + operation_name = f"{_TASK_EXECUTE}/{message.task_name}" + span = self._tracer.start_span( + operation_name, context=tracectx, kind=trace.SpanKind.CONSUMER + ) + + activation = trace.use_span(span, end_on_exit=True) + activation.__enter__() # pylint: disable=E1101 + utils.attach_context(message, span, activation, token) + return message + + def post_execute( # pylint: disable=R6301 + self, message: TaskiqMessage, result: TaskiqResult[T] + ) -> None: + logger.debug("post_execute task_id=%s", message.task_id) + + # retrieve and finish the Span + ctx = utils.retrieve_context(message) + + if ctx is None: + logger.warning( + "no existing span found for task_id=%s", message.task_id + ) + return + + span, activation, token = ctx + + if span.is_recording(): + span.set_attribute(_TASK_TAG_KEY, _TASK_EXECUTE) + utils.set_attributes_from_context(span, message.labels) + span.set_attribute(_TASK_NAME_KEY, message.task_name) + + activation.__exit__(None, None, None) + utils.detach_context(message) + # if the process sending the task is not instrumented + # there's no incoming context and no token to detach + if token is not None: + context_api.detach(token) + + def on_error( # pylint: disable=R6301 + self, + message: TaskiqMessage, + result: TaskiqResult[T], + exception: BaseException, + ) -> None: + ctx = utils.retrieve_context(message) + + if ctx is None: + return + + span, _, _ = ctx + + if not span.is_recording(): + return + + retry_on_error = message.labels.get("retry_on_error") + if isinstance(retry_on_error, str): + retry_on_error = retry_on_error.lower() == "true" + + if retry_on_error is None: + retry_on_error = False + + if retry_on_error: + # Add retry reason metadata to span + span.set_attribute(_TASK_RETRY_REASON_KEY, str(exception)) + return + + status_kwargs = { + "status_code": StatusCode.ERROR, + "description": str(exception), + } + span.record_exception(exception) + span.set_status(Status(**status_kwargs)) + + +class TaskiqInstrumentor(BaseInstrumentor): + """OpenTelemetry instrumentor for Taskiq.""" + + _instrumented_brokers: _WeakSet[AsyncBroker] = _WeakSet() + + def __init__(self): + super().__init__() + self._middleware = None + + def instrument_broker( + self, + broker: AsyncBroker, + tracer_provider: Optional[TracerProvider] = None, + meter_provider: Optional[MeterProvider] = None, + ): + if not hasattr(broker, "_is_instrumented_by_opentelemetry"): + broker._is_instrumented_by_opentelemetry = False + + if not getattr(broker, "is_instrumented_by_opentelemetry", False): + broker.middlewares.insert( + 0, + OpenTelemetryMiddleware( + tracer_provider=tracer_provider, + meter_provider=meter_provider, + ), + ) + broker._is_instrumented_by_opentelemetry = True + if broker not in self._instrumented_brokers: + self._instrumented_brokers.add(broker) + else: + logger.warning( + "Attempting to instrument taskiq broker while already instrumented" + ) + + def uninstrument_broker(self, broker: AsyncBroker): + broker.middlewares = [ + middleware + for middleware in broker.middlewares + if not isinstance(middleware, OpenTelemetryMiddleware) + ] + broker._is_instrumented_by_opentelemetry = False + self._instrumented_brokers.discard(broker) + + def instrumentation_dependencies(self) -> Collection[str]: + return ("taskiq >= 0.0.1",) + + def _instrument(self, **kwargs: Any): + def broker_init(init, broker, args, kwargs): + result = init(*args, **kwargs) + self.instrument_broker(broker) + return result + + wrap_function_wrapper("taskiq", "AsyncBroker.__init__", broker_init) + + def _uninstrument(self, **kwargs): + instances_to_uninstrument = list(self._instrumented_brokers) + for broker in instances_to_uninstrument: + self.uninstrument_broker(broker) + self._instrumented_brokers.clear() + unwrap(AsyncBroker, "__init__") diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py new file mode 100644 index 0000000000..4886100a87 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py @@ -0,0 +1,16 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +_instruments = ("celery >= 0.11.0",) diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/utils.py b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/utils.py new file mode 100644 index 0000000000..63921649d9 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/utils.py @@ -0,0 +1,120 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from __future__ import annotations + +import logging +from typing import TYPE_CHECKING, Optional, Tuple + +from taskiq import TaskiqMessage + +from opentelemetry.trace import Span + +if TYPE_CHECKING: + from contextlib import AbstractContextManager + +logger = logging.getLogger(__name__) + +# Taskiq Context key +CTX_KEY = "__otel_task_span" + +# Taskiq Context attributes +TASKIQ_CONTEXT_ATTRIBUTES = [ + "_retries", + "delay", + "max_retries", + "retry_on_error", + "timeout", + "X-Taskiq-requeue", +] + + +# pylint:disable=too-many-branches +def set_attributes_from_context(span, context): + """Helper to extract meta values from a Taskiq Context""" + if not span.is_recording(): + return + + for key in TASKIQ_CONTEXT_ATTRIBUTES: + value = context.get(key) + + # Skip this key if it is not set + if value is None: + continue + + # Skip `retries` if it's value is `0` + if key == "_retries": + if value == "0": + continue + + attribute_name = f"taskiq.{key}" + + span.set_attribute(attribute_name, value) + + +def attach_context( + message: Optional[TaskiqMessage], + span: Span, + activation: AbstractContextManager[Span], + token: Optional[object], + is_publish: bool = False, +) -> None: + """Helper to propagate a `Span`, `ContextManager` and context token + for the given `Task` instance. This function uses a `dict` that stores + the Span using the `(task_id, is_publish)` as a key. This is useful + when information must be propagated from one Celery signal to another. + + We use (task_id, is_publish) for the key to ensure that publishing a + task from within another task does not cause any conflicts. + + This mostly happens when either a task fails and a retry policy is in place, + we end up trying to publish a task with the same id as the task currently running. + """ + if message is None: + return + + ctx_dict = getattr(message, CTX_KEY, None) + + if ctx_dict is None: + ctx_dict = {} + setattr(message, CTX_KEY, ctx_dict) + + ctx_dict[(message.task_id, is_publish)] = (span, activation, token) + + +def detach_context(message: TaskiqMessage, is_publish: bool = False) -> None: + """Helper to remove `Span`, `ContextManager` and context token in a + Taskiq task when it's propagated. + This function handles tasks where no values are attached to the `Task`. + """ + span_dict = getattr(message, CTX_KEY, None) + if span_dict is None: + return + + # See note in `attach_context` for key info + span_dict.pop((message.task_id, is_publish), None) + + +def retrieve_context( + message: TaskiqMessage, is_publish: bool = False +) -> Optional[Tuple[Span, AbstractContextManager[Span], Optional[object]]]: + """Helper to retrieve an active `Span`, `ContextManager` and context token + stored in a `TaskiqMessage` instance + """ + span_dict = getattr(message, CTX_KEY, None) + if span_dict is None: + return None + + # See note in `attach_context` for key info + return span_dict.get((message.task_id, is_publish), None) diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/version.py b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/version.py new file mode 100644 index 0000000000..46aee9202b --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/version.py @@ -0,0 +1,15 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +__version__ = "0.59b0.dev" diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt b/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt new file mode 100644 index 0000000000..4c6ccf9765 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt @@ -0,0 +1,5 @@ +pytest==7.4.4 +pytest-asyncio==0.23.5 +taskiq >= 0.11 +-e opentelemetry-instrumentation +-e instrumentation/opentelemetry-instrumentation-taskiq diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/tests/__init__.py b/instrumentation/opentelemetry-instrumentation-taskiq/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/tests/taskiq_test_tasks.py b/instrumentation/opentelemetry-instrumentation-taskiq/tests/taskiq_test_tasks.py new file mode 100644 index 0000000000..a1e1bd6096 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/tests/taskiq_test_tasks.py @@ -0,0 +1,39 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from taskiq import InMemoryBroker + +from opentelemetry import baggage + +broker = InMemoryBroker( + await_inplace=True # used to sort spans in a deterministic way +) + + +class CustomError(Exception): + pass + + +@broker.task +async def task_add(num_a, num_b): + return num_a + num_b + + +@broker.task +async def task_raises(): + raise CustomError("The task failed!") + + +@broker.task +async def task_returns_baggage(): + return dict(baggage.get_all()) diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_auto_instrumentation.py b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_auto_instrumentation.py new file mode 100644 index 0000000000..edc9383b49 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_auto_instrumentation.py @@ -0,0 +1,63 @@ +import asyncio + +from taskiq import InMemoryBroker + +from opentelemetry.instrumentation.taskiq import TaskiqInstrumentor +from opentelemetry.test.test_base import TestBase +from opentelemetry.trace import SpanKind, StatusCode + + +class TestTaskiqAutoInstrumentation(TestBase): + def test_auto_instrument(self): + TaskiqInstrumentor().instrument() + + broker = InMemoryBroker(await_inplace=True) + + @broker.task + async def task_add(a, b): + return a + b + + async def test(): + await task_add.kiq(1, 2) + await broker.wait_all() + + asyncio.run(test()) + + spans = self.sorted_spans(self.memory_exporter.get_finished_spans()) + self.assertEqual(len(spans), 2) + + consumer, producer = spans + + self.assertEqual( + consumer.name, + "execute/tests.test_auto_instrumentation:task_add", + f"{consumer._end_time}:{producer._end_time}", + ) + self.assertEqual(consumer.kind, SpanKind.CONSUMER) + self.assertSpanHasAttributes( + consumer, + { + "taskiq.action": "execute", + "taskiq.task_name": "tests.test_auto_instrumentation:task_add", + }, + ) + + self.assertEqual(consumer.status.status_code, StatusCode.UNSET) + + self.assertEqual(0, len(consumer.events)) + + self.assertEqual( + producer.name, "send/tests.test_auto_instrumentation:task_add" + ) + self.assertEqual(producer.kind, SpanKind.PRODUCER) + self.assertSpanHasAttributes( + producer, + { + "taskiq.action": "send", + "taskiq.task_name": "tests.test_auto_instrumentation:task_add", + }, + ) + + self.assertNotEqual(consumer.parent, producer.context) + self.assertEqual(consumer.parent.span_id, producer.context.span_id) + self.assertEqual(consumer.context.trace_id, producer.context.trace_id) diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_duplicate.py b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_duplicate.py new file mode 100644 index 0000000000..d37d0a4256 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_duplicate.py @@ -0,0 +1,29 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest + +from opentelemetry.instrumentation.taskiq import TaskiqInstrumentor + +from .taskiq_test_tasks import broker + + +class TestUtils(unittest.TestCase): + @staticmethod + def test_duplicate_instrumentaion(): + first = TaskiqInstrumentor() + first.instrument_broker(broker) + second = TaskiqInstrumentor() + second.instrument_broker(broker) + TaskiqInstrumentor().uninstrument() diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_tasks.py b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_tasks.py new file mode 100644 index 0000000000..9ee138682b --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_tasks.py @@ -0,0 +1,204 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import asyncio + +from wrapt import wrap_function_wrapper + +from opentelemetry import baggage, context +from opentelemetry.instrumentation.taskiq import TaskiqInstrumentor, utils +from opentelemetry.instrumentation.utils import unwrap +from opentelemetry.semconv.trace import SpanAttributes +from opentelemetry.test.test_base import TestBase +from opentelemetry.trace import SpanKind, StatusCode + +from .taskiq_test_tasks import ( + broker, + task_add, + task_raises, + task_returns_baggage, +) + + +class TestTaskiqInstrumentation(TestBase): + def tearDown(self): + super().tearDown() + TaskiqInstrumentor().uninstrument_broker(broker) + + def test_task(self): + TaskiqInstrumentor().instrument_broker(broker) + + async def test(): + await task_add.kiq(1, 2) + await broker.wait_all() + + asyncio.run(test()) + + spans = self.sorted_spans(self.memory_exporter.get_finished_spans()) + self.assertEqual(len(spans), 2) + + consumer, producer = spans + + self.assertEqual( + consumer.name, + "execute/tests.taskiq_test_tasks:task_add", + f"{consumer._end_time}:{producer._end_time}", + ) + self.assertEqual(consumer.kind, SpanKind.CONSUMER) + self.assertSpanHasAttributes( + consumer, + { + "taskiq.action": "execute", + "taskiq.task_name": "tests.taskiq_test_tasks:task_add", + }, + ) + + self.assertEqual(consumer.status.status_code, StatusCode.UNSET) + + self.assertEqual(0, len(consumer.events)) + + self.assertEqual( + producer.name, "send/tests.taskiq_test_tasks:task_add" + ) + self.assertEqual(producer.kind, SpanKind.PRODUCER) + self.assertSpanHasAttributes( + producer, + { + "taskiq.action": "send", + "taskiq.task_name": "tests.taskiq_test_tasks:task_add", + }, + ) + + self.assertNotEqual(consumer.parent, producer.context) + self.assertEqual(consumer.parent.span_id, producer.context.span_id) + self.assertEqual(consumer.context.trace_id, producer.context.trace_id) + + def test_task_raises(self): + TaskiqInstrumentor().instrument_broker(broker) + + async def test(): + await task_raises.kiq() + await broker.wait_all() + + asyncio.run(test()) + + spans = self.sorted_spans(self.memory_exporter.get_finished_spans()) + self.assertEqual(len(spans), 2) + + consumer, producer = spans + + self.assertEqual( + consumer.name, "execute/tests.taskiq_test_tasks:task_raises" + ) + self.assertEqual(consumer.kind, SpanKind.CONSUMER) + self.assertSpanHasAttributes( + consumer, + { + "taskiq.action": "execute", + "taskiq.task_name": "tests.taskiq_test_tasks:task_raises", + }, + ) + + self.assertEqual(consumer.status.status_code, StatusCode.ERROR) + + self.assertEqual(1, len(consumer.events)) + event = consumer.events[0] + + self.assertIn(SpanAttributes.EXCEPTION_STACKTRACE, event.attributes) + + self.assertEqual( + event.attributes[SpanAttributes.EXCEPTION_TYPE], + "tests.taskiq_test_tasks.CustomError", + ) + + self.assertEqual( + event.attributes[SpanAttributes.EXCEPTION_MESSAGE], + "The task failed!", + ) + + self.assertEqual( + producer.name, "send/tests.taskiq_test_tasks:task_raises" + ) + self.assertEqual(producer.kind, SpanKind.PRODUCER) + self.assertSpanHasAttributes( + producer, + { + "taskiq.action": "send", + "taskiq.task_name": "tests.taskiq_test_tasks:task_raises", + }, + ) + + self.assertNotEqual(consumer.parent, producer.context) + self.assertEqual(consumer.parent.span_id, producer.context.span_id) + self.assertEqual(consumer.context.trace_id, producer.context.trace_id) + + def test_uninstrument(self): + TaskiqInstrumentor().instrument_broker(broker) + TaskiqInstrumentor().uninstrument_broker(broker) + + async def test(): + await task_add.kiq(1, 2) + await broker.wait_all() + + asyncio.run(test()) + + spans = self.memory_exporter.get_finished_spans() + self.assertEqual(len(spans), 0) + + def test_baggage(self): + TaskiqInstrumentor().instrument_broker(broker) + + ctx = baggage.set_baggage("key", "value") + context.attach(ctx) + + async def test(): + task = await task_returns_baggage.kiq() + result = await task.wait_result(timeout=2) + return result.return_value + + result = asyncio.run(test()) + + self.assertEqual(result, {"key": "value"}) + + def test_task_not_instrumented_does_not_raise(self): + def _retrieve_context_wrapper_none_token( + wrapped, instance, args, kwargs + ): + ctx = wrapped(*args, **kwargs) + if ctx is None: + return ctx + span, activation, _ = ctx + return span, activation, None + + wrap_function_wrapper( + utils, + "retrieve_context", + _retrieve_context_wrapper_none_token, + ) + + TaskiqInstrumentor().instrument_broker(broker) + + async def test(): + task = await task_add.kiq(1, 2) + result = await task.wait_result(timeout=2) + return result.return_value + + result = asyncio.run(test()) + + spans = self.sorted_spans(self.memory_exporter.get_finished_spans()) + self.assertEqual(len(spans), 2) + + self.assertTrue(result) + + unwrap(utils, "retrieve_context") diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_utils.py b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_utils.py new file mode 100644 index 0000000000..c31aeec501 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-taskiq/tests/test_utils.py @@ -0,0 +1,124 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest +from unittest import mock + +from taskiq import TaskiqMessage + +from opentelemetry import trace as trace_api +from opentelemetry.instrumentation.taskiq import utils +from opentelemetry.sdk import trace + +from .taskiq_test_tasks import broker + + +class TestUtils(unittest.TestCase): + def setUp(self): + self.broker = broker + + def test_set_attributes_from_context(self): + # it should extract only relevant keys + context = { + "_retries": "4", + "delay": "30", + "max_retries": "6", + "retry_on_error": "true", + "timeout": "60", + "X-Taskiq-requeue": "4", + "custom_meta": "custom_value", + } + + span = trace._Span("name", mock.Mock(spec=trace_api.SpanContext)) + utils.set_attributes_from_context(span, context) + + self.assertEqual(span.attributes.get("taskiq._retries"), "4") + self.assertEqual(span.attributes.get("taskiq.delay"), "30") + self.assertEqual(span.attributes.get("taskiq.max_retries"), "6") + self.assertEqual(span.attributes.get("taskiq.retry_on_error"), "true") + self.assertEqual(span.attributes.get("taskiq.timeout"), "60") + self.assertEqual(span.attributes.get("taskiq.X-Taskiq-requeue"), "4") + + self.assertNotIn("custom_meta", span.attributes) + + def test_set_attributes_not_recording(self): + # it should extract only relevant keys + context = { + "_retries": "4", + "delay": "30", + "max_retries": "6", + "retry_on_error": "true", + "timeout": "60", + "X-Taskiq-requeue": "4", + "custom_meta": "custom_value", + } + + mock_span = mock.Mock() + mock_span.is_recording.return_value = False + utils.set_attributes_from_context(mock_span, context) + self.assertFalse(mock_span.is_recording()) + self.assertTrue(mock_span.is_recording.called) + self.assertFalse(mock_span.set_attribute.called) + self.assertFalse(mock_span.set_status.called) + + def test_set_attributes_from_context_empty_keys(self): + # it should not extract empty keys + context = { + "retries": 0, + } + + span = trace._Span("name", mock.Mock(spec=trace_api.SpanContext)) + utils.set_attributes_from_context(span, context) + + self.assertEqual(len(span.attributes), 0) + + def test_span_propagation(self): + # propagate and retrieve a Span + message = mock.Mock( + task_id="7c6731af-9533-40c3-83a9-25b58f0d837f", spec=TaskiqMessage + ) + span = trace._Span("name", mock.Mock(spec=trace_api.SpanContext)) + utils.attach_context(message, span, mock.Mock(), "") + ctx = utils.retrieve_context(message) + self.assertIsNotNone(ctx) + span_after, _, _ = ctx + self.assertIs(span, span_after) + + def test_span_delete(self): + # propagate a Span + message = mock.Mock( + task_id="7c6731af-9533-40c3-83a9-25b58f0d837f", spec=TaskiqMessage + ) + span = trace._Span("name", mock.Mock(spec=trace_api.SpanContext)) + utils.attach_context(message, span, mock.Mock(), "") + # delete the Span + utils.detach_context(message) + self.assertEqual(utils.retrieve_context(message), None) + + def test_optional_message_span_attach(self): + span = trace._Span("name", mock.Mock(spec=trace_api.SpanContext)) + + # assert this is is a no-aop + self.assertIsNone(utils.attach_context(None, span, mock.Mock(), "")) + + def test_span_delete_empty(self): + # delete the Span + message = mock.Mock( + task_id="7c6731af-9533-40c3-83a9-25b58f0d837f", spec=TaskiqMessage + ) + try: + utils.detach_context(message) + self.assertEqual(utils.retrieve_context(message), None) + except Exception as ex: # pylint: disable=broad-except + self.fail(f"Exception was raised: {ex}") diff --git a/opentelemetry-contrib-instrumentations/pyproject.toml b/opentelemetry-contrib-instrumentations/pyproject.toml index 40c9893c37..a33193422e 100644 --- a/opentelemetry-contrib-instrumentations/pyproject.toml +++ b/opentelemetry-contrib-instrumentations/pyproject.toml @@ -1,100 +1,101 @@ -[build-system] -requires = [ - "hatchling", -] -build-backend = "hatchling.build" - -[project] -name = "opentelemetry-contrib-instrumentations" -dynamic = [ - "version", -] -description = "OpenTelemetry Contrib Instrumentation Packages" -readme = "README.rst" -license = "Apache-2.0" -requires-python = ">=3.9" -authors = [ - { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, -] -classifiers = [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: Apache Software License", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", -] -dependencies = [ - "opentelemetry-instrumentation-aio-pika==0.59b0.dev", - "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", - "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", - "opentelemetry-instrumentation-aiokafka==0.59b0.dev", - "opentelemetry-instrumentation-aiopg==0.59b0.dev", - "opentelemetry-instrumentation-asgi==0.59b0.dev", - "opentelemetry-instrumentation-asyncclick==0.59b0.dev", - "opentelemetry-instrumentation-asyncio==0.59b0.dev", - "opentelemetry-instrumentation-asyncpg==0.59b0.dev", - "opentelemetry-instrumentation-aws-lambda==0.59b0.dev", - "opentelemetry-instrumentation-boto==0.59b0.dev", - "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", - "opentelemetry-instrumentation-botocore==0.59b0.dev", - "opentelemetry-instrumentation-cassandra==0.59b0.dev", - "opentelemetry-instrumentation-celery==0.59b0.dev", - "opentelemetry-instrumentation-click==0.59b0.dev", - "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", - "opentelemetry-instrumentation-dbapi==0.59b0.dev", - "opentelemetry-instrumentation-django==0.59b0.dev", - "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", - "opentelemetry-instrumentation-falcon==0.59b0.dev", - "opentelemetry-instrumentation-fastapi==0.59b0.dev", - "opentelemetry-instrumentation-flask==0.59b0.dev", - "opentelemetry-instrumentation-grpc==0.59b0.dev", - "opentelemetry-instrumentation-httpx==0.59b0.dev", - "opentelemetry-instrumentation-jinja2==0.59b0.dev", - "opentelemetry-instrumentation-kafka-python==0.59b0.dev", - "opentelemetry-instrumentation-logging==0.59b0.dev", - "opentelemetry-instrumentation-mysql==0.59b0.dev", - "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", - "opentelemetry-instrumentation-pika==0.59b0.dev", - "opentelemetry-instrumentation-psycopg==0.59b0.dev", - "opentelemetry-instrumentation-psycopg2==0.59b0.dev", - "opentelemetry-instrumentation-pymemcache==0.59b0.dev", - "opentelemetry-instrumentation-pymongo==0.59b0.dev", - "opentelemetry-instrumentation-pymssql==0.59b0.dev", - "opentelemetry-instrumentation-pymysql==0.59b0.dev", - "opentelemetry-instrumentation-pyramid==0.59b0.dev", - "opentelemetry-instrumentation-redis==0.59b0.dev", - "opentelemetry-instrumentation-remoulade==0.59b0.dev", - "opentelemetry-instrumentation-requests==0.59b0.dev", - "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", - "opentelemetry-instrumentation-sqlite3==0.59b0.dev", - "opentelemetry-instrumentation-starlette==0.59b0.dev", - "opentelemetry-instrumentation-system-metrics==0.59b0.dev", - "opentelemetry-instrumentation-threading==0.59b0.dev", - "opentelemetry-instrumentation-tornado==0.59b0.dev", - "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", - "opentelemetry-instrumentation-urllib==0.59b0.dev", - "opentelemetry-instrumentation-urllib3==0.59b0.dev", - "opentelemetry-instrumentation-wsgi==0.59b0.dev", -] - -[project.urls] -Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-contrib-instrumentations" -Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" - -[tool.hatch.version] -path = "src/opentelemetry/contrib-instrumentations/version.py" - -[tool.hatch.build.targets.sdist] -include = [ - "/src", -] - -[tool.hatch.build.targets.wheel] -packages = [ - "src/opentelemetry", -] +[build-system] +requires = [ + "hatchling", +] +build-backend = "hatchling.build" + +[project] +name = "opentelemetry-contrib-instrumentations" +dynamic = [ + "version", +] +description = "OpenTelemetry Contrib Instrumentation Packages" +readme = "README.rst" +license = "Apache-2.0" +requires-python = ">=3.9" +authors = [ + { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", +] +dependencies = [ + "opentelemetry-instrumentation-aio-pika==0.59b0.dev", + "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", + "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", + "opentelemetry-instrumentation-aiokafka==0.59b0.dev", + "opentelemetry-instrumentation-aiopg==0.59b0.dev", + "opentelemetry-instrumentation-asgi==0.59b0.dev", + "opentelemetry-instrumentation-asyncclick==0.59b0.dev", + "opentelemetry-instrumentation-asyncio==0.59b0.dev", + "opentelemetry-instrumentation-asyncpg==0.59b0.dev", + "opentelemetry-instrumentation-aws-lambda==0.59b0.dev", + "opentelemetry-instrumentation-boto==0.59b0.dev", + "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", + "opentelemetry-instrumentation-botocore==0.59b0.dev", + "opentelemetry-instrumentation-cassandra==0.59b0.dev", + "opentelemetry-instrumentation-celery==0.59b0.dev", + "opentelemetry-instrumentation-click==0.59b0.dev", + "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", + "opentelemetry-instrumentation-dbapi==0.59b0.dev", + "opentelemetry-instrumentation-django==0.59b0.dev", + "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", + "opentelemetry-instrumentation-falcon==0.59b0.dev", + "opentelemetry-instrumentation-fastapi==0.59b0.dev", + "opentelemetry-instrumentation-flask==0.59b0.dev", + "opentelemetry-instrumentation-grpc==0.59b0.dev", + "opentelemetry-instrumentation-httpx==0.59b0.dev", + "opentelemetry-instrumentation-jinja2==0.59b0.dev", + "opentelemetry-instrumentation-kafka-python==0.59b0.dev", + "opentelemetry-instrumentation-logging==0.59b0.dev", + "opentelemetry-instrumentation-mysql==0.59b0.dev", + "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", + "opentelemetry-instrumentation-pika==0.59b0.dev", + "opentelemetry-instrumentation-psycopg==0.59b0.dev", + "opentelemetry-instrumentation-psycopg2==0.59b0.dev", + "opentelemetry-instrumentation-pymemcache==0.59b0.dev", + "opentelemetry-instrumentation-pymongo==0.59b0.dev", + "opentelemetry-instrumentation-pymssql==0.59b0.dev", + "opentelemetry-instrumentation-pymysql==0.59b0.dev", + "opentelemetry-instrumentation-pyramid==0.59b0.dev", + "opentelemetry-instrumentation-redis==0.59b0.dev", + "opentelemetry-instrumentation-remoulade==0.59b0.dev", + "opentelemetry-instrumentation-requests==0.59b0.dev", + "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", + "opentelemetry-instrumentation-sqlite3==0.59b0.dev", + "opentelemetry-instrumentation-starlette==0.59b0.dev", + "opentelemetry-instrumentation-system-metrics==0.59b0.dev", + "opentelemetry-instrumentation-taskiq==0.59b0.dev", + "opentelemetry-instrumentation-threading==0.59b0.dev", + "opentelemetry-instrumentation-tornado==0.59b0.dev", + "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", + "opentelemetry-instrumentation-urllib==0.59b0.dev", + "opentelemetry-instrumentation-urllib3==0.59b0.dev", + "opentelemetry-instrumentation-wsgi==0.59b0.dev", +] + +[project.urls] +Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-contrib-instrumentations" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" + +[tool.hatch.version] +path = "src/opentelemetry/contrib-instrumentations/version.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/src", +] + +[tool.hatch.build.targets.wheel] +packages = [ + "src/opentelemetry", +] diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py index fae84a772a..3bdae2bef4 100644 --- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py +++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py @@ -1,224 +1,228 @@ -# Copyright The OpenTelemetry Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# DO NOT EDIT. THIS FILE WAS AUTOGENERATED FROM INSTRUMENTATION PACKAGES. -# RUN `python scripts/generate_instrumentation_bootstrap.py` TO REGENERATE. - -libraries = [ - { - "library": "openai >= 1.26.0", - "instrumentation": "opentelemetry-instrumentation-openai-v2", - }, - { - "library": "google-cloud-aiplatform >= 1.64", - "instrumentation": "opentelemetry-instrumentation-vertexai>=2.0b0", - }, - { - "library": "aio_pika >= 7.2.0, < 10.0.0", - "instrumentation": "opentelemetry-instrumentation-aio-pika==0.59b0.dev", - }, - { - "library": "aiohttp ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", - }, - { - "library": "aiohttp ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", - }, - { - "library": "aiokafka >= 0.8, < 1.0", - "instrumentation": "opentelemetry-instrumentation-aiokafka==0.59b0.dev", - }, - { - "library": "aiopg >= 0.13.0, < 2.0.0", - "instrumentation": "opentelemetry-instrumentation-aiopg==0.59b0.dev", - }, - { - "library": "asgiref ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-asgi==0.59b0.dev", - }, - { - "library": "asyncclick ~= 8.0", - "instrumentation": "opentelemetry-instrumentation-asyncclick==0.59b0.dev", - }, - { - "library": "asyncpg >= 0.12.0", - "instrumentation": "opentelemetry-instrumentation-asyncpg==0.59b0.dev", - }, - { - "library": "boto~=2.0", - "instrumentation": "opentelemetry-instrumentation-boto==0.59b0.dev", - }, - { - "library": "boto3 ~= 1.0", - "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", - }, - { - "library": "botocore ~= 1.0", - "instrumentation": "opentelemetry-instrumentation-botocore==0.59b0.dev", - }, - { - "library": "cassandra-driver ~= 3.25", - "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", - }, - { - "library": "scylla-driver ~= 3.25", - "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", - }, - { - "library": "celery >= 4.0, < 6.0", - "instrumentation": "opentelemetry-instrumentation-celery==0.59b0.dev", - }, - { - "library": "click >= 8.1.3, < 9.0.0", - "instrumentation": "opentelemetry-instrumentation-click==0.59b0.dev", - }, - { - "library": "confluent-kafka >= 1.8.2, <= 2.11.0", - "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", - }, - { - "library": "django >= 1.10", - "instrumentation": "opentelemetry-instrumentation-django==0.59b0.dev", - }, - { - "library": "elasticsearch >= 6.0", - "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", - }, - { - "library": "falcon >= 1.4.1, < 5.0.0", - "instrumentation": "opentelemetry-instrumentation-falcon==0.59b0.dev", - }, - { - "library": "fastapi ~= 0.92", - "instrumentation": "opentelemetry-instrumentation-fastapi==0.59b0.dev", - }, - { - "library": "flask >= 1.0", - "instrumentation": "opentelemetry-instrumentation-flask==0.59b0.dev", - }, - { - "library": "grpcio >= 1.42.0", - "instrumentation": "opentelemetry-instrumentation-grpc==0.59b0.dev", - }, - { - "library": "httpx >= 0.18.0", - "instrumentation": "opentelemetry-instrumentation-httpx==0.59b0.dev", - }, - { - "library": "jinja2 >= 2.7, < 4.0", - "instrumentation": "opentelemetry-instrumentation-jinja2==0.59b0.dev", - }, - { - "library": "kafka-python >= 2.0, < 3.0", - "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", - }, - { - "library": "kafka-python-ng >= 2.0, < 3.0", - "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", - }, - { - "library": "mysql-connector-python >= 8.0, < 10.0", - "instrumentation": "opentelemetry-instrumentation-mysql==0.59b0.dev", - }, - { - "library": "mysqlclient < 3", - "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", - }, - { - "library": "pika >= 0.12.0", - "instrumentation": "opentelemetry-instrumentation-pika==0.59b0.dev", - }, - { - "library": "psycopg >= 3.1.0", - "instrumentation": "opentelemetry-instrumentation-psycopg==0.59b0.dev", - }, - { - "library": "psycopg2 >= 2.7.3.1", - "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", - }, - { - "library": "psycopg2-binary >= 2.7.3.1", - "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", - }, - { - "library": "pymemcache >= 1.3.5, < 5", - "instrumentation": "opentelemetry-instrumentation-pymemcache==0.59b0.dev", - }, - { - "library": "pymongo >= 3.1, < 5.0", - "instrumentation": "opentelemetry-instrumentation-pymongo==0.59b0.dev", - }, - { - "library": "pymssql >= 2.1.5, < 3", - "instrumentation": "opentelemetry-instrumentation-pymssql==0.59b0.dev", - }, - { - "library": "PyMySQL < 2", - "instrumentation": "opentelemetry-instrumentation-pymysql==0.59b0.dev", - }, - { - "library": "pyramid >= 1.7", - "instrumentation": "opentelemetry-instrumentation-pyramid==0.59b0.dev", - }, - { - "library": "redis >= 2.6", - "instrumentation": "opentelemetry-instrumentation-redis==0.59b0.dev", - }, - { - "library": "remoulade >= 0.50", - "instrumentation": "opentelemetry-instrumentation-remoulade==0.59b0.dev", - }, - { - "library": "requests ~= 2.0", - "instrumentation": "opentelemetry-instrumentation-requests==0.59b0.dev", - }, - { - "library": "sqlalchemy >= 1.0.0, < 2.1.0", - "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", - }, - { - "library": "starlette >= 0.13", - "instrumentation": "opentelemetry-instrumentation-starlette==0.59b0.dev", - }, - { - "library": "psutil >= 5", - "instrumentation": "opentelemetry-instrumentation-system-metrics==0.59b0.dev", - }, - { - "library": "tornado >= 5.1.1", - "instrumentation": "opentelemetry-instrumentation-tornado==0.59b0.dev", - }, - { - "library": "tortoise-orm >= 0.17.0", - "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", - }, - { - "library": "pydantic >= 1.10.2", - "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", - }, - { - "library": "urllib3 >= 1.0.0, < 3.0.0", - "instrumentation": "opentelemetry-instrumentation-urllib3==0.59b0.dev", - }, -] -default_instrumentations = [ - "opentelemetry-instrumentation-asyncio==0.59b0.dev", - "opentelemetry-instrumentation-dbapi==0.59b0.dev", - "opentelemetry-instrumentation-logging==0.59b0.dev", - "opentelemetry-instrumentation-sqlite3==0.59b0.dev", - "opentelemetry-instrumentation-threading==0.59b0.dev", - "opentelemetry-instrumentation-urllib==0.59b0.dev", - "opentelemetry-instrumentation-wsgi==0.59b0.dev", -] +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# DO NOT EDIT. THIS FILE WAS AUTOGENERATED FROM INSTRUMENTATION PACKAGES. +# RUN `python scripts/generate_instrumentation_bootstrap.py` TO REGENERATE. + +libraries = [ + { + "library": "openai >= 1.26.0", + "instrumentation": "opentelemetry-instrumentation-openai-v2", + }, + { + "library": "google-cloud-aiplatform >= 1.64", + "instrumentation": "opentelemetry-instrumentation-vertexai>=2.0b0", + }, + { + "library": "aio_pika >= 7.2.0, < 10.0.0", + "instrumentation": "opentelemetry-instrumentation-aio-pika==0.59b0.dev", + }, + { + "library": "aiohttp ~= 3.0", + "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", + }, + { + "library": "aiohttp ~= 3.0", + "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", + }, + { + "library": "aiokafka >= 0.8, < 1.0", + "instrumentation": "opentelemetry-instrumentation-aiokafka==0.59b0.dev", + }, + { + "library": "aiopg >= 0.13.0, < 2.0.0", + "instrumentation": "opentelemetry-instrumentation-aiopg==0.59b0.dev", + }, + { + "library": "asgiref ~= 3.0", + "instrumentation": "opentelemetry-instrumentation-asgi==0.59b0.dev", + }, + { + "library": "asyncclick ~= 8.0", + "instrumentation": "opentelemetry-instrumentation-asyncclick==0.59b0.dev", + }, + { + "library": "asyncpg >= 0.12.0", + "instrumentation": "opentelemetry-instrumentation-asyncpg==0.59b0.dev", + }, + { + "library": "boto~=2.0", + "instrumentation": "opentelemetry-instrumentation-boto==0.59b0.dev", + }, + { + "library": "boto3 ~= 1.0", + "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", + }, + { + "library": "botocore ~= 1.0", + "instrumentation": "opentelemetry-instrumentation-botocore==0.59b0.dev", + }, + { + "library": "cassandra-driver ~= 3.25", + "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", + }, + { + "library": "scylla-driver ~= 3.25", + "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", + }, + { + "library": "celery >= 4.0, < 6.0", + "instrumentation": "opentelemetry-instrumentation-celery==0.59b0.dev", + }, + { + "library": "click >= 8.1.3, < 9.0.0", + "instrumentation": "opentelemetry-instrumentation-click==0.59b0.dev", + }, + { + "library": "confluent-kafka >= 1.8.2, <= 2.11.0", + "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", + }, + { + "library": "django >= 1.10", + "instrumentation": "opentelemetry-instrumentation-django==0.59b0.dev", + }, + { + "library": "elasticsearch >= 6.0", + "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", + }, + { + "library": "falcon >= 1.4.1, < 5.0.0", + "instrumentation": "opentelemetry-instrumentation-falcon==0.59b0.dev", + }, + { + "library": "fastapi ~= 0.92", + "instrumentation": "opentelemetry-instrumentation-fastapi==0.59b0.dev", + }, + { + "library": "flask >= 1.0", + "instrumentation": "opentelemetry-instrumentation-flask==0.59b0.dev", + }, + { + "library": "grpcio >= 1.42.0", + "instrumentation": "opentelemetry-instrumentation-grpc==0.59b0.dev", + }, + { + "library": "httpx >= 0.18.0", + "instrumentation": "opentelemetry-instrumentation-httpx==0.59b0.dev", + }, + { + "library": "jinja2 >= 2.7, < 4.0", + "instrumentation": "opentelemetry-instrumentation-jinja2==0.59b0.dev", + }, + { + "library": "kafka-python >= 2.0, < 3.0", + "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", + }, + { + "library": "kafka-python-ng >= 2.0, < 3.0", + "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", + }, + { + "library": "mysql-connector-python >= 8.0, < 10.0", + "instrumentation": "opentelemetry-instrumentation-mysql==0.59b0.dev", + }, + { + "library": "mysqlclient < 3", + "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", + }, + { + "library": "pika >= 0.12.0", + "instrumentation": "opentelemetry-instrumentation-pika==0.59b0.dev", + }, + { + "library": "psycopg >= 3.1.0", + "instrumentation": "opentelemetry-instrumentation-psycopg==0.59b0.dev", + }, + { + "library": "psycopg2 >= 2.7.3.1", + "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", + }, + { + "library": "psycopg2-binary >= 2.7.3.1", + "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", + }, + { + "library": "pymemcache >= 1.3.5, < 5", + "instrumentation": "opentelemetry-instrumentation-pymemcache==0.59b0.dev", + }, + { + "library": "pymongo >= 3.1, < 5.0", + "instrumentation": "opentelemetry-instrumentation-pymongo==0.59b0.dev", + }, + { + "library": "pymssql >= 2.1.5, < 3", + "instrumentation": "opentelemetry-instrumentation-pymssql==0.59b0.dev", + }, + { + "library": "PyMySQL < 2", + "instrumentation": "opentelemetry-instrumentation-pymysql==0.59b0.dev", + }, + { + "library": "pyramid >= 1.7", + "instrumentation": "opentelemetry-instrumentation-pyramid==0.59b0.dev", + }, + { + "library": "redis >= 2.6", + "instrumentation": "opentelemetry-instrumentation-redis==0.59b0.dev", + }, + { + "library": "remoulade >= 0.50", + "instrumentation": "opentelemetry-instrumentation-remoulade==0.59b0.dev", + }, + { + "library": "requests ~= 2.0", + "instrumentation": "opentelemetry-instrumentation-requests==0.59b0.dev", + }, + { + "library": "sqlalchemy >= 1.0.0, < 2.1.0", + "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", + }, + { + "library": "starlette >= 0.13", + "instrumentation": "opentelemetry-instrumentation-starlette==0.59b0.dev", + }, + { + "library": "psutil >= 5", + "instrumentation": "opentelemetry-instrumentation-system-metrics==0.59b0.dev", + }, + { + "library": "taskiq >= 0.11", + "instrumentation": "opentelemetry-instrumentation-taskiq==0.59b0.dev", + }, + { + "library": "tornado >= 5.1.1", + "instrumentation": "opentelemetry-instrumentation-tornado==0.59b0.dev", + }, + { + "library": "tortoise-orm >= 0.17.0", + "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", + }, + { + "library": "pydantic >= 1.10.2", + "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", + }, + { + "library": "urllib3 >= 1.0.0, < 3.0.0", + "instrumentation": "opentelemetry-instrumentation-urllib3==0.59b0.dev", + }, +] +default_instrumentations = [ + "opentelemetry-instrumentation-asyncio==0.59b0.dev", + "opentelemetry-instrumentation-dbapi==0.59b0.dev", + "opentelemetry-instrumentation-logging==0.59b0.dev", + "opentelemetry-instrumentation-sqlite3==0.59b0.dev", + "opentelemetry-instrumentation-threading==0.59b0.dev", + "opentelemetry-instrumentation-urllib==0.59b0.dev", + "opentelemetry-instrumentation-wsgi==0.59b0.dev", +] diff --git a/pyproject.toml b/pyproject.toml index 30ada5bb25..a59a1e15d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,223 +1,225 @@ -# Used for local development, not to be published. -[project] -name = "opentelemetry-python-contrib" -version = "0.0.0" # This is not used. -requires-python = ">=3.9" -dependencies = [ - "opentelemetry-api", - "opentelemetry-sdk", - "opentelemetry-semantic-conventions", - "opentelemetry-test-utils", - "opentelemetry-exporter-prometheus-remote-write", - "opentelemetry-exporter-richconsole", - "opentelemetry-instrumentation", - "opentelemetry-instrumentation-aio-pika[instruments]", - "opentelemetry-instrumentation-aiohttp-client[instruments]", - "opentelemetry-instrumentation-aiohttp-server[instruments]", - "opentelemetry-instrumentation-aiokafka[instruments]", - "opentelemetry-instrumentation-aiopg[instruments]", - "opentelemetry-instrumentation-asgi[instruments]", - "opentelemetry-instrumentation-asyncio", - "opentelemetry-instrumentation-asyncpg[instruments]", - "opentelemetry-instrumentation-aws-lambda[instruments]", - "opentelemetry-instrumentation-boto[instruments]", - "opentelemetry-instrumentation-boto3sqs[instruments]", - "opentelemetry-instrumentation-botocore[instruments]", - "opentelemetry-instrumentation-cassandra[instruments]", - "opentelemetry-instrumentation-celery[instruments]", - "opentelemetry-instrumentation-click[instruments]", - "opentelemetry-instrumentation-confluent-kafka[instruments]", - "opentelemetry-instrumentation-dbapi", - "opentelemetry-instrumentation-django[instruments]", - "opentelemetry-instrumentation-elasticsearch[instruments]", - "opentelemetry-instrumentation-falcon[instruments]", - "opentelemetry-instrumentation-fastapi[instruments]", - "opentelemetry-instrumentation-flask[instruments]", - "opentelemetry-instrumentation-grpc[instruments]", - "opentelemetry-instrumentation-httpx[instruments]", - "opentelemetry-instrumentation-jinja2[instruments]", - "opentelemetry-instrumentation-kafka-python[instruments]", - "opentelemetry-instrumentation-kafka-python[instruments-any]", - "opentelemetry-instrumentation-logging", - "opentelemetry-instrumentation-mysql[instruments]", - "opentelemetry-instrumentation-mysqlclient[instruments]", - "opentelemetry-instrumentation-pika[instruments]", - "opentelemetry-instrumentation-psycopg[instruments]", - "opentelemetry-instrumentation-psycopg2[instruments]", - "opentelemetry-instrumentation-psycopg2[instruments-any]", - "opentelemetry-instrumentation-pymemcache[instruments]", - "opentelemetry-instrumentation-pymongo[instruments]", - "opentelemetry-instrumentation-pymysql[instruments]", - "opentelemetry-instrumentation-pyramid[instruments]", - "opentelemetry-instrumentation-redis[instruments]", - "opentelemetry-instrumentation-remoulade[instruments]", - "opentelemetry-instrumentation-requests[instruments]", - "opentelemetry-instrumentation-sqlalchemy[instruments]", - "opentelemetry-instrumentation-sqlite3", - "opentelemetry-instrumentation-system-metrics", - "opentelemetry-instrumentation-threading", - "opentelemetry-instrumentation-tornado", - "opentelemetry-instrumentation-tortoiseorm", - "opentelemetry-instrumentation-urllib", - "opentelemetry-instrumentation-urllib3[instruments]", - "opentelemetry-instrumentation-wsgi", - "opentelemetry-propagator-ot-trace", - "opentelemetry-propagator-aws-xray", - "opentelemetry-util-http", - "opentelemetry-util-genai", - "opentelemetry-instrumentation-vertexai[instruments]", - "opentelemetry-instrumentation-openai-v2[instruments]", -] - - -# https://docs.astral.sh/uv/reference/settings/ -[tool.uv] -package = false # https://docs.astral.sh/uv/reference/settings/#package -required-version = ">=0.6.0" - -# https://docs.astral.sh/uv/reference/settings/#sources -[tool.uv.sources] -opentelemetry-api = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-api" } -opentelemetry-sdk = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-sdk" } -opentelemetry-semantic-conventions = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-semantic-conventions" } -opentelemetry-test-utils = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "tests/opentelemetry-test-utils" } -opentelemetry-exporter-prometheus-remote-write = { workspace = true } -opentelemetry-exporter-richconsole = { workspace = true } -opentelemetry-instrumentation = { workspace = true } -opentelemetry-instrumentation-aio-pika = { workspace = true } -opentelemetry-instrumentation-aiohttp-client = { workspace = true } -opentelemetry-instrumentation-aiohttp-server = { workspace = true } -opentelemetry-instrumentation-aiokafka = { workspace = true } -opentelemetry-instrumentation-aiopg = { workspace = true } -opentelemetry-instrumentation-asgi = { workspace = true } -opentelemetry-instrumentation-asyncio = { workspace = true } -opentelemetry-instrumentation-asyncpg = { workspace = true } -opentelemetry-instrumentation-aws-lambda = { workspace = true } -opentelemetry-instrumentation-boto = { workspace = true } -opentelemetry-instrumentation-boto3sqs = { workspace = true } -opentelemetry-instrumentation-botocore = { workspace = true } -opentelemetry-instrumentation-cassandra = { workspace = true } -opentelemetry-instrumentation-celery = { workspace = true } -opentelemetry-instrumentation-click = { workspace = true } -opentelemetry-instrumentation-confluent-kafka = { workspace = true } -opentelemetry-instrumentation-dbapi = { workspace = true } -opentelemetry-instrumentation-django = { workspace = true } -opentelemetry-instrumentation-elasticsearch = { workspace = true } -opentelemetry-instrumentation-falcon = { workspace = true } -opentelemetry-instrumentation-fastapi = { workspace = true } -opentelemetry-instrumentation-flask = { workspace = true } -opentelemetry-instrumentation-grpc = { workspace = true } -opentelemetry-instrumentation-httpx = { workspace = true } -opentelemetry-instrumentation-jinja2 = { workspace = true } -opentelemetry-instrumentation-kafka-python = { workspace = true } -opentelemetry-instrumentation-logging = { workspace = true } -opentelemetry-instrumentation-mysql = { workspace = true } -opentelemetry-instrumentation-mysqlclient = { workspace = true } -opentelemetry-instrumentation-pika = { workspace = true } -opentelemetry-instrumentation-psycopg = { workspace = true } -opentelemetry-instrumentation-psycopg2 = { workspace = true } -opentelemetry-instrumentation-pymemcache = { workspace = true } -opentelemetry-instrumentation-pymongo = { workspace = true } -opentelemetry-instrumentation-pymysql = { workspace = true } -opentelemetry-instrumentation-pyramid = { workspace = true } -opentelemetry-instrumentation-redis = { workspace = true } -opentelemetry-instrumentation-remoulade = { workspace = true } -opentelemetry-instrumentation-requests = { workspace = true } -opentelemetry-instrumentation-sqlalchemy = { workspace = true } -opentelemetry-instrumentation-sqlite3 = { workspace = true } -opentelemetry-instrumentation-system-metrics = { workspace = true } -opentelemetry-instrumentation-threading = { workspace = true } -opentelemetry-instrumentation-tornado = { workspace = true } -opentelemetry-instrumentation-tortoiseorm = { workspace = true } -opentelemetry-instrumentation-urllib = { workspace = true } -opentelemetry-instrumentation-urllib3 = { workspace = true } -opentelemetry-instrumentation-wsgi = { workspace = true } -opentelemetry-propagator-ot-trace = { workspace = true } -opentelemetry-propagator-aws-xray = { workspace = true } -opentelemetry-util-http = { workspace = true } -opentelemetry-util-genai = { workspace = true } -opentelemetry-instrumentation-vertexai = { workspace = true } -opentelemetry-instrumentation-openai-v2 = { workspace = true } - -# https://docs.astral.sh/uv/reference/settings/#workspace -[tool.uv.workspace] -members = [ - "instrumentation/*", - "instrumentation-genai/*", - "exporter/*", - "opentelemetry-instrumentation", - "propagator/*", - "util/*", -] - -[tool.ruff] -# https://docs.astral.sh/ruff/configuration/ -target-version = "py39" -line-length = 79 -extend-exclude = ["_template", "*_pb2*.py*"] -output-format = "concise" - -[tool.ruff.lint] -# https://docs.astral.sh/ruff/linter/#rule-selection -# pylint: https://github.com/astral-sh/ruff/issues/970 -select = [ - "I", # isort - "F", # pyflakes - "E", # pycodestyle errors - "W", # pycodestyle warnings - "PLC", # pylint convention - "PLE", # pylint error - "Q", # flake8-quotes - "A", # flake8-builtins -] -ignore = [ - "E501", # line-too-long -] - -[tool.ruff.lint.per-file-ignores] -"docs/**/*.*" = ["A001"] - -[tool.ruff.lint.isort] -detect-same-package = false # to not consider instrumentation packages as first-party -known-first-party = ["opentelemetry"] -known-third-party = [ - "psutil", - "pytest", - "redis", - "redis_opentracing", - "opencensus", -] - - -# https://github.com/microsoft/pyright/blob/main/docs/configuration.md#type-check-rule-overrides -[tool.pyright] -typeCheckingMode = "strict" -reportUnnecessaryTypeIgnoreComment = true -reportMissingTypeStubs = false -pythonVersion = "3.9" -reportPrivateUsage = false # Ignore private attributes added by instrumentation packages. -# Add progressively instrumentation packages here. -include = [ - "instrumentation/opentelemetry-instrumentation-aiokafka", - "instrumentation/opentelemetry-instrumentation-asyncclick", - "instrumentation/opentelemetry-instrumentation-threading", - "instrumentation-genai/opentelemetry-instrumentation-vertexai", - "instrumentation-genai/opentelemetry-instrumentation-langchain", - "instrumentation-genai/opentelemetry-instrumentation-weaviate", - "util/opentelemetry-util-genai", - "exporter/opentelemetry-exporter-credential-provider-gcp", -] -# We should also add type hints to the test suite - It helps on finding bugs. -# We are excluding for now because it's easier, and more important to add to the instrumentation packages. -exclude = [ - "instrumentation/opentelemetry-instrumentation-aiokafka/tests/**/*.py", - "instrumentation/opentelemetry-instrumentation-asyncclick/tests/**/*.py", - "instrumentation/opentelemetry-instrumentation-threading/tests/**", - "instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-vertexai/examples/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-langchain/tests/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-langchain/examples/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-weaviate/tests/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-weaviate/examples/**/*.py", - "util/opentelemetry-util-genai/tests/**/*.py", -] +# Used for local development, not to be published. +[project] +name = "opentelemetry-python-contrib" +version = "0.0.0" # This is not used. +requires-python = ">=3.9" +dependencies = [ + "opentelemetry-api", + "opentelemetry-sdk", + "opentelemetry-semantic-conventions", + "opentelemetry-test-utils", + "opentelemetry-exporter-prometheus-remote-write", + "opentelemetry-exporter-richconsole", + "opentelemetry-instrumentation", + "opentelemetry-instrumentation-aio-pika[instruments]", + "opentelemetry-instrumentation-aiohttp-client[instruments]", + "opentelemetry-instrumentation-aiohttp-server[instruments]", + "opentelemetry-instrumentation-aiokafka[instruments]", + "opentelemetry-instrumentation-aiopg[instruments]", + "opentelemetry-instrumentation-asgi[instruments]", + "opentelemetry-instrumentation-asyncio", + "opentelemetry-instrumentation-asyncpg[instruments]", + "opentelemetry-instrumentation-aws-lambda[instruments]", + "opentelemetry-instrumentation-boto[instruments]", + "opentelemetry-instrumentation-boto3sqs[instruments]", + "opentelemetry-instrumentation-botocore[instruments]", + "opentelemetry-instrumentation-cassandra[instruments]", + "opentelemetry-instrumentation-celery[instruments]", + "opentelemetry-instrumentation-click[instruments]", + "opentelemetry-instrumentation-confluent-kafka[instruments]", + "opentelemetry-instrumentation-dbapi", + "opentelemetry-instrumentation-django[instruments]", + "opentelemetry-instrumentation-elasticsearch[instruments]", + "opentelemetry-instrumentation-falcon[instruments]", + "opentelemetry-instrumentation-fastapi[instruments]", + "opentelemetry-instrumentation-flask[instruments]", + "opentelemetry-instrumentation-grpc[instruments]", + "opentelemetry-instrumentation-httpx[instruments]", + "opentelemetry-instrumentation-jinja2[instruments]", + "opentelemetry-instrumentation-kafka-python[instruments]", + "opentelemetry-instrumentation-kafka-python[instruments-any]", + "opentelemetry-instrumentation-logging", + "opentelemetry-instrumentation-mysql[instruments]", + "opentelemetry-instrumentation-mysqlclient[instruments]", + "opentelemetry-instrumentation-pika[instruments]", + "opentelemetry-instrumentation-psycopg[instruments]", + "opentelemetry-instrumentation-psycopg2[instruments]", + "opentelemetry-instrumentation-psycopg2[instruments-any]", + "opentelemetry-instrumentation-pymemcache[instruments]", + "opentelemetry-instrumentation-pymongo[instruments]", + "opentelemetry-instrumentation-pymysql[instruments]", + "opentelemetry-instrumentation-pyramid[instruments]", + "opentelemetry-instrumentation-redis[instruments]", + "opentelemetry-instrumentation-remoulade[instruments]", + "opentelemetry-instrumentation-requests[instruments]", + "opentelemetry-instrumentation-sqlalchemy[instruments]", + "opentelemetry-instrumentation-sqlite3", + "opentelemetry-instrumentation-system-metrics", + "opentelemetry-instrumentation-taskiq[instruments]", + "opentelemetry-instrumentation-threading", + "opentelemetry-instrumentation-tornado", + "opentelemetry-instrumentation-tortoiseorm", + "opentelemetry-instrumentation-urllib", + "opentelemetry-instrumentation-urllib3[instruments]", + "opentelemetry-instrumentation-wsgi", + "opentelemetry-propagator-ot-trace", + "opentelemetry-propagator-aws-xray", + "opentelemetry-util-http", + "opentelemetry-util-genai", + "opentelemetry-instrumentation-vertexai[instruments]", + "opentelemetry-instrumentation-openai-v2[instruments]", +] + + +# https://docs.astral.sh/uv/reference/settings/ +[tool.uv] +package = false # https://docs.astral.sh/uv/reference/settings/#package +required-version = ">=0.6.0" + +# https://docs.astral.sh/uv/reference/settings/#sources +[tool.uv.sources] +opentelemetry-api = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-api" } +opentelemetry-sdk = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-sdk" } +opentelemetry-semantic-conventions = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-semantic-conventions" } +opentelemetry-test-utils = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "tests/opentelemetry-test-utils" } +opentelemetry-exporter-prometheus-remote-write = { workspace = true } +opentelemetry-exporter-richconsole = { workspace = true } +opentelemetry-instrumentation = { workspace = true } +opentelemetry-instrumentation-aio-pika = { workspace = true } +opentelemetry-instrumentation-aiohttp-client = { workspace = true } +opentelemetry-instrumentation-aiohttp-server = { workspace = true } +opentelemetry-instrumentation-aiokafka = { workspace = true } +opentelemetry-instrumentation-aiopg = { workspace = true } +opentelemetry-instrumentation-asgi = { workspace = true } +opentelemetry-instrumentation-asyncio = { workspace = true } +opentelemetry-instrumentation-asyncpg = { workspace = true } +opentelemetry-instrumentation-aws-lambda = { workspace = true } +opentelemetry-instrumentation-boto = { workspace = true } +opentelemetry-instrumentation-boto3sqs = { workspace = true } +opentelemetry-instrumentation-botocore = { workspace = true } +opentelemetry-instrumentation-cassandra = { workspace = true } +opentelemetry-instrumentation-celery = { workspace = true } +opentelemetry-instrumentation-click = { workspace = true } +opentelemetry-instrumentation-confluent-kafka = { workspace = true } +opentelemetry-instrumentation-dbapi = { workspace = true } +opentelemetry-instrumentation-django = { workspace = true } +opentelemetry-instrumentation-elasticsearch = { workspace = true } +opentelemetry-instrumentation-falcon = { workspace = true } +opentelemetry-instrumentation-fastapi = { workspace = true } +opentelemetry-instrumentation-flask = { workspace = true } +opentelemetry-instrumentation-grpc = { workspace = true } +opentelemetry-instrumentation-httpx = { workspace = true } +opentelemetry-instrumentation-jinja2 = { workspace = true } +opentelemetry-instrumentation-kafka-python = { workspace = true } +opentelemetry-instrumentation-logging = { workspace = true } +opentelemetry-instrumentation-mysql = { workspace = true } +opentelemetry-instrumentation-mysqlclient = { workspace = true } +opentelemetry-instrumentation-pika = { workspace = true } +opentelemetry-instrumentation-psycopg = { workspace = true } +opentelemetry-instrumentation-psycopg2 = { workspace = true } +opentelemetry-instrumentation-pymemcache = { workspace = true } +opentelemetry-instrumentation-pymongo = { workspace = true } +opentelemetry-instrumentation-pymysql = { workspace = true } +opentelemetry-instrumentation-pyramid = { workspace = true } +opentelemetry-instrumentation-redis = { workspace = true } +opentelemetry-instrumentation-remoulade = { workspace = true } +opentelemetry-instrumentation-requests = { workspace = true } +opentelemetry-instrumentation-sqlalchemy = { workspace = true } +opentelemetry-instrumentation-sqlite3 = { workspace = true } +opentelemetry-instrumentation-system-metrics = { workspace = true } +opentelemetry-instrumentation-taskiq = { workspace = true } +opentelemetry-instrumentation-threading = { workspace = true } +opentelemetry-instrumentation-tornado = { workspace = true } +opentelemetry-instrumentation-tortoiseorm = { workspace = true } +opentelemetry-instrumentation-urllib = { workspace = true } +opentelemetry-instrumentation-urllib3 = { workspace = true } +opentelemetry-instrumentation-wsgi = { workspace = true } +opentelemetry-propagator-ot-trace = { workspace = true } +opentelemetry-propagator-aws-xray = { workspace = true } +opentelemetry-util-http = { workspace = true } +opentelemetry-util-genai = { workspace = true } +opentelemetry-instrumentation-vertexai = { workspace = true } +opentelemetry-instrumentation-openai-v2 = { workspace = true } + +# https://docs.astral.sh/uv/reference/settings/#workspace +[tool.uv.workspace] +members = [ + "instrumentation/*", + "instrumentation-genai/*", + "exporter/*", + "opentelemetry-instrumentation", + "propagator/*", + "util/*", +] + +[tool.ruff] +# https://docs.astral.sh/ruff/configuration/ +target-version = "py39" +line-length = 79 +extend-exclude = ["_template", "*_pb2*.py*"] +output-format = "concise" + +[tool.ruff.lint] +# https://docs.astral.sh/ruff/linter/#rule-selection +# pylint: https://github.com/astral-sh/ruff/issues/970 +select = [ + "I", # isort + "F", # pyflakes + "E", # pycodestyle errors + "W", # pycodestyle warnings + "PLC", # pylint convention + "PLE", # pylint error + "Q", # flake8-quotes + "A", # flake8-builtins +] +ignore = [ + "E501", # line-too-long +] + +[tool.ruff.lint.per-file-ignores] +"docs/**/*.*" = ["A001"] + +[tool.ruff.lint.isort] +detect-same-package = false # to not consider instrumentation packages as first-party +known-first-party = ["opentelemetry"] +known-third-party = [ + "psutil", + "pytest", + "redis", + "redis_opentracing", + "opencensus", +] + + +# https://github.com/microsoft/pyright/blob/main/docs/configuration.md#type-check-rule-overrides +[tool.pyright] +typeCheckingMode = "strict" +reportUnnecessaryTypeIgnoreComment = true +reportMissingTypeStubs = false +pythonVersion = "3.9" +reportPrivateUsage = false # Ignore private attributes added by instrumentation packages. +# Add progressively instrumentation packages here. +include = [ + "instrumentation/opentelemetry-instrumentation-aiokafka", + "instrumentation/opentelemetry-instrumentation-asyncclick", + "instrumentation/opentelemetry-instrumentation-threading", + "instrumentation-genai/opentelemetry-instrumentation-vertexai", + "instrumentation-genai/opentelemetry-instrumentation-langchain", + "instrumentation-genai/opentelemetry-instrumentation-weaviate", + "util/opentelemetry-util-genai", + "exporter/opentelemetry-exporter-credential-provider-gcp", +] +# We should also add type hints to the test suite - It helps on finding bugs. +# We are excluding for now because it's easier, and more important to add to the instrumentation packages. +exclude = [ + "instrumentation/opentelemetry-instrumentation-aiokafka/tests/**/*.py", + "instrumentation/opentelemetry-instrumentation-asyncclick/tests/**/*.py", + "instrumentation/opentelemetry-instrumentation-threading/tests/**", + "instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-vertexai/examples/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-langchain/tests/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-langchain/examples/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-weaviate/tests/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-weaviate/examples/**/*.py", + "util/opentelemetry-util-genai/tests/**/*.py", +] diff --git a/tox.ini b/tox.ini index 6d3aee161e..8a2a344fe0 100644 --- a/tox.ini +++ b/tox.ini @@ -1,1083 +1,1096 @@ -[tox] -requires = - tox-uv>=1 -isolated_build = True -skipsdist = True -skip_missing_interpreters = True -envlist = - ; Environments are organized by individual package, allowing - ; for specifying supported Python versions per package. - - ; instrumentation-openai - py3{9,10,11,12,13}-test-instrumentation-openai-v2-{oldest,latest} - pypy3-test-instrumentation-openai-v2-{oldest,latest} - lint-instrumentation-openai-v2 - - ; instrumentation-vertexai - py3{9,10,11,12,13}-test-instrumentation-vertexai-{oldest,latest} - # Disabling pypy3 as shapely does not have wheels and fails to compile - # pypy3-test-instrumentation-vertexai-{oldest,latest} - lint-instrumentation-vertexai - - ; instrumentation-google-genai - py3{9,10,11,12,13}-test-instrumentation-google-genai-{oldest,latest} - # Disabling pypy3 as shapely does not have wheels and fails to compile - # pypy3-test-instrumentation-google-genai-{0,1} - lint-instrumentation-google-genai - - ; opentelemetry-resource-detector-containerid - py3{9,10,11,12,13}-test-resource-detector-containerid - pypy3-test-resource-detector-containerid - lint-resource-detector-containerid - - ; opentelemetry-resource-detector-azure - py3{9,10,11,12,13}-test-resource-detector-azure-{0,1} - pypy3-test-resource-detector-azure-{0,1} - lint-resource-detector-azure - - ; opentelemetry-sdk-extension-aws - py3{9,10,11,12,13}-test-sdk-extension-aws-{0,1} - pypy3-test-sdk-extension-aws-{0,1} - lint-sdk-extension-aws - benchmark-sdk-extension-aws - - ; opentelemetry-distro - py3{9,10,11,12,13}-test-distro - pypy3-test-distro - lint-distro - - ; opentelemetry-instrumentation - py3{9,10,11,12,13}-test-opentelemetry-instrumentation - pypy3-test-opentelemetry-instrumentation - lint-opentelemetry-instrumentation - - ; opentelemetry-instrumentation-aiohttp-client - py3{9,10,11,12,13}-test-instrumentation-aiohttp-client - pypy3-test-instrumentation-aiohttp-client - lint-instrumentation-aiohttp-client - - ; opentelemetry-instrumentation-aiohttp-server - py3{9,10,11,12,13}-test-instrumentation-aiohttp-server - pypy3-test-instrumentation-aiohttp-server - lint-instrumentation-aiohttp-server - - ; opentelemetry-instrumentation-aiopg - py3{9,10,11,12,13}-test-instrumentation-aiopg - ; instrumentation-aiopg intentionally excluded from pypy3 - lint-instrumentation-aiopg - - ; opentelemetry-instrumentation-aws-lambda - py3{9,10,11,12,13}-test-instrumentation-aws-lambda - pypy3-test-instrumentation-aws-lambda - lint-instrumentation-aws-lambda - - ; opentelemetry-instrumentation-botocore - py3{9,10,11,12,13}-test-instrumentation-botocore-{0,1} - ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 - ; pypy3-test-instrumentation-botocore - lint-instrumentation-botocore - - ; opentelemetry-instrumentation-boto3sqs - py3{9,10,11,12,13}-test-instrumentation-boto3sqs - pypy3-test-instrumentation-boto3sqs - lint-instrumentation-boto3sqs - - ; opentelemetry-instrumentation-django - ; Only officially supported Python versions are tested for each Django - ; major release. Updated list can be found at: - ; https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: django~=2.0 - ; 1: django~=3.0 - ; 2: django>=4.0b1,<5.0 backports.zoneinfo==0.2.1 - ; 3: django>=4.0b1,<5.0 - py3{9}-test-instrumentation-django-{0,1,2} - py3{10,11,12}-test-instrumentation-django-{1,3} - py313-test-instrumentation-django-3 - pypy3-test-instrumentation-django-{0,1} - lint-instrumentation-django - - ; opentelemetry-instrumentation-dbapi - py3{9,10,11,12,13}-test-instrumentation-dbapi - pypy3-test-instrumentation-dbapi - lint-instrumentation-dbapi - - ; opentelemetry-instrumentation-boto - py3{9,10,11}-test-instrumentation-boto - ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 - ; pypy3-test-instrumentation-boto - lint-instrumentation-boto - - ; opentelemetry-instrumentation-asyncclick - py3{9,10,11,12,13}-test-instrumentation-asyncclick - pypy3-test-instrumentation-asyncclick - lint-instrumentation-asyncclick - - ; opentelemetry-instrumentation-click - py3{9,10,11,12,13}-test-instrumentation-click - pypy3-test-instrumentation-click - lint-instrumentation-click - - ; opentelemetry-instrumentation-elasticsearch - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: elasticsearch-dsl==6.4.0 elasticsearch==6.8.2 - ; 1: elasticsearch-dsl==7.4.1 elasticsearch==7.17.9 - ; 2: elasticsearch-dsl==8.13.1 elasticsearch==8.13.1 - py3{9,10,11,12,13}-test-instrumentation-elasticsearch-{0,1,2} - pypy3-test-instrumentation-elasticsearch-{0,1,2} - lint-instrumentation-elasticsearch - - ; opentelemetry-instrumentation-falcon - ; py310 does not work with falcon 1 - ; py3{9} will be dropped for falcon 4 - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: falcon ==1.4.1 - ; 1: falcon >=2.0.0,<3.0.0 - ; 2: falcon >=3.0.0,<3.1.2 - ; 3: falcon >=3.1.2,<4.0.0 - ; 4: falcon >=4.0.0,<5.0.0 - py3{9}-test-instrumentation-falcon-{0,1,2,3} - py3{10,11,12}-test-instrumentation-falcon-{1,2,3,4} - py313-test-instrumentation-falcon-4 - pypy3-test-instrumentation-falcon-{0,1,2,3,4} - lint-instrumentation-falcon - - ; opentelemetry-instrumentation-fastapi - py3{9,10,11,12,13}-test-instrumentation-fastapi - pypy3-test-instrumentation-fastapi - lint-instrumentation-fastapi - - ; opentelemetry-instrumentation-flask - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: Flask ==2.1.3 Werkzeug <3.0.0 - ; 1: Flask ==2.2.0 Werkzeug <3.0.0 - ; 2: Flask >=3.0.0 Werkzeug >=3.0.0 - py3{9,10,11,12,13}-test-instrumentation-flask-{0,1,2} - pypy3-test-instrumentation-flask-{0,1} - lint-instrumentation-flask - - ; opentelemetry-instrumentation-urllib - py3{9,10,11,12,13}-test-instrumentation-urllib - pypy3-test-instrumentation-urllib - lint-instrumentation-urllib - - ; opentelemetry-instrumentation-urllib3 - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: urllib3 >=1.0.0,<2.0.0 - ; 1: urllib3 >=2.0.0,<3.0.0 - py3{9,10,11,12,13}-test-instrumentation-urllib3-{0,1} - pypy3-test-instrumentation-urllib3-{0,1} - lint-instrumentation-urllib3 - - ; opentelemetry-instrumentation-requests - py3{9,10,11,12,13}-test-instrumentation-requests - ;pypy3-test-instrumentation-requests - lint-instrumentation-requests - - ; opentelemetry-instrumentation-starlette - py3{9,10,11,12,13}-test-instrumentation-starlette-{oldest,latest} - pypy3-test-instrumentation-starlette-{oldest,latest} - lint-instrumentation-starlette - - ; opentelemetry-instrumentation-jinja2 - py3{9,10,11,12,13}-test-instrumentation-jinja2 - pypy3-test-instrumentation-jinja2 - lint-instrumentation-jinja2 - - ; opentelemetry-instrumentation-logging - py3{9,10,11,12,13}-test-instrumentation-logging - pypy3-test-instrumentation-logging - lint-instrumentation-logging - - ; opentelemetry-exporter-richconsole - py3{9,10,11,12,13}-test-exporter-richconsole - pypy3-test-exporter-richconsole - lint-exporter-richconsole - - ; opentelemetry-exporter-prometheus-remote-write - py3{9,10,11,12,13}-test-exporter-prometheus-remote-write - # excluded from pypy3 due to missing wheel - pypy310-test-exporter-prometheus-remote-write - lint-exporter-prometheus-remote-write - - ; opentelemetry-instrumentation-mysql - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: mysql-connector-python >=8.0.0,<9.0.0 - ; 1: mysql-connector-python ~=9.0.0 - py3{9,10,11,12,13}-test-instrumentation-mysql-{0,1} - pypy3-test-instrumentation-mysql-{0,1} - lint-instrumentation-mysql - - ; opentelemetry-instrumentation-mysqlclient - py3{9,10,11,12,13}-test-instrumentation-mysqlclient - pypy3-test-instrumentation-mysqlclient - ; prerequisite: follow the instructions here - ; https://github.com/PyMySQL/mysqlclient#install - ; for your OS to install the required dependencies - lint-instrumentation-mysqlclient - - ; opentelemetry-instrumentation-psycopg2 - py3{9,10,11,12,13}-test-instrumentation-psycopg2 - py3{9,10,11,12,13}-test-instrumentation-psycopg2-binary - ; ext-psycopg2 intentionally excluded from pypy3 - lint-instrumentation-psycopg2 - - ; opentelemetry-instrumentation-psycopg - py3{9,10,11,12,13}-test-instrumentation-psycopg - pypy3-test-instrumentation-psycopg - lint-instrumentation-psycopg - - ; opentelemetry-instrumentation-pymemcache - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: pymemcache ==1.3.5 - ; 1: pymemcache >2.0.0,<3.0.0 - ; 2: pymemcache >3.0.0,<3.4.2 - ; 3: pymemcache ==3.4.2 - ; 4: pymemcache ==4.0.0 - py3{9,10,11,12,13}-test-instrumentation-pymemcache-{0,1,2,3,4} - pypy3-test-instrumentation-pymemcache-{0,1,2,3,4} - lint-instrumentation-pymemcache - - ; opentelemetry-instrumentation-pymongo - py3{9,10,11,12,13}-test-instrumentation-pymongo - pypy3-test-instrumentation-pymongo - lint-instrumentation-pymongo - - ; opentelemetry-instrumentation-pymysql - py3{9,10,11,12,13}-test-instrumentation-pymysql - pypy3-test-instrumentation-pymysql - lint-instrumentation-pymysql - - ; opentelemetry-instrumentation-pymssql - py3{9,10,11,12,13}-test-instrumentation-pymssql - ; pymssql has no support for pypy: see https://github.com/pymssql/pymssql/pull/517 - ; pypy3-test-instrumentation-pymssql - lint-instrumentation-pymssql - - ; opentelemetry-instrumentation-pyramid - ; TODO: add py313 when supported by pyramid - py3{9,10,11,12}-test-instrumentation-pyramid - pypy3-test-instrumentation-pyramid - lint-instrumentation-pyramid - - ; opentelemetry-instrumentation-asgi - py3{9,10,11,12,13}-test-instrumentation-asgi - pypy3-test-instrumentation-asgi - lint-instrumentation-asgi - - ; opentelemetry-instrumentation-asyncpg - py3{9,10,11,12,13}-test-instrumentation-asyncpg - ; ext-asyncpg intentionally excluded from pypy3 - lint-instrumentation-asyncpg - - ; opentelemetry-instrumentation-sqlite3 - py3{9,10,11,12,13}-test-instrumentation-sqlite3 - pypy3-test-instrumentation-sqlite3 - lint-instrumentation-sqlite3 - - ; opentelemetry-instrumentation-wsgi - py3{9,10,11,12,13}-test-instrumentation-wsgi - pypy3-test-instrumentation-wsgi - lint-instrumentation-wsgi - - ; opentelemetry-instrumentation-grpc - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: grpcio==1.62.0 - ; 1: grpcio==1.66.2 - py3{9,10,11,12}-test-instrumentation-grpc-{0,1} - py313-test-instrumentation-grpc-1 - lint-instrumentation-grpc - - ; opentelemetry-instrumentation-sqlalchemy - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: sqlalchemy>=1.1,<1.2 - ; 1: sqlalchemy~=1.4 aiosqlite - ; 2: sqlalchemy~=2.0.0 - py3{9,10,11,12,13}-test-instrumentation-sqlalchemy-{1,2} - pypy3-test-instrumentation-sqlalchemy-{0,1,2} - lint-instrumentation-sqlalchemy - - ; opentelemetry-instrumentation-redis - py3{9,10,11,12,13}-test-instrumentation-redis - pypy3-test-instrumentation-redis - lint-instrumentation-redis - - ; opentelemetry-instrumentation-remoulade - py3{9,10,11,12,13}-test-instrumentation-remoulade - ; instrumentation-remoulade intentionally excluded from pypy3 - lint-instrumentation-remoulade - - ; opentelemetry-instrumentation-celery - py3{9,10,11,12,13}-test-instrumentation-celery - pypy3-test-instrumentation-celery - lint-instrumentation-celery - - ; opentelemetry-instrumentation-system-metrics - py3{9,10,11,12,13}-test-instrumentation-system-metrics - pypy3-test-instrumentation-system-metrics - lint-instrumentation-system-metrics - - ; opentelemetry-instrumentation-threading - py3{9,10,11,12,13}-test-instrumentation-threading - pypy3-test-instrumentation-threading - lint-instrumentation-threading - - ; opentelemetry-instrumentation-tornado - py3{9,10,11,12,13}-test-instrumentation-tornado - pypy3-test-instrumentation-tornado - lint-instrumentation-tornado - - ; opentelemetry-instrumentation-tortoiseorm - py3{9,10,11,12,13}-test-instrumentation-tortoiseorm - pypy3-test-instrumentation-tortoiseorm - lint-instrumentation-tortoiseorm - - ; opentelemetry-instrumentation-httpx - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: httpx>=0.18.0,<0.19.0 respx~=0.17.0 - ; 1: httpx>=0.19.0 respx~=0.20.1 - py3{9,10,11,12}-test-instrumentation-httpx-{0,1} - py313-test-instrumentation-httpx-1 - pypy3-test-instrumentation-httpx-{0,1} - lint-instrumentation-httpx - - ; opentelemetry-util-http - py3{9,10,11,12,13}-test-util-http - pypy3-test-util-http - lint-util-http - - ; opentelemetry-exporter-credential-provider-gcp - py3{9,10,11,12,13}-test-exporter-credential-provider-gcp - lint-exporter-credential-provider-gcp - - ; opentelemetry-util-genai - py3{9,10,11,12,13}-test-util-genai - pypy3-test-util-genai - lint-util-genai - - ; opentelemetry-propagator-aws-xray - py3{9,10,11,12,13}-test-propagator-aws-xray-{0,1} - pypy3-test-propagator-aws-xray-{0,1} - lint-propagator-aws-xray - benchmark-propagator-aws-xray - - ; opentelemetry-propagator-ot-trace - py3{9,10,11,12,13}-test-propagator-ot-trace - pypy3-test-propagator-ot-trace - lint-propagator-ot-trace - - ; opentelemetry-instrumentation-sio-pika - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: pika>=0.12.0,<1.0.0 - ; 1: pika>=1.0.0 - py3{9,10,11,12,13}-test-instrumentation-sio-pika-{0,1} - pypy3-test-instrumentation-sio-pika-{0,1} - lint-instrumentation-sio-pika - - ; opentelemetry-instrumentation-aio-pika - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: aio_pika==7.2.0 - ; 1: aio_pika==8.3.0 - ; 2: aio_pika==9.0.5 - ; 3: aio_pika==9.4.1 - py3{9,10,11,12,13}-test-instrumentation-aio-pika-{0,1,2,3} - pypy3-test-instrumentation-aio-pika-{0,1,2,3} - lint-instrumentation-aio-pika - - ; opentelemetry-instrumentation-aiokafka - py3{9,10,11,12,13}-test-instrumentation-aiokafka - pypy3-test-instrumentation-aiokafka - lint-instrumentation-aiokafka - - ; opentelemetry-instrumentation-kafka-python - py3{9,10,11}-test-instrumentation-kafka-python - py3{9,10,11,12,13}-test-instrumentation-kafka-pythonng - pypy3-test-instrumentation-kafka-python - pypy3-test-instrumentation-kafka-pythonng - lint-instrumentation-kafka-python - - ; opentelemetry-instrumentation-confluent-kafka - py3{9,10,11,12,13}-test-instrumentation-confluent-kafka - lint-instrumentation-confluent-kafka - - ; opentelemetry-instrumentation-asyncio - py3{9,10,11,12,13}-test-instrumentation-asyncio - lint-instrumentation-asyncio - - ; opentelemetry-instrumentation-cassandra - py3{9,10,11,12,13}-test-instrumentation-cassandra - pypy3-test-instrumentation-cassandra - lint-instrumentation-cassandra - - ; opentelemetry-processor-baggage - py3{9,10,11,12,13}-test-processor-baggage - pypy3-test-processor-baggage - ; requires snappy headers to be available on the system - lint-processor-baggage - - spellcheck - docker-tests - docs - generate - generate-workflows - shellcheck - precommit - typecheck - -[testenv] -test_deps = - opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils -deps = - lint: -r dev-requirements.txt - coverage: pytest - coverage: pytest-cov - - opentelemetry-instrumentation: {[testenv]test_deps} - opentelemetry-instrumentation: -r {toxinidir}/opentelemetry-instrumentation/test-requirements.txt - - distro: {[testenv]test_deps} - distro: -r {toxinidir}/opentelemetry-distro/test-requirements.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - openai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt - # and the latest version of OTel API and SDK - openai-latest: {[testenv]test_deps} - openai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.latest.txt - lint-instrumentation-openai-v2: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt - - vertexai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt - vertexai-latest: {[testenv]test_deps} - vertexai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.latest.txt - lint-instrumentation-vertexai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt - - google-genai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt - google-genai-latest: {[testenv]test_deps} - google-genai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.latest.txt - lint-instrumentation-google-genai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt - - asgi: {[testenv]test_deps} - asgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt - - celery: {[testenv]test_deps} - py3{9}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt - py3{10,11,12,13}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - pypy3-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - lint-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - - asyncclick: {[testenv]test_deps} - asyncclick: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/test-requirements.txt - - click: {[testenv]test_deps} - click: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-click/test-requirements.txt - - sio-pika: {[testenv]test_deps} - sio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt - sio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt - lint-instrumentation-sio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt - - aio-pika: {[testenv]test_deps} - aio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt - aio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt - aio-pika-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt - aio-pika-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt - lint-instrumentation-aio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt - - aiokafka: {[testenv]test_deps} - aiokafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/test-requirements.txt - - kafka-python: {[testenv]test_deps} - kafka-python: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt - - kafka-pythonng: {[testenv]test_deps} - kafka-pythonng: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt - - confluent-kafka: {[testenv]test_deps} - confluent-kafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt - - grpc: {[testenv]test_deps} - grpc-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt - grpc-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt - lint-instrumentation-grpc: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt - - wsgi: {[testenv]test_deps} - wsgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt - - asyncpg: {[testenv]test_deps} - asyncpg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt - - aws-lambda: {[testenv]test_deps} - aws-lambda: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt - - boto: {[testenv]test_deps} - boto: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt - - boto3sqs: {[testenv]test_deps} - boto3sqs: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt - - falcon: {[testenv]test_deps} - falcon-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt - falcon-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt - falcon-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt - falcon-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-3.txt - falcon-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt - lint-instrumentation-falcon: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt - - flask: {[testenv]test_deps} - flask-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt - flask-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt - flask-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt - lint-instrumentation-flask: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt - - urllib: {[testenv]test_deps} - urllib: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt - - urllib3: {[testenv]test_deps} - urllib3-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt - urllib3-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt - lint-instrumentation-urllib3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt - - botocore: {[testenv]test_deps} - botocore-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-0.txt - botocore-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt - lint-instrumentation-botocore: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt - - cassandra: {[testenv]test_deps} - cassandra: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt - - dbapi: {[testenv]test_deps} - dbapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt - - django: {[testenv]test_deps} - py3{9}-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt - py3{9}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - py3{9}-test-instrumentation-django-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt - py3{10,11,12}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - py3{10,11,12,13}-test-instrumentation-django-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt - pypy3-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt - pypy3-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - lint-instrumentation-django: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt - - fastapi: {[testenv]test_deps} - fastapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt - - mysql: {[testenv]test_deps} - mysql-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt - mysql-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt - lint-instrumentation-mysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt - - mysqlclient: {[testenv]test_deps} - mysqlclient: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt - - pymemcache: {[testenv]test_deps} - pymemcache-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt - pymemcache-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt - pymemcache-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt - pymemcache-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt - pymemcache-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt - lint-instrumentation-pymemcache: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt - - pymongo: {[testenv]test_deps} - pymongo: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt - - psycopg: {[testenv]test_deps} - py3{9}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt - py3{10,11,12,13}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - pypy3-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - lint-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - - psycopg2: {[testenv]test_deps} - psycopg2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt - - psycopg2-binary: {[testenv]test_deps} - psycopg2-binary: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements-binary.txt - - pymysql: {[testenv]test_deps} - pymysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt - - pymssql: {[testenv]test_deps} - pymssql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/test-requirements.txt - - pyramid: {[testenv]test_deps} - pyramid: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt - - sqlite3: {[testenv]test_deps} - sqlite3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt - - redis: {[testenv]test_deps} - redis: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt - - remoulade: {[testenv]test_deps} - remoulade: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt - - requests: {[testenv]test_deps} - requests: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt - - starlette: {[testenv]test_deps} - starlette-{oldest,lint}: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.oldest.txt - starlette-latest: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.latest.txt - - system-metrics: {[testenv]test_deps} - system-metrics: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt - - threading: {[testenv]test_deps} - threading: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt - - tornado: {[testenv]test_deps} - tornado: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt - - tortoiseorm: {[testenv]test_deps} - tortoiseorm: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt - - jinja2: {[testenv]test_deps} - jinja2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt - - logging: {[testenv]test_deps} - logging: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt - - aiohttp-client: {[testenv]test_deps} - aiohttp-client: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt - - aiohttp-server: {[testenv]test_deps} - aiohttp-server: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt - - aiopg: {[testenv]test_deps} - aiopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt - - richconsole: {[testenv]test_deps} - richconsole: -r {toxinidir}/exporter/opentelemetry-exporter-richconsole/test-requirements.txt - - prometheus: {[testenv]test_deps} - prometheus: -r {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt - - sqlalchemy: {[testenv]test_deps} - sqlalchemy-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt - sqlalchemy-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt - sqlalchemy-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt - lint-instrumentation-sqlalchemy: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt - - elasticsearch: {[testenv]test_deps} - elasticsearch-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt - elasticsearch-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt - elasticsearch-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt - lint-instrumentation-elasticsearch: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt - - asyncio: {[testenv]test_deps} - asyncio: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt - - httpx: {[testenv]test_deps} - httpx-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt - httpx-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt - lint-instrumentation-httpx: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - sdk-extension-aws-0: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt - # and the latest version of OTel API and SDK - sdk-extension-aws-1: {[testenv]test_deps} - sdk-extension-aws-1: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-1.txt - lint-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt - benchmark-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmark-requirements.txt - - resource-detector-containerid: {[testenv]test_deps} - resource-detector-containerid: -r {toxinidir}/resource/opentelemetry-resource-detector-containerid/test-requirements.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - resource-detector-azure-0: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt - # and the latest version of OTel API and SDK - resource-detector-azure-1: {[testenv]test_deps} - resource-detector-azure-1: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-1.txt - lint-resource-detector-azure: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt - - propagator-ot-trace: {[testenv]test_deps} - propagator-ot-trace: -r {toxinidir}/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - propagator-aws-xray-0: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt - # and the latest version of OTel API and SDK - propagator-aws-xray-1: {[testenv]test_deps} - propagator-aws-xray-1: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-1.txt - lint-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt - benchmark-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmark-requirements.txt - - processor-baggage: {[testenv]test_deps} - processor-baggage: -r {toxinidir}/processor/opentelemetry-processor-baggage/test-requirements.txt - - util-http: {[testenv]test_deps} - util-http: -r {toxinidir}/util/opentelemetry-util-http/test-requirements.txt - util-http: {toxinidir}/util/opentelemetry-util-http - - exporter-credential-provider-gcp: -r {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/test-requirements.txt - exporter-credential-provider-gcp: {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp - - util-genai: {[testenv]test_deps} - util-genai: -r {toxinidir}/util/opentelemetry-util-genai/test-requirements.txt - util-genai: {toxinidir}/util/opentelemetry-util-genai - - ; FIXME: add coverage testing -allowlist_externals = - sh - pytest - -setenv = - ; override CORE_REPO_SHA via env variable when testing other branches/commits than main - ; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e - CORE_REPO_SHA={env:CORE_REPO_SHA:main} - CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA} - UV_CONFIG_FILE={toxinidir}/tox-uv.toml - -commands_pre = -; In order to get a health coverage report, -; we have to install packages in editable mode. - coverage: python {toxinidir}/scripts/eachdist.py install --editable - -commands = - test-distro: pytest {toxinidir}/opentelemetry-distro/tests {posargs} - lint-distro: pylint {toxinidir}/opentelemetry-distro - - test-opentelemetry-instrumentation: pytest {toxinidir}/opentelemetry-instrumentation/tests {posargs} - lint-opentelemetry-instrumentation: pylint {toxinidir}/opentelemetry-instrumentation - - test-instrumentation-aiohttp-client: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests {posargs} - lint-instrumentation-aiohttp-client: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-client" - - test-instrumentation-aiohttp-server: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/tests {posargs} - lint-instrumentation-aiohttp-server: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-server" - - test-instrumentation-aiopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/tests {posargs} - lint-instrumentation-aiopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiopg" - - test-instrumentation-asgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/tests {posargs} - lint-instrumentation-asgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asgi" - - test-instrumentation-asyncclick: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/tests {posargs} - lint-instrumentation-asyncclick: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncclick" - - test-instrumentation-asyncpg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/tests {posargs} - lint-instrumentation-asyncpg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncpg" - - test-instrumentation-aws-lambda: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/tests {posargs} - lint-instrumentation-aws-lambda: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aws-lambda" - - test-instrumentation-boto: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/tests {posargs} - lint-instrumentation-boto: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto" - - test-instrumentation-botocore: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/tests {posargs} - lint-instrumentation-botocore: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-botocore" - - test-instrumentation-boto3sqs: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/tests {posargs} - lint-instrumentation-boto3sqs: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto3sqs" - - test-instrumentation-cassandra: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/tests {posargs} - lint-instrumentation-cassandra: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-cassandra" - - test-instrumentation-celery: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/tests {posargs} - lint-instrumentation-celery: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-celery" - - test-instrumentation-click: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-click/tests {posargs} - lint-instrumentation-click: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-click" - - test-instrumentation-dbapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/tests {posargs} - lint-instrumentation-dbapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-dbapi" - - test-instrumentation-django: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-django/tests {posargs} - lint-instrumentation-django: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-django" - - test-instrumentation-elasticsearch: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/tests {posargs} - lint-instrumentation-elasticsearch: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-elasticsearch" - - test-instrumentation-falcon: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/tests {posargs} - lint-instrumentation-falcon: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-falcon" - - test-instrumentation-fastapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/tests {posargs} - lint-instrumentation-fastapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-fastapi" - - test-instrumentation-flask: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/tests {posargs} - lint-instrumentation-flask: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-flask" - - test-instrumentation-urllib: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/tests {posargs} - lint-instrumentation-urllib: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib" - - test-instrumentation-urllib3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/tests {posargs} - lint-instrumentation-urllib3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib3" - - test-instrumentation-grpc: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/tests {posargs} - lint-instrumentation-grpc: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-grpc" - - test-instrumentation-jinja2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/tests {posargs} - lint-instrumentation-jinja2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-jinja2" - - test-instrumentation-aiokafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/tests {posargs} - lint-instrumentation-aiokafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiokafka" - - test-instrumentation-kafka-python: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} - lint-instrumentation-kafka-python: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-kafka-python" - - ; Test only for kafka-pythonng instrumentation as the only difference between kafka-python and kafka-pythonng is the version of kafka-python - test-instrumentation-kafka-pythonng: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} - - test-instrumentation-confluent-kafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/tests {posargs} - lint-instrumentation-confluent-kafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-confluent-kafka" - - test-instrumentation-logging: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/tests {posargs} - lint-instrumentation-logging: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-logging" - - test-instrumentation-mysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/tests {posargs} - lint-instrumentation-mysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysql" - - test-instrumentation-mysqlclient: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/tests {posargs} - lint-instrumentation-mysqlclient: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysqlclient" - - test-instrumentation-openai-v2: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests {posargs} - lint-instrumentation-openai-v2: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2" - - test-instrumentation-vertexai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests --vcr-record=none {posargs} - lint-instrumentation-vertexai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-vertexai" - - test-instrumentation-google-genai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests --vcr-record=none {posargs} - lint-instrumentation-google-genai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-google-genai" - - test-instrumentation-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs} - lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika" - - test-instrumentation-aio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/tests {posargs} - lint-instrumentation-aio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aio-pika" - - test-instrumentation-psycopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/tests {posargs} - lint-instrumentation-psycopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg" - - test-instrumentation-psycopg2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} - lint-instrumentation-psycopg2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg2" - - ; Test only for psycopg2-binary instrumentation as the only difference between psycopg2 and psycopg2-binary is the install method - test-instrumentation-psycopg2-binary: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} - - test-instrumentation-pymemcache: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/tests {posargs} - lint-instrumentation-pymemcache: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymemcache" - - test-instrumentation-pymongo: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/tests {posargs} - lint-instrumentation-pymongo: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymongo" - - test-instrumentation-pymysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/tests {posargs} - lint-instrumentation-pymysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymysql" - - test-instrumentation-pymssql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/tests {posargs} - lint-instrumentation-pymssql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymssql" - - test-instrumentation-pyramid: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/tests {posargs} - lint-instrumentation-pyramid: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pyramid" - - test-instrumentation-redis: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/tests {posargs} - lint-instrumentation-redis: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-redis" - - test-instrumentation-remoulade: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/tests {posargs} - lint-instrumentation-remoulade: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-remoulade" - - test-instrumentation-requests: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/tests {posargs} - lint-instrumentation-requests: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-requests" - - test-instrumentation-sqlalchemy: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/tests {posargs} - lint-instrumentation-sqlalchemy: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlalchemy" - - test-instrumentation-sqlite3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/tests {posargs} - lint-instrumentation-sqlite3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlite3" - - test-instrumentation-starlette: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/tests {posargs} - lint-instrumentation-starlette: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-starlette" - - test-instrumentation-system-metrics: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/tests {posargs} - lint-instrumentation-system-metrics: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-system-metrics" - - test-instrumentation-threading: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/tests {posargs} - lint-instrumentation-threading: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-threading" - - test-instrumentation-tornado: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/tests {posargs} - lint-instrumentation-tornado: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tornado" - - test-instrumentation-tortoiseorm: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/tests {posargs} - lint-instrumentation-tortoiseorm: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tortoiseorm" - - test-instrumentation-wsgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/tests {posargs} - lint-instrumentation-wsgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-wsgi" - - test-instrumentation-httpx: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/tests {posargs} - lint-instrumentation-httpx: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-httpx" - - test-instrumentation-asyncio: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/tests {posargs} - lint-instrumentation-asyncio: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncio" - - test-util-http: pytest {toxinidir}/util/opentelemetry-util-http/tests {posargs} - lint-util-http: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-http" - - test-exporter-credential-provider-gcp: pytest {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/tests {posargs} - lint-exporter-credential-provider-gcp: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-credential-provider-gcp" - - test-util-genai: pytest {toxinidir}/util/opentelemetry-util-genai/tests {posargs} - lint-util-genai: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-genai" - - test-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/tests {posargs} - lint-sdk-extension-aws: sh -c "cd sdk-extension && pylint --rcfile ../.pylintrc opentelemetry-sdk-extension-aws" - benchmark-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmarks {posargs} --benchmark-json=sdk-extension-aws-benchmark.json - - test-resource-detector-containerid: pytest {toxinidir}/resource/opentelemetry-resource-detector-containerid/tests {posargs} - lint-resource-detector-containerid: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-containerid" - - test-resource-detector-azure: pytest {toxinidir}/resource/opentelemetry-resource-detector-azure/tests {posargs} - lint-resource-detector-azure: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-azure" - - test-processor-baggage: pytest {toxinidir}/processor/opentelemetry-processor-baggage/tests {posargs} - lint-processor-baggage: sh -c "cd processor && pylint --rcfile ../.pylintrc opentelemetry-processor-baggage" - - test-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/tests {posargs} - lint-propagator-aws-xray: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-aws-xray" - benchmark-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmarks {posargs} --benchmark-json=propagator-aws-xray-benchmark.json - - test-propagator-ot-trace: pytest {toxinidir}/propagator/opentelemetry-propagator-ot-trace/tests {posargs} - lint-propagator-ot-trace: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-ot-trace" - - test-exporter-richconsole: pytest {toxinidir}/exporter/opentelemetry-exporter-richconsole/tests {posargs} - lint-exporter-richconsole: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-richconsole" - - test-exporter-prometheus-remote-write: pytest {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/tests {posargs} - lint-exporter-prometheus-remote-write: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-prometheus-remote-write" - - coverage: {toxinidir}/scripts/coverage.sh - -[testenv:docs] -deps = - -c {toxinidir}/dev-requirements.txt - -r {toxinidir}/docs-requirements.txt - pytest - {[testenv]test_deps} - {toxinidir}/opentelemetry-instrumentation - {toxinidir}/util/opentelemetry-util-http - {toxinidir}/util/opentelemetry-util-genai - {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp - -changedir = docs - -commands = - sphinx-build -E -a -W -b html -T . _build/html - -[testenv:spellcheck] -basepython: python3 -recreate = True -deps = - codespell==2.2.6 - -commands = - codespell - -[testenv:docker-tests] -basepython: python3 -deps = - {[testenv]test_deps} - -r {toxinidir}/tests/opentelemetry-docker-tests/tests/test-requirements.txt - -e {toxinidir}/opentelemetry-instrumentation - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade - opentelemetry-exporter-opencensus@{env:CORE_REPO}\#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus - -changedir = - tests/opentelemetry-docker-tests/tests - -commands_pre = - sh -c "sudo apt update -y && sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev unixodbc" - python -c "import pyodbc; print(pyodbc.drivers())" - docker-compose up -d - python check_availability.py - -commands = - pytest {posargs} - -commands_post = - docker-compose down -v - -[testenv:generate] -deps = - -r {toxinidir}/gen-requirements.txt - -allowlist_externals = - {toxinidir}/scripts/generate_instrumentation_bootstrap.py - {toxinidir}/scripts/generate_instrumentation_readme.py - {toxinidir}/scripts/generate_instrumentation_metapackage.py - pytest - -commands = - {toxinidir}/scripts/generate_instrumentation_bootstrap.py - {toxinidir}/scripts/generate_instrumentation_readme.py - {toxinidir}/scripts/generate_instrumentation_metapackage.py - -[testenv:generate-workflows] -recreate = True -deps = - {toxinidir}/.github/workflows/generate_workflows_lib - -commands = - python {toxinidir}/.github/workflows/generate_workflows.py - -[testenv:shellcheck] - -commands_pre = - sh -c "sudo apt update -y && sudo apt install --assume-yes shellcheck" - -commands = - sh -c "find {toxinidir} -name \*.sh | xargs shellcheck --severity=warning" - -[testenv:{precommit,ruff}] -basepython: python3 -deps = - -c {toxinidir}/dev-requirements.txt - pre-commit -commands = - pre-commit run --color=always --all-files {posargs} - -[testenv:typecheck] -deps = - -c {toxinidir}/dev-requirements.txt - pyright - {[testenv]test_deps} - {toxinidir}/opentelemetry-instrumentation - {toxinidir}/util/opentelemetry-util-http - {toxinidir}/util/opentelemetry-util-genai[upload] - {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai[instruments] - {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai[instruments] - {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka[instruments] - {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick[instruments] - {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp - -commands = - pyright +[tox] +requires = + tox-uv>=1 +isolated_build = True +skipsdist = True +skip_missing_interpreters = True +envlist = + ; Environments are organized by individual package, allowing + ; for specifying supported Python versions per package. + + ; instrumentation-openai + py3{9,10,11,12,13}-test-instrumentation-openai-v2-{oldest,latest} + pypy3-test-instrumentation-openai-v2-{oldest,latest} + lint-instrumentation-openai-v2 + + ; instrumentation-vertexai + py3{9,10,11,12,13}-test-instrumentation-vertexai-{oldest,latest} + # Disabling pypy3 as shapely does not have wheels and fails to compile + # pypy3-test-instrumentation-vertexai-{oldest,latest} + lint-instrumentation-vertexai + + ; instrumentation-google-genai + py3{9,10,11,12,13}-test-instrumentation-google-genai-{oldest,latest} + # Disabling pypy3 as shapely does not have wheels and fails to compile + # pypy3-test-instrumentation-google-genai-{0,1} + lint-instrumentation-google-genai + + ; opentelemetry-resource-detector-containerid + py3{9,10,11,12,13}-test-resource-detector-containerid + pypy3-test-resource-detector-containerid + lint-resource-detector-containerid + + ; opentelemetry-resource-detector-azure + py3{9,10,11,12,13}-test-resource-detector-azure-{0,1} + pypy3-test-resource-detector-azure-{0,1} + lint-resource-detector-azure + + ; opentelemetry-sdk-extension-aws + py3{9,10,11,12,13}-test-sdk-extension-aws-{0,1} + pypy3-test-sdk-extension-aws-{0,1} + lint-sdk-extension-aws + benchmark-sdk-extension-aws + + ; opentelemetry-distro + py3{9,10,11,12,13}-test-distro + pypy3-test-distro + lint-distro + + ; opentelemetry-instrumentation + py3{9,10,11,12,13}-test-opentelemetry-instrumentation + pypy3-test-opentelemetry-instrumentation + lint-opentelemetry-instrumentation + + ; opentelemetry-instrumentation-aiohttp-client + py3{9,10,11,12,13}-test-instrumentation-aiohttp-client + pypy3-test-instrumentation-aiohttp-client + lint-instrumentation-aiohttp-client + + ; opentelemetry-instrumentation-aiohttp-server + py3{9,10,11,12,13}-test-instrumentation-aiohttp-server + pypy3-test-instrumentation-aiohttp-server + lint-instrumentation-aiohttp-server + + ; opentelemetry-instrumentation-aiopg + py3{9,10,11,12,13}-test-instrumentation-aiopg + ; instrumentation-aiopg intentionally excluded from pypy3 + lint-instrumentation-aiopg + + ; opentelemetry-instrumentation-aws-lambda + py3{9,10,11,12,13}-test-instrumentation-aws-lambda + pypy3-test-instrumentation-aws-lambda + lint-instrumentation-aws-lambda + + ; opentelemetry-instrumentation-botocore + py3{9,10,11,12,13}-test-instrumentation-botocore-{0,1} + ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 + ; pypy3-test-instrumentation-botocore + lint-instrumentation-botocore + + ; opentelemetry-instrumentation-boto3sqs + py3{9,10,11,12,13}-test-instrumentation-boto3sqs + pypy3-test-instrumentation-boto3sqs + lint-instrumentation-boto3sqs + + ; opentelemetry-instrumentation-django + ; Only officially supported Python versions are tested for each Django + ; major release. Updated list can be found at: + ; https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: django~=2.0 + ; 1: django~=3.0 + ; 2: django>=4.0b1,<5.0 backports.zoneinfo==0.2.1 + ; 3: django>=4.0b1,<5.0 + py3{9}-test-instrumentation-django-{0,1,2} + py3{10,11,12}-test-instrumentation-django-{1,3} + py313-test-instrumentation-django-3 + pypy3-test-instrumentation-django-{0,1} + lint-instrumentation-django + + ; opentelemetry-instrumentation-dbapi + py3{9,10,11,12,13}-test-instrumentation-dbapi + pypy3-test-instrumentation-dbapi + lint-instrumentation-dbapi + + ; opentelemetry-instrumentation-boto + py3{9,10,11}-test-instrumentation-boto + ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 + ; pypy3-test-instrumentation-boto + lint-instrumentation-boto + + ; opentelemetry-instrumentation-asyncclick + py3{9,10,11,12,13}-test-instrumentation-asyncclick + pypy3-test-instrumentation-asyncclick + lint-instrumentation-asyncclick + + ; opentelemetry-instrumentation-click + py3{9,10,11,12,13}-test-instrumentation-click + pypy3-test-instrumentation-click + lint-instrumentation-click + + ; opentelemetry-instrumentation-elasticsearch + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: elasticsearch-dsl==6.4.0 elasticsearch==6.8.2 + ; 1: elasticsearch-dsl==7.4.1 elasticsearch==7.17.9 + ; 2: elasticsearch-dsl==8.13.1 elasticsearch==8.13.1 + py3{9,10,11,12,13}-test-instrumentation-elasticsearch-{0,1,2} + pypy3-test-instrumentation-elasticsearch-{0,1,2} + lint-instrumentation-elasticsearch + + ; opentelemetry-instrumentation-falcon + ; py310 does not work with falcon 1 + ; py3{9} will be dropped for falcon 4 + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: falcon ==1.4.1 + ; 1: falcon >=2.0.0,<3.0.0 + ; 2: falcon >=3.0.0,<3.1.2 + ; 3: falcon >=3.1.2,<4.0.0 + ; 4: falcon >=4.0.0,<5.0.0 + py3{9}-test-instrumentation-falcon-{0,1,2,3} + py3{10,11,12}-test-instrumentation-falcon-{1,2,3,4} + py313-test-instrumentation-falcon-4 + pypy3-test-instrumentation-falcon-{0,1,2,3,4} + lint-instrumentation-falcon + + ; opentelemetry-instrumentation-fastapi + py3{9,10,11,12,13}-test-instrumentation-fastapi + pypy3-test-instrumentation-fastapi + lint-instrumentation-fastapi + + ; opentelemetry-instrumentation-flask + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: Flask ==2.1.3 Werkzeug <3.0.0 + ; 1: Flask ==2.2.0 Werkzeug <3.0.0 + ; 2: Flask >=3.0.0 Werkzeug >=3.0.0 + py3{9,10,11,12,13}-test-instrumentation-flask-{0,1,2} + pypy3-test-instrumentation-flask-{0,1} + lint-instrumentation-flask + + ; opentelemetry-instrumentation-urllib + py3{9,10,11,12,13}-test-instrumentation-urllib + pypy3-test-instrumentation-urllib + lint-instrumentation-urllib + + ; opentelemetry-instrumentation-urllib3 + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: urllib3 >=1.0.0,<2.0.0 + ; 1: urllib3 >=2.0.0,<3.0.0 + py3{9,10,11,12,13}-test-instrumentation-urllib3-{0,1} + pypy3-test-instrumentation-urllib3-{0,1} + lint-instrumentation-urllib3 + + ; opentelemetry-instrumentation-requests + py3{9,10,11,12,13}-test-instrumentation-requests + ;pypy3-test-instrumentation-requests + lint-instrumentation-requests + + ; opentelemetry-instrumentation-starlette + py3{9,10,11,12,13}-test-instrumentation-starlette-{oldest,latest} + pypy3-test-instrumentation-starlette-{oldest,latest} + lint-instrumentation-starlette + + ; opentelemetry-instrumentation-jinja2 + py3{9,10,11,12,13}-test-instrumentation-jinja2 + pypy3-test-instrumentation-jinja2 + lint-instrumentation-jinja2 + + ; opentelemetry-instrumentation-logging + py3{9,10,11,12,13}-test-instrumentation-logging + pypy3-test-instrumentation-logging + lint-instrumentation-logging + + ; opentelemetry-exporter-richconsole + py3{9,10,11,12,13}-test-exporter-richconsole + pypy3-test-exporter-richconsole + lint-exporter-richconsole + + ; opentelemetry-exporter-prometheus-remote-write + py3{9,10,11,12,13}-test-exporter-prometheus-remote-write + # excluded from pypy3 due to missing wheel + pypy310-test-exporter-prometheus-remote-write + lint-exporter-prometheus-remote-write + + ; opentelemetry-instrumentation-mysql + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: mysql-connector-python >=8.0.0,<9.0.0 + ; 1: mysql-connector-python ~=9.0.0 + py3{9,10,11,12,13}-test-instrumentation-mysql-{0,1} + pypy3-test-instrumentation-mysql-{0,1} + lint-instrumentation-mysql + + ; opentelemetry-instrumentation-mysqlclient + py3{9,10,11,12,13}-test-instrumentation-mysqlclient + pypy3-test-instrumentation-mysqlclient + ; prerequisite: follow the instructions here + ; https://github.com/PyMySQL/mysqlclient#install + ; for your OS to install the required dependencies + lint-instrumentation-mysqlclient + + ; opentelemetry-instrumentation-psycopg2 + py3{9,10,11,12,13}-test-instrumentation-psycopg2 + py3{9,10,11,12,13}-test-instrumentation-psycopg2-binary + ; ext-psycopg2 intentionally excluded from pypy3 + lint-instrumentation-psycopg2 + + ; opentelemetry-instrumentation-psycopg + py3{9,10,11,12,13}-test-instrumentation-psycopg + pypy3-test-instrumentation-psycopg + lint-instrumentation-psycopg + + ; opentelemetry-instrumentation-pymemcache + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: pymemcache ==1.3.5 + ; 1: pymemcache >2.0.0,<3.0.0 + ; 2: pymemcache >3.0.0,<3.4.2 + ; 3: pymemcache ==3.4.2 + ; 4: pymemcache ==4.0.0 + py3{9,10,11,12,13}-test-instrumentation-pymemcache-{0,1,2,3,4} + pypy3-test-instrumentation-pymemcache-{0,1,2,3,4} + lint-instrumentation-pymemcache + + ; opentelemetry-instrumentation-pymongo + py3{9,10,11,12,13}-test-instrumentation-pymongo + pypy3-test-instrumentation-pymongo + lint-instrumentation-pymongo + + ; opentelemetry-instrumentation-pymysql + py3{9,10,11,12,13}-test-instrumentation-pymysql + pypy3-test-instrumentation-pymysql + lint-instrumentation-pymysql + + ; opentelemetry-instrumentation-pymssql + py3{9,10,11,12,13}-test-instrumentation-pymssql + ; pymssql has no support for pypy: see https://github.com/pymssql/pymssql/pull/517 + ; pypy3-test-instrumentation-pymssql + lint-instrumentation-pymssql + + ; opentelemetry-instrumentation-pyramid + ; TODO: add py313 when supported by pyramid + py3{9,10,11,12}-test-instrumentation-pyramid + pypy3-test-instrumentation-pyramid + lint-instrumentation-pyramid + + ; opentelemetry-instrumentation-asgi + py3{9,10,11,12,13}-test-instrumentation-asgi + pypy3-test-instrumentation-asgi + lint-instrumentation-asgi + + ; opentelemetry-instrumentation-asyncpg + py3{9,10,11,12,13}-test-instrumentation-asyncpg + ; ext-asyncpg intentionally excluded from pypy3 + lint-instrumentation-asyncpg + + ; opentelemetry-instrumentation-sqlite3 + py3{9,10,11,12,13}-test-instrumentation-sqlite3 + pypy3-test-instrumentation-sqlite3 + lint-instrumentation-sqlite3 + + ; opentelemetry-instrumentation-wsgi + py3{9,10,11,12,13}-test-instrumentation-wsgi + pypy3-test-instrumentation-wsgi + lint-instrumentation-wsgi + + ; opentelemetry-instrumentation-grpc + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: grpcio==1.62.0 + ; 1: grpcio==1.66.2 + py3{9,10,11,12}-test-instrumentation-grpc-{0,1} + py313-test-instrumentation-grpc-1 + lint-instrumentation-grpc + + ; opentelemetry-instrumentation-sqlalchemy + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: sqlalchemy>=1.1,<1.2 + ; 1: sqlalchemy~=1.4 aiosqlite + ; 2: sqlalchemy~=2.0.0 + py3{9,10,11,12,13}-test-instrumentation-sqlalchemy-{1,2} + pypy3-test-instrumentation-sqlalchemy-{0,1,2} + lint-instrumentation-sqlalchemy + + ; opentelemetry-instrumentation-redis + py3{9,10,11,12,13}-test-instrumentation-redis + pypy3-test-instrumentation-redis + lint-instrumentation-redis + + ; opentelemetry-instrumentation-remoulade + py3{9,10,11,12,13}-test-instrumentation-remoulade + ; instrumentation-remoulade intentionally excluded from pypy3 + lint-instrumentation-remoulade + + ; opentelemetry-instrumentation-celery + py3{9,10,11,12,13}-test-instrumentation-celery + pypy3-test-instrumentation-celery + lint-instrumentation-celery + + ; opentelemetry-instrumentation-system-metrics + py3{9,10,11,12,13}-test-instrumentation-system-metrics + pypy3-test-instrumentation-system-metrics + lint-instrumentation-system-metrics + + ; opentelemetry-instrumentation-taskiq + py3{9,10,11,12,13}-test-instrumentation-taskiq + pypy3-test-instrumentation-taskiq + lint-instrumentation-taskiq + + ; opentelemetry-instrumentation-threading + py3{9,10,11,12,13}-test-instrumentation-threading + pypy3-test-instrumentation-threading + lint-instrumentation-threading + + ; opentelemetry-instrumentation-tornado + py3{9,10,11,12,13}-test-instrumentation-tornado + pypy3-test-instrumentation-tornado + lint-instrumentation-tornado + + ; opentelemetry-instrumentation-tortoiseorm + py3{9,10,11,12,13}-test-instrumentation-tortoiseorm + pypy3-test-instrumentation-tortoiseorm + lint-instrumentation-tortoiseorm + + ; opentelemetry-instrumentation-httpx + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: httpx>=0.18.0,<0.19.0 respx~=0.17.0 + ; 1: httpx>=0.19.0 respx~=0.20.1 + py3{9,10,11,12}-test-instrumentation-httpx-{0,1} + py313-test-instrumentation-httpx-1 + pypy3-test-instrumentation-httpx-{0,1} + lint-instrumentation-httpx + + ; opentelemetry-util-http + py3{9,10,11,12,13}-test-util-http + pypy3-test-util-http + lint-util-http + + ; opentelemetry-exporter-credential-provider-gcp + py3{9,10,11,12,13}-test-exporter-credential-provider-gcp + lint-exporter-credential-provider-gcp + + ; opentelemetry-util-genai + py3{9,10,11,12,13}-test-util-genai + pypy3-test-util-genai + lint-util-genai + + ; opentelemetry-propagator-aws-xray + py3{9,10,11,12,13}-test-propagator-aws-xray-{0,1} + pypy3-test-propagator-aws-xray-{0,1} + lint-propagator-aws-xray + benchmark-propagator-aws-xray + + ; opentelemetry-propagator-ot-trace + py3{9,10,11,12,13}-test-propagator-ot-trace + pypy3-test-propagator-ot-trace + lint-propagator-ot-trace + + ; opentelemetry-instrumentation-sio-pika + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: pika>=0.12.0,<1.0.0 + ; 1: pika>=1.0.0 + py3{9,10,11,12,13}-test-instrumentation-sio-pika-{0,1} + pypy3-test-instrumentation-sio-pika-{0,1} + lint-instrumentation-sio-pika + + ; opentelemetry-instrumentation-aio-pika + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: aio_pika==7.2.0 + ; 1: aio_pika==8.3.0 + ; 2: aio_pika==9.0.5 + ; 3: aio_pika==9.4.1 + py3{9,10,11,12,13}-test-instrumentation-aio-pika-{0,1,2,3} + pypy3-test-instrumentation-aio-pika-{0,1,2,3} + lint-instrumentation-aio-pika + + ; opentelemetry-instrumentation-aiokafka + py3{9,10,11,12,13}-test-instrumentation-aiokafka + pypy3-test-instrumentation-aiokafka + lint-instrumentation-aiokafka + + ; opentelemetry-instrumentation-kafka-python + py3{9,10,11}-test-instrumentation-kafka-python + py3{9,10,11,12,13}-test-instrumentation-kafka-pythonng + pypy3-test-instrumentation-kafka-python + pypy3-test-instrumentation-kafka-pythonng + lint-instrumentation-kafka-python + + ; opentelemetry-instrumentation-confluent-kafka + py3{9,10,11,12,13}-test-instrumentation-confluent-kafka + lint-instrumentation-confluent-kafka + + ; opentelemetry-instrumentation-asyncio + py3{9,10,11,12,13}-test-instrumentation-asyncio + lint-instrumentation-asyncio + + ; opentelemetry-instrumentation-cassandra + py3{9,10,11,12,13}-test-instrumentation-cassandra + pypy3-test-instrumentation-cassandra + lint-instrumentation-cassandra + + ; opentelemetry-processor-baggage + py3{9,10,11,12,13}-test-processor-baggage + pypy3-test-processor-baggage + ; requires snappy headers to be available on the system + lint-processor-baggage + + spellcheck + docker-tests + docs + generate + generate-workflows + shellcheck + precommit + typecheck + +[testenv] +test_deps = + opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api + opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions + opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk + opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils +deps = + lint: -r dev-requirements.txt + coverage: pytest + coverage: pytest-cov + + opentelemetry-instrumentation: {[testenv]test_deps} + opentelemetry-instrumentation: -r {toxinidir}/opentelemetry-instrumentation/test-requirements.txt + + distro: {[testenv]test_deps} + distro: -r {toxinidir}/opentelemetry-distro/test-requirements.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + openai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt + # and the latest version of OTel API and SDK + openai-latest: {[testenv]test_deps} + openai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.latest.txt + lint-instrumentation-openai-v2: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt + + vertexai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt + vertexai-latest: {[testenv]test_deps} + vertexai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.latest.txt + lint-instrumentation-vertexai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt + + google-genai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt + google-genai-latest: {[testenv]test_deps} + google-genai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.latest.txt + lint-instrumentation-google-genai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt + + asgi: {[testenv]test_deps} + asgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt + + celery: {[testenv]test_deps} + py3{9}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt + py3{10,11,12,13}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + pypy3-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + lint-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + + taskiq: {[testenv]test_deps} + py3{9,10,11,12,13}-test-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt + pypy3-test-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt + lint-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt + + asyncclick: {[testenv]test_deps} + asyncclick: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/test-requirements.txt + + click: {[testenv]test_deps} + click: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-click/test-requirements.txt + + sio-pika: {[testenv]test_deps} + sio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt + sio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt + lint-instrumentation-sio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt + + aio-pika: {[testenv]test_deps} + aio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt + aio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt + aio-pika-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt + aio-pika-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt + lint-instrumentation-aio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt + + aiokafka: {[testenv]test_deps} + aiokafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/test-requirements.txt + + kafka-python: {[testenv]test_deps} + kafka-python: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt + + kafka-pythonng: {[testenv]test_deps} + kafka-pythonng: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt + + confluent-kafka: {[testenv]test_deps} + confluent-kafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt + + grpc: {[testenv]test_deps} + grpc-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt + grpc-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt + lint-instrumentation-grpc: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt + + wsgi: {[testenv]test_deps} + wsgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt + + asyncpg: {[testenv]test_deps} + asyncpg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt + + aws-lambda: {[testenv]test_deps} + aws-lambda: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt + + boto: {[testenv]test_deps} + boto: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt + + boto3sqs: {[testenv]test_deps} + boto3sqs: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt + + falcon: {[testenv]test_deps} + falcon-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt + falcon-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt + falcon-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt + falcon-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-3.txt + falcon-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt + lint-instrumentation-falcon: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt + + flask: {[testenv]test_deps} + flask-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt + flask-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt + flask-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt + lint-instrumentation-flask: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt + + urllib: {[testenv]test_deps} + urllib: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt + + urllib3: {[testenv]test_deps} + urllib3-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt + urllib3-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt + lint-instrumentation-urllib3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt + + botocore: {[testenv]test_deps} + botocore-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-0.txt + botocore-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt + lint-instrumentation-botocore: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt + + cassandra: {[testenv]test_deps} + cassandra: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt + + dbapi: {[testenv]test_deps} + dbapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt + + django: {[testenv]test_deps} + py3{9}-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt + py3{9}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + py3{9}-test-instrumentation-django-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt + py3{10,11,12}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + py3{10,11,12,13}-test-instrumentation-django-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt + pypy3-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt + pypy3-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + lint-instrumentation-django: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt + + fastapi: {[testenv]test_deps} + fastapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt + + mysql: {[testenv]test_deps} + mysql-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt + mysql-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt + lint-instrumentation-mysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt + + mysqlclient: {[testenv]test_deps} + mysqlclient: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt + + pymemcache: {[testenv]test_deps} + pymemcache-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt + pymemcache-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt + pymemcache-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt + pymemcache-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt + pymemcache-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt + lint-instrumentation-pymemcache: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt + + pymongo: {[testenv]test_deps} + pymongo: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt + + psycopg: {[testenv]test_deps} + py3{9}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt + py3{10,11,12,13}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + pypy3-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + lint-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + + psycopg2: {[testenv]test_deps} + psycopg2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt + + psycopg2-binary: {[testenv]test_deps} + psycopg2-binary: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements-binary.txt + + pymysql: {[testenv]test_deps} + pymysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt + + pymssql: {[testenv]test_deps} + pymssql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/test-requirements.txt + + pyramid: {[testenv]test_deps} + pyramid: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt + + sqlite3: {[testenv]test_deps} + sqlite3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt + + redis: {[testenv]test_deps} + redis: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt + + remoulade: {[testenv]test_deps} + remoulade: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt + + requests: {[testenv]test_deps} + requests: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt + + starlette: {[testenv]test_deps} + starlette-{oldest,lint}: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.oldest.txt + starlette-latest: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.latest.txt + + system-metrics: {[testenv]test_deps} + system-metrics: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt + + threading: {[testenv]test_deps} + threading: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt + + tornado: {[testenv]test_deps} + tornado: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt + + tortoiseorm: {[testenv]test_deps} + tortoiseorm: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt + + jinja2: {[testenv]test_deps} + jinja2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt + + logging: {[testenv]test_deps} + logging: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt + + aiohttp-client: {[testenv]test_deps} + aiohttp-client: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt + + aiohttp-server: {[testenv]test_deps} + aiohttp-server: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt + + aiopg: {[testenv]test_deps} + aiopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt + + richconsole: {[testenv]test_deps} + richconsole: -r {toxinidir}/exporter/opentelemetry-exporter-richconsole/test-requirements.txt + + prometheus: {[testenv]test_deps} + prometheus: -r {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt + + sqlalchemy: {[testenv]test_deps} + sqlalchemy-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt + sqlalchemy-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt + sqlalchemy-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt + lint-instrumentation-sqlalchemy: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt + + elasticsearch: {[testenv]test_deps} + elasticsearch-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt + elasticsearch-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt + elasticsearch-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt + lint-instrumentation-elasticsearch: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt + + asyncio: {[testenv]test_deps} + asyncio: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt + + httpx: {[testenv]test_deps} + httpx-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt + httpx-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt + lint-instrumentation-httpx: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + sdk-extension-aws-0: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt + # and the latest version of OTel API and SDK + sdk-extension-aws-1: {[testenv]test_deps} + sdk-extension-aws-1: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-1.txt + lint-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt + benchmark-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmark-requirements.txt + + resource-detector-containerid: {[testenv]test_deps} + resource-detector-containerid: -r {toxinidir}/resource/opentelemetry-resource-detector-containerid/test-requirements.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + resource-detector-azure-0: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt + # and the latest version of OTel API and SDK + resource-detector-azure-1: {[testenv]test_deps} + resource-detector-azure-1: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-1.txt + lint-resource-detector-azure: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt + + propagator-ot-trace: {[testenv]test_deps} + propagator-ot-trace: -r {toxinidir}/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + propagator-aws-xray-0: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt + # and the latest version of OTel API and SDK + propagator-aws-xray-1: {[testenv]test_deps} + propagator-aws-xray-1: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-1.txt + lint-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt + benchmark-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmark-requirements.txt + + processor-baggage: {[testenv]test_deps} + processor-baggage: -r {toxinidir}/processor/opentelemetry-processor-baggage/test-requirements.txt + + util-http: {[testenv]test_deps} + util-http: -r {toxinidir}/util/opentelemetry-util-http/test-requirements.txt + util-http: {toxinidir}/util/opentelemetry-util-http + + exporter-credential-provider-gcp: -r {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/test-requirements.txt + exporter-credential-provider-gcp: {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp + + util-genai: {[testenv]test_deps} + util-genai: -r {toxinidir}/util/opentelemetry-util-genai/test-requirements.txt + util-genai: {toxinidir}/util/opentelemetry-util-genai + + ; FIXME: add coverage testing +allowlist_externals = + sh + pytest + +setenv = + ; override CORE_REPO_SHA via env variable when testing other branches/commits than main + ; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e + CORE_REPO_SHA={env:CORE_REPO_SHA:main} + CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA} + UV_CONFIG_FILE={toxinidir}/tox-uv.toml + +commands_pre = +; In order to get a health coverage report, +; we have to install packages in editable mode. + coverage: python {toxinidir}/scripts/eachdist.py install --editable + +commands = + test-distro: pytest {toxinidir}/opentelemetry-distro/tests {posargs} + lint-distro: pylint {toxinidir}/opentelemetry-distro + + test-opentelemetry-instrumentation: pytest {toxinidir}/opentelemetry-instrumentation/tests {posargs} + lint-opentelemetry-instrumentation: pylint {toxinidir}/opentelemetry-instrumentation + + test-instrumentation-aiohttp-client: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests {posargs} + lint-instrumentation-aiohttp-client: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-client" + + test-instrumentation-aiohttp-server: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/tests {posargs} + lint-instrumentation-aiohttp-server: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-server" + + test-instrumentation-aiopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/tests {posargs} + lint-instrumentation-aiopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiopg" + + test-instrumentation-asgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/tests {posargs} + lint-instrumentation-asgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asgi" + + test-instrumentation-asyncclick: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/tests {posargs} + lint-instrumentation-asyncclick: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncclick" + + test-instrumentation-asyncpg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/tests {posargs} + lint-instrumentation-asyncpg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncpg" + + test-instrumentation-aws-lambda: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/tests {posargs} + lint-instrumentation-aws-lambda: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aws-lambda" + + test-instrumentation-boto: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/tests {posargs} + lint-instrumentation-boto: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto" + + test-instrumentation-botocore: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/tests {posargs} + lint-instrumentation-botocore: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-botocore" + + test-instrumentation-boto3sqs: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/tests {posargs} + lint-instrumentation-boto3sqs: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto3sqs" + + test-instrumentation-cassandra: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/tests {posargs} + lint-instrumentation-cassandra: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-cassandra" + + test-instrumentation-celery: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/tests {posargs} + lint-instrumentation-celery: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-celery" + + test-instrumentation-click: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-click/tests {posargs} + lint-instrumentation-click: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-click" + + test-instrumentation-dbapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/tests {posargs} + lint-instrumentation-dbapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-dbapi" + + test-instrumentation-django: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-django/tests {posargs} + lint-instrumentation-django: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-django" + + test-instrumentation-elasticsearch: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/tests {posargs} + lint-instrumentation-elasticsearch: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-elasticsearch" + + test-instrumentation-falcon: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/tests {posargs} + lint-instrumentation-falcon: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-falcon" + + test-instrumentation-fastapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/tests {posargs} + lint-instrumentation-fastapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-fastapi" + + test-instrumentation-flask: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/tests {posargs} + lint-instrumentation-flask: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-flask" + + test-instrumentation-urllib: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/tests {posargs} + lint-instrumentation-urllib: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib" + + test-instrumentation-urllib3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/tests {posargs} + lint-instrumentation-urllib3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib3" + + test-instrumentation-grpc: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/tests {posargs} + lint-instrumentation-grpc: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-grpc" + + test-instrumentation-jinja2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/tests {posargs} + lint-instrumentation-jinja2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-jinja2" + + test-instrumentation-aiokafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/tests {posargs} + lint-instrumentation-aiokafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiokafka" + + test-instrumentation-kafka-python: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} + lint-instrumentation-kafka-python: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-kafka-python" + + ; Test only for kafka-pythonng instrumentation as the only difference between kafka-python and kafka-pythonng is the version of kafka-python + test-instrumentation-kafka-pythonng: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} + + test-instrumentation-confluent-kafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/tests {posargs} + lint-instrumentation-confluent-kafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-confluent-kafka" + + test-instrumentation-logging: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/tests {posargs} + lint-instrumentation-logging: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-logging" + + test-instrumentation-mysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/tests {posargs} + lint-instrumentation-mysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysql" + + test-instrumentation-mysqlclient: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/tests {posargs} + lint-instrumentation-mysqlclient: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysqlclient" + + test-instrumentation-openai-v2: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests {posargs} + lint-instrumentation-openai-v2: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2" + + test-instrumentation-vertexai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests --vcr-record=none {posargs} + lint-instrumentation-vertexai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-vertexai" + + test-instrumentation-google-genai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests --vcr-record=none {posargs} + lint-instrumentation-google-genai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-google-genai" + + test-instrumentation-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs} + lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika" + + test-instrumentation-aio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/tests {posargs} + lint-instrumentation-aio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aio-pika" + + test-instrumentation-psycopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/tests {posargs} + lint-instrumentation-psycopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg" + + test-instrumentation-psycopg2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} + lint-instrumentation-psycopg2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg2" + + ; Test only for psycopg2-binary instrumentation as the only difference between psycopg2 and psycopg2-binary is the install method + test-instrumentation-psycopg2-binary: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} + + test-instrumentation-pymemcache: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/tests {posargs} + lint-instrumentation-pymemcache: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymemcache" + + test-instrumentation-pymongo: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/tests {posargs} + lint-instrumentation-pymongo: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymongo" + + test-instrumentation-pymysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/tests {posargs} + lint-instrumentation-pymysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymysql" + + test-instrumentation-pymssql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/tests {posargs} + lint-instrumentation-pymssql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymssql" + + test-instrumentation-pyramid: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/tests {posargs} + lint-instrumentation-pyramid: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pyramid" + + test-instrumentation-redis: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/tests {posargs} + lint-instrumentation-redis: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-redis" + + test-instrumentation-remoulade: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/tests {posargs} + lint-instrumentation-remoulade: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-remoulade" + + test-instrumentation-requests: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/tests {posargs} + lint-instrumentation-requests: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-requests" + + test-instrumentation-sqlalchemy: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/tests {posargs} + lint-instrumentation-sqlalchemy: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlalchemy" + + test-instrumentation-sqlite3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/tests {posargs} + lint-instrumentation-sqlite3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlite3" + + test-instrumentation-starlette: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/tests {posargs} + lint-instrumentation-starlette: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-starlette" + + test-instrumentation-system-metrics: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/tests {posargs} + lint-instrumentation-system-metrics: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-system-metrics" + + test-instrumentation-taskiq: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/tests {posargs} + lint-instrumentation-taskiq: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-taskiq" + + test-instrumentation-threading: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/tests {posargs} + lint-instrumentation-threading: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-threading" + + test-instrumentation-tornado: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/tests {posargs} + lint-instrumentation-tornado: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tornado" + + test-instrumentation-tortoiseorm: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/tests {posargs} + lint-instrumentation-tortoiseorm: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tortoiseorm" + + test-instrumentation-wsgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/tests {posargs} + lint-instrumentation-wsgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-wsgi" + + test-instrumentation-httpx: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/tests {posargs} + lint-instrumentation-httpx: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-httpx" + + test-instrumentation-asyncio: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/tests {posargs} + lint-instrumentation-asyncio: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncio" + + test-util-http: pytest {toxinidir}/util/opentelemetry-util-http/tests {posargs} + lint-util-http: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-http" + + test-exporter-credential-provider-gcp: pytest {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/tests {posargs} + lint-exporter-credential-provider-gcp: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-credential-provider-gcp" + + test-util-genai: pytest {toxinidir}/util/opentelemetry-util-genai/tests {posargs} + lint-util-genai: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-genai" + + test-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/tests {posargs} + lint-sdk-extension-aws: sh -c "cd sdk-extension && pylint --rcfile ../.pylintrc opentelemetry-sdk-extension-aws" + benchmark-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmarks {posargs} --benchmark-json=sdk-extension-aws-benchmark.json + + test-resource-detector-containerid: pytest {toxinidir}/resource/opentelemetry-resource-detector-containerid/tests {posargs} + lint-resource-detector-containerid: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-containerid" + + test-resource-detector-azure: pytest {toxinidir}/resource/opentelemetry-resource-detector-azure/tests {posargs} + lint-resource-detector-azure: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-azure" + + test-processor-baggage: pytest {toxinidir}/processor/opentelemetry-processor-baggage/tests {posargs} + lint-processor-baggage: sh -c "cd processor && pylint --rcfile ../.pylintrc opentelemetry-processor-baggage" + + test-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/tests {posargs} + lint-propagator-aws-xray: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-aws-xray" + benchmark-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmarks {posargs} --benchmark-json=propagator-aws-xray-benchmark.json + + test-propagator-ot-trace: pytest {toxinidir}/propagator/opentelemetry-propagator-ot-trace/tests {posargs} + lint-propagator-ot-trace: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-ot-trace" + + test-exporter-richconsole: pytest {toxinidir}/exporter/opentelemetry-exporter-richconsole/tests {posargs} + lint-exporter-richconsole: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-richconsole" + + test-exporter-prometheus-remote-write: pytest {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/tests {posargs} + lint-exporter-prometheus-remote-write: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-prometheus-remote-write" + + coverage: {toxinidir}/scripts/coverage.sh + +[testenv:docs] +deps = + -c {toxinidir}/dev-requirements.txt + -r {toxinidir}/docs-requirements.txt + pytest + {[testenv]test_deps} + {toxinidir}/opentelemetry-instrumentation + {toxinidir}/util/opentelemetry-util-http + {toxinidir}/util/opentelemetry-util-genai + {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp + +changedir = docs + +commands = + sphinx-build -E -a -W -b html -T . _build/html + +[testenv:spellcheck] +basepython: python3 +recreate = True +deps = + codespell==2.2.6 + +commands = + codespell + +[testenv:docker-tests] +basepython: python3 +deps = + {[testenv]test_deps} + -r {toxinidir}/tests/opentelemetry-docker-tests/tests/test-requirements.txt + -e {toxinidir}/opentelemetry-instrumentation + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade + opentelemetry-exporter-opencensus@{env:CORE_REPO}\#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus + +changedir = + tests/opentelemetry-docker-tests/tests + +commands_pre = + sh -c "sudo apt update -y && sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev unixodbc" + python -c "import pyodbc; print(pyodbc.drivers())" + docker-compose up -d + python check_availability.py + +commands = + pytest {posargs} + +commands_post = + docker-compose down -v + +[testenv:generate] +deps = + -r {toxinidir}/gen-requirements.txt + +allowlist_externals = + {toxinidir}/scripts/generate_instrumentation_bootstrap.py + {toxinidir}/scripts/generate_instrumentation_readme.py + {toxinidir}/scripts/generate_instrumentation_metapackage.py + pytest + +commands = + {toxinidir}/scripts/generate_instrumentation_bootstrap.py + {toxinidir}/scripts/generate_instrumentation_readme.py + {toxinidir}/scripts/generate_instrumentation_metapackage.py + +[testenv:generate-workflows] +recreate = True +deps = + {toxinidir}/.github/workflows/generate_workflows_lib + +commands = + python {toxinidir}/.github/workflows/generate_workflows.py + +[testenv:shellcheck] + +commands_pre = + sh -c "sudo apt update -y && sudo apt install --assume-yes shellcheck" + +commands = + sh -c "find {toxinidir} -name \*.sh | xargs shellcheck --severity=warning" + +[testenv:{precommit,ruff}] +basepython: python3 +deps = + -c {toxinidir}/dev-requirements.txt + pre-commit +commands = + pre-commit run --color=always --all-files {posargs} + +[testenv:typecheck] +deps = + -c {toxinidir}/dev-requirements.txt + pyright + {[testenv]test_deps} + {toxinidir}/opentelemetry-instrumentation + {toxinidir}/util/opentelemetry-util-http + {toxinidir}/util/opentelemetry-util-genai[upload] + {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai[instruments] + {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai[instruments] + {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka[instruments] + {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick[instruments] + {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp + +commands = + pyright diff --git a/uv.lock b/uv.lock index 512dbebe3b..a3e15b25b8 100644 --- a/uv.lock +++ b/uv.lock @@ -63,6 +63,7 @@ members = [ "opentelemetry-instrumentation-sqlite3", "opentelemetry-instrumentation-starlette", "opentelemetry-instrumentation-system-metrics", + "opentelemetry-instrumentation-taskiq", "opentelemetry-instrumentation-threading", "opentelemetry-instrumentation-tornado", "opentelemetry-instrumentation-tortoiseorm", @@ -1765,6 +1766,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, ] +[[package]] +name = "izulu" +version = "0.50.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/58/6d6335c78b7ade54d8a6c6dbaa589e5c21b3fd916341d5a16f774c72652a/izulu-0.50.0.tar.gz", hash = "sha256:cc8e252d5e8560c70b95380295008eeb0786f7b745a405a40d3556ab3252d5f5", size = 48558, upload-time = "2025-03-24T15:52:21.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/9f/bf9d33546bbb6e5e80ebafe46f90b7d8b4a77410b7b05160b0ca8978c15a/izulu-0.50.0-py3-none-any.whl", hash = "sha256:4e9ae2508844e7c5f62c468a8b9e2deba2f60325ef63f01e65b39fd9a6b3fab4", size = 18095, upload-time = "2025-03-24T15:52:19.667Z" }, +] + [[package]] name = "jinja2" version = "3.1.6" @@ -3640,6 +3650,29 @@ requires-dist = [ ] provides-extras = ["instruments"] +[[package]] +name = "opentelemetry-instrumentation-taskiq" +source = { editable = "instrumentation/opentelemetry-instrumentation-taskiq" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-instrumentation" }, + { name = "opentelemetry-semantic-conventions" }, +] + +[package.optional-dependencies] +instruments = [ + { name = "taskiq" }, +] + +[package.metadata] +requires-dist = [ + { name = "opentelemetry-api", git = "https://github.com/open-telemetry/opentelemetry-python?subdirectory=opentelemetry-api&branch=main" }, + { name = "opentelemetry-instrumentation", editable = "opentelemetry-instrumentation" }, + { name = "opentelemetry-semantic-conventions", git = "https://github.com/open-telemetry/opentelemetry-python?subdirectory=opentelemetry-semantic-conventions&branch=main" }, + { name = "taskiq", marker = "extra == 'instruments'", specifier = ">=0.11" }, +] +provides-extras = ["instruments"] + [[package]] name = "opentelemetry-instrumentation-threading" source = { editable = "instrumentation/opentelemetry-instrumentation-threading" } @@ -3897,6 +3930,7 @@ dependencies = [ { name = "opentelemetry-instrumentation-sqlalchemy", extra = ["instruments"] }, { name = "opentelemetry-instrumentation-sqlite3" }, { name = "opentelemetry-instrumentation-system-metrics" }, + { name = "opentelemetry-instrumentation-taskiq", extra = ["instruments"] }, { name = "opentelemetry-instrumentation-threading" }, { name = "opentelemetry-instrumentation-tornado" }, { name = "opentelemetry-instrumentation-tortoiseorm" }, @@ -3964,6 +3998,7 @@ requires-dist = [ { name = "opentelemetry-instrumentation-sqlalchemy", extras = ["instruments"], editable = "instrumentation/opentelemetry-instrumentation-sqlalchemy" }, { name = "opentelemetry-instrumentation-sqlite3", editable = "instrumentation/opentelemetry-instrumentation-sqlite3" }, { name = "opentelemetry-instrumentation-system-metrics", editable = "instrumentation/opentelemetry-instrumentation-system-metrics" }, + { name = "opentelemetry-instrumentation-taskiq", extras = ["instruments"], editable = "instrumentation/opentelemetry-instrumentation-taskiq" }, { name = "opentelemetry-instrumentation-threading", editable = "instrumentation/opentelemetry-instrumentation-threading" }, { name = "opentelemetry-instrumentation-tornado", editable = "instrumentation/opentelemetry-instrumentation-tornado" }, { name = "opentelemetry-instrumentation-tortoiseorm", editable = "instrumentation/opentelemetry-instrumentation-tortoiseorm" }, @@ -4481,6 +4516,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, ] +[[package]] +name = "pycron" +version = "3.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/5d/340be12ae4a69c33102dfb6ddc1dc6e53e69b2d504fa26b5d34a472c3057/pycron-3.2.0.tar.gz", hash = "sha256:e125a28aca0295769541a40633f70b602579df48c9cb357c36c28d2628ba2b13", size = 4248, upload-time = "2025-06-05T13:24:12.636Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f0/76/caf316909f4545e7158e0e1defd8956a1da49f4af04f5d16b18c358dfeac/pycron-3.2.0-py3-none-any.whl", hash = "sha256:6d2349746270bd642b71b9f7187cf13f4d9ee2412b4710396a507b5fe4f60dac", size = 4904, upload-time = "2025-06-05T13:24:11.477Z" }, +] + [[package]] name = "pydantic" version = "2.11.4" @@ -5240,6 +5284,38 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload-time = "2025-04-13T13:56:16.21Z" }, ] +[[package]] +name = "taskiq" +version = "0.11.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "importlib-metadata" }, + { name = "izulu" }, + { name = "packaging" }, + { name = "pycron" }, + { name = "pydantic" }, + { name = "pytz" }, + { name = "taskiq-dependencies" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/4d/0d1b3b6c77a45d7a8c685a9c916b2532cca36a26771831949b874f6d15c3/taskiq-0.11.18.tar.gz", hash = "sha256:b83e1b70aee74d0a197d4a4a5ba165b8ba85b12a2b3b7ebfa3c6fdcc9e3128a7", size = 54323, upload-time = "2025-07-15T16:25:54.37Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/d5/46505f57c140d10d4c36f6bd2f2047fb0460e4d5b9b841dc3b93ab8c893d/taskiq-0.11.18-py3-none-any.whl", hash = "sha256:0df58be24e4ef5d19c8ef02581d35d392b0d780d3fe37950e0478022b85ce288", size = 79608, upload-time = "2025-07-15T16:25:52.707Z" }, +] + +[[package]] +name = "taskiq-dependencies" +version = "1.5.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/47/90/47a627696e53bfdcacabc3e8c05b73bf1424685bcb5f17209cb8b12da1bf/taskiq_dependencies-1.5.7.tar.gz", hash = "sha256:0d3b240872ef152b719153b9526d866d2be978aeeaea6600e878414babc2dcb4", size = 14875, upload-time = "2025-02-26T22:07:39.876Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/6d/4a012f2de002c2e93273f5e7d3e3feea02f7fdbb7b75ca2ca1dd10703091/taskiq_dependencies-1.5.7-py3-none-any.whl", hash = "sha256:6fcee5d159bdb035ef915d4d848826169b6f06fe57cc2297a39b62ea3e76036f", size = 13801, upload-time = "2025-02-26T22:07:38.622Z" }, +] + [[package]] name = "tenacity" version = "9.1.2" From 61d04a12994029323925f8c96c581f49a3ef6d87 Mon Sep 17 00:00:00 2001 From: Alex Kondratev Date: Sat, 11 Oct 2025 13:06:22 +0300 Subject: [PATCH 2/5] update changelog --- CHANGELOG.md | 4297 +++++++++++++++++++++++++------------------------- 1 file changed, 2150 insertions(+), 2147 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebf81ae5b4..fd6b8f5e5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2147 +1,2150 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -> [!NOTE] -> The following components are released independently and maintain individual CHANGELOG files. -> Use [this search for a list of all CHANGELOG.md files in this repo](https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-python-contrib+path%3A**%2FCHANGELOG.md&type=code). - -## Unreleased - -### Fixed - -- `opentelemetry-instrumentation-dbapi`: fix crash retrieving libpq version when enabling commenter with psycopg - ([#3796](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3796)) - -### Added -- `opentelemetry-instrumentation`: botocore: Add support for AWS Secrets Manager semantic convention attribute - ([#3765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3765)) -- Add `rstcheck` to pre-commit to stop introducing invalid RST - ([#3777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3777)) -- `opentelemetry-exporter-credential-provider-gcp`: create this package which provides support for supplying your machine's Application Default Credentials (https://cloud.google.com/docs/authentication/application-default-credentials) to the OTLP Exporters created automatically by OpenTelemetry Python's auto instrumentation. These credentials authorize OTLP traces to be sent to `telemetry.googleapis.com`. -[#3766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3766). - -## Version 1.37.0/0.58b0 (2025-09-11) - -### Fixed - -- `opentelemetry-instrumentation-fastapi`: Fix middleware ordering to cover all exception handling use cases. - ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) -- `opentelemetry-instrumentation-asgi`: Make all user hooks failsafe and record exceptions in hooks. - ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) -- `opentelemetry-instrumentation-fastapi`: Fix memory leak in `uninstrument_app()` by properly removing apps from the tracking set - ([#3688](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3688)) -- `opentelemetry-instrumentation-tornado` Fix server (request) duration metric calculation - ([#3679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3679)) -- `opentelemetry-instrumentation-tornado`: Fix to properly skip all server telemetry when URL excluded. - ([#3680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3680)) -- `opentelemetry-instrumentation`: Avoid calls to `context.detach` with `None` token. - ([#3673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3673)) -- `opentelemetry-instrumentation-starlette`/`opentelemetry-instrumentation-fastapi`: Fixes a crash when host-based routing is used - ([#3507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3507)) -- Fix documentation order of sections and headers for Django, Flask, MySQL, mysqlclient, psycopg, psycopg2, pymysql, sqlalchemy instrumentations. - ([#3719](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3719)) -- `opentelemetry-instrumentation-asgi` Fixed an issue where FastAPI reports IP instead of URL. - ([#3670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3670)) -- `opentelemetry-instrumentation-httpx`: fix missing metric response attributes when tracing is disabled - ([#3615](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3615)) -- `opentelemetry-instrumentation-fastapi`: Don't pass bounded server_request_hook when using `FastAPIInstrumentor.instrument()` - ([#3701](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3701)) - -### Added - -- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.11.0 - ([#3685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3685)) -- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collected_objects` and `cpython.gc.uncollectable_objects` metrics - ([#3666](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3666)) -- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Remote Sampler with initial Rules Poller implementation - ([#3366](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3366)) -- `opentelemetry-instrumentation`: add support for `OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH` to inform opentelemetry-instrument about gevent monkeypatching - ([#3699](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3699)) -- `opentelemetry-instrumentation`: botocore: Add support for AWS Step Functions semantic convention attributes - ([#3737](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3737)) -- `opentelemetry-instrumentation-botocore`: Add support for SNS semantic convention attribute aws.sns.topic.arn - ([#3734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3734)) -- `opentelemetry-instrumentation`: botocore: upgrade moto package from 5.0.9 to 5.1.11 - ([#3736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3736)) - -## Version 1.36.0/0.57b0 (2025-07-29) - -### Fixed - -- `opentelemetry-instrumentation`: Fix dependency conflict detection when instrumented packages are not installed by moving check back to before instrumentors are loaded. Add "instruments-any" feature for instrumentations that target multiple packages. - ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) -- infra(ci): Fix git pull failures in core contrib test - ([#3357](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3357)) - -### Added - -- `opentelemetry-instrumentation-psycopg2` Utilize instruments-any functionality. - ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) -- `opentelemetry-instrumentation-kafka-python` Utilize instruments-any functionality. - ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) -- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collections` metrics with collection unit is specified in semconv ([3617](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3617)) - -## Version 1.35.0/0.56b0 (2025-07-11) - -### Added - -- `opentelemetry-instrumentation-pika` Added instrumentation for All `SelectConnection` adapters - ([#3584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3584)) -- `opentelemetry-instrumentation-tornado` Add support for `WebSocketHandler` instrumentation - ([#3498](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3498)) -- `opentelemetry-util-http` Added support for redacting specific url query string values and url credentials in instrumentations - ([#3508](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3508)) -- `opentelemetry-instrumentation-pymongo` `aggregate` and `getMore` capture statements support - ([#3601](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3601)) - -### Fixed - -- `opentelemetry-instrumentation-asgi`: fix excluded_urls in instrumentation-asgi - ([#3567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3567)) -- `opentelemetry-resource-detector-containerid`: make it more quiet on platforms without cgroups - ([#3579](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3579)) - -## Version 1.34.0/0.55b0 (2025-06-04) - -### Fixed - -- `opentelemetry-instrumentation-system-metrics`: fix loading on Google Cloud Run - ([#3533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3533)) -- `opentelemetry-instrumentation-fastapi`: fix wrapping of middlewares - ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) -- `opentelemetry-instrumentation-starlette` Remove max version constraint on starlette - ([#3456](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3456)) -- `opentelemetry-instrumentation-starlette` Fix memory leak and double middleware - ([#3529](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3529)) -- `opentelemetry-instrumentation-urllib3`: proper bucket boundaries in stable semconv http duration metrics - ([#3518](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3518)) -- `opentelemetry-instrumentation-urllib`: proper bucket boundaries in stable semconv http duration metrics - ([#3519](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3519)) -- `opentelemetry-instrumentation-falcon`: proper bucket boundaries in stable semconv http duration - ([#3525](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3525)) -- `opentelemetry-instrumentation-wsgi`: add explicit http duration buckets for stable semconv - ([#3527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3527)) -- `opentelemetry-instrumentation-asgi`: add explicit http duration buckets for stable semconv - ([#3526](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3526)) -- `opentelemetry-instrumentation-flask`: proper bucket boundaries in stable semconv http duration - ([#3523](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3523)) -- `opentelemetry-instrumentation-django`: proper bucket boundaries in stable semconv http duration - ([#3524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3524)) -- `opentelemetry-instrumentation-grpc`: support non-list interceptors - ([#3520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3520)) -- `opentelemetry-instrumentation-botocore` Ensure spans end on early stream closure for Bedrock Streaming APIs - ([#3481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3481)) -- `opentelemetry-instrumentation-sqlalchemy` Respect suppress_instrumentation functionality - ([#3477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3477)) -- `opentelemetry-instrumentation-botocore`: fix handling of tool input in Bedrock ConverseStream - ([#3544](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3544)) -- `opentelemetry-instrumentation-botocore` Add type check when extracting tool use from Bedrock request message content - ([#3548](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3548)) -- `opentelemetry-instrumentation-dbapi` Respect suppress_instrumentation functionality ([#3460](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3460)) -- `opentelemetry-resource-detector-container` Correctly parse container id when using systemd and cgroupsv1 - ([#3429](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3429)) - -### Breaking changes - -- `opentelemetry-instrumentation-botocore` Use `cloud.region` instead of `aws.region` span attribute as per semantic conventions. - ([#3474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3474)) -- `opentelemetry-instrumentation-fastapi`: Drop support for FastAPI versions earlier than `0.92` - ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) -- `opentelemetry-resource-detector-container`: rename package name to `opentelemetry-resource-detector-containerid` - ([#3536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3536)) - -### Added - -- `opentelemetry-instrumentation-aiohttp-client` Add support for HTTP metrics - ([#3517](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3517)) -- `opentelemetry-instrumentation-httpx` Add support for HTTP metrics - ([#3513](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3513)) -- `opentelemetry-instrumentation` Allow re-raising exception when instrumentation fails - ([#3545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3545)) -- `opentelemetry-instrumentation-aiokafka` Add instrumentation of `consumer.getmany` (batch) - ([#3257](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3257)) - -### Deprecated - -- Drop support for Python 3.8, bump baseline to Python 3.9. - ([#3399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3399)) - -## Version 1.33.0/0.54b0 (2025-05-09) - -### Added - -- `opentelemetry-instrumentation-requests` Support explicit_bucket_boundaries_advisory in duration metrics - ([#3464](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3464)) -- `opentelemetry-instrumentation-redis` Add support for redis client-specific instrumentation. - ([#3143](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3143)) - -### Fixed - -- `opentelemetry-instrumentation` Catch `ModuleNotFoundError` when the library is not installed - and log as debug instead of exception - ([#3423](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3423)) -- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation - ([#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)) -- `opentelemetry-instrumentation-botocore` Add GenAI instrumentation for additional Bedrock models for InvokeModel API - ([#3419](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3419)) -- `opentelemetry-instrumentation` don't print duplicated conflict log error message - ([#3432](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3432)) -- `opentelemetry-instrumentation-grpc` Check for None result in gRPC - ([#3380](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3381)) -- `opentelemetry-instrumentation-[asynclick/click]` Add missing opentelemetry-instrumentation dep - ([#3447](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3447)) -- `opentelemetry-instrumentation-botocore` Capture server attributes for botocore API calls - ([#3448](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3448)) - -## Version 1.32.0/0.53b0 (2025-04-10) - -### Added - -- `opentelemetry-instrumentation-asyncclick`: new instrumentation to trace asyncclick commands - ([#3319](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3319)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events using Amazon Nova models and `InvokeModel*` APIs - ([#3385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3385)) -- `opentelemetry-instrumentation` Make auto instrumentation use the same dependency resolver as manual instrumentation does - ([#3202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3202)) - -### Fixed - -- `opentelemetry-instrumentation` Fix client address is set to server address in new semconv - ([#3354](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3354)) -- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-django`, - `opentelemetry-instrumentation-sqlalchemy`: Fix sqlcomment for non string query and composable object. - ([#3113](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3113)) -- `opentelemetry-instrumentation-grpc` Fix error when using gprc versions <= 1.50.0 with unix sockets. - ([[#3393](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3393)]) -- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation. - ([[#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)]) -- `opentelemetry-instrumentation-aiokafka` Fix send_and_wait method no headers kwargs error. - ([[#3332](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3332)]) - -## Version 1.31.0/0.52b0 (2025-03-12) - -### Added - -- `opentelemetry-instrumentation-openai-v2` Update doc for OpenAI Instrumentation to support OpenAI Compatible Platforms - ([#3279](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3279)) -- `opentelemetry-instrumentation-system-metrics` Add `process` metrics and deprecated `process.runtime` prefixed ones - ([#3250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3250)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI user events and lazy initialize tracer - ([#3258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3258)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI system events - ([#3266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3266)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI choice events - ([#3275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3275)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events - ([#3302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3302)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI metrics - ([#3326](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3326)) -- `opentelemetry-instrumentation` make it simpler to initialize auto-instrumentation programmatically - ([#3273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3273)) -- Add `opentelemetry-instrumentation-vertexai>=2.0b0` to `opentelemetry-bootstrap` - ([#3307](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3307)) -- Loosen `opentelemetry-instrumentation-starlette[instruments]` specifier - ([#3304](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3304)) - -### Fixed - -- `opentelemetry-instrumentation-redis` Add missing entry in doc string for `def _instrument` - ([#3247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3247)) -- `opentelemetry-instrumentation-botocore` sns-extension: Change destination name attribute - to match topic ARN and redact phone number from attributes - ([#3249](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3249)) -- `opentelemetry-instrumentation-asyncpg` Fix fallback for empty queries. - ([#3253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3253)) -- `opentelemetry-instrumentation` Fix a traceback in sqlcommenter when psycopg connection pooling is enabled. - ([#3309](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3309)) -- `opentelemetry-instrumentation-threading` Fix broken context typehints - ([#3322](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3322)) -- `opentelemetry-instrumentation-requests` always record span status code in duration metric - ([#3323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3323)) - -## Version 1.30.0/0.51b0 (2025-02-03) - -### Added - -- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.7.0 - ([#3100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3100)) -- Add support to database stability opt-in in `_semconv` utilities and add tests - ([#3111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3111)) -- `opentelemetry-instrumentation-urllib` Add `py.typed` file to enable PEP 561 - ([#3131](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3131)) -- `opentelemetry-opentelemetry-pymongo` Add `py.typed` file to enable PEP 561 - ([#3136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3136)) -- `opentelemetry-opentelemetry-requests` Add `py.typed` file to enable PEP 561 - ([#3135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3135)) -- `opentelemetry-instrumentation-system-metrics` Add `py.typed` file to enable PEP 561 - ([#3132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3132)) -- `opentelemetry-opentelemetry-sqlite3` Add `py.typed` file to enable PEP 561 - ([#3133](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3133)) -- `opentelemetry-instrumentation-falcon` add support version to v4 - ([#3086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3086)) -- `opentelemetry-instrumentation-falcon` Implement new HTTP semantic convention opt-in for Falcon - ([#2790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2790)) -- `opentelemetry-instrumentation-wsgi` always record span status code to have it available in metrics - ([#3148](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3148)) -- add support to Python 3.13 - ([#3134](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3134)) -- `opentelemetry-opentelemetry-wsgi` Add `py.typed` file to enable PEP 561 - ([#3129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3129)) -- `opentelemetry-util-http` Add `py.typed` file to enable PEP 561 - ([#3127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3127)) -- `opentelemetry-instrumentation-psycopg2` Add support for psycopg2-binary - ([#3186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3186)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock Converse API - ([#3161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3161)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModel API - ([#3200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3200)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock ConverseStream API - ([#3204](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3204)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModelWithStreamResponse API - ([#3206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3206)) -- `opentelemetry-instrumentation-pymssql` Add pymssql instrumentation - ([#394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/394)) -- `opentelemetry-instrumentation-mysql` Add sqlcommenter support - ([#3163](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3163)) - -### Fixed - -- `opentelemetry-instrumentation-httpx` Fix `RequestInfo`/`ResponseInfo` type hints - ([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105)) -- `opentelemetry-instrumentation-dbapi` Move `TracedCursorProxy` and `TracedConnectionProxy` to the module level - ([#3068](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3068)) -- `opentelemetry-instrumentation-click` Disable tracing of well-known server click commands - ([#3174](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3174)) -- `opentelemetry-instrumentation` Fix `get_dist_dependency_conflicts` if no distribution requires - ([#3168](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3168)) - -### Breaking changes - -- `opentelemetry-exporter-prometheus-remote-write` updated protobuf required version from 4.21 to 5.26 and regenerated protobufs - ([#3219](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3219)) -- `opentelemetry-instrumentation-sqlalchemy` including sqlcomment in `db.statement` span attribute value is now opt-in - ([#3112](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3112)) -- `opentelemetry-instrumentation-dbapi` including sqlcomment in `db.statement` span attribute value is now opt-in - ([#3115](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3115)) -- `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-psycopg`, `opentelemetry-instrumentation-mysqlclient`, `opentelemetry-instrumentation-pymysql`: including sqlcomment in `db.statement` span attribute value is now opt-in - ([#3121](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3121)) - -## Version 1.29.0/0.50b0 (2024-12-11) - -### Added - -- `opentelemetry-instrumentation-starlette` Add type hints to the instrumentation - ([#3045](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3045)) -- `opentelemetry-distro` default to OTLP log exporter. - ([#3042](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3042)) -- `opentelemetry-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2 - ([#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976)) -- Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap` - ([#2996](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2996)) -- `opentelemetry-instrumentation-sqlalchemy` Add sqlcomment to `db.statement` attribute - ([#2937](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2937)) -- `opentelemetry-instrumentation-dbapi` Add sqlcomment to `db.statement` attribute - ([#2935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2935)) -- `opentelemetry-instrumentation-dbapi` instrument_connection accepts optional connect_module - ([#3027](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3027)) -- `opentelemetry-instrumentation-mysqlclient` Add sqlcommenter support - ([#2941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2941)) -- `opentelemetry-instrumentation-pymysql` Add sqlcommenter support - ([#2942](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2942)) -- `opentelemetry-instrumentation-click`: new instrumentation to trace click commands - ([#2994](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2994)) - -### Fixed - -- `opentelemetry-instrumentation-starlette`: Retrieve `meter_provider` key instead of `_meter_provider` on `_instrument` - ([#3048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3048)) -- `opentelemetry-instrumentation-httpx`: instrument_client is a static method again - ([#3003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3003)) -- `opentelemetry-instrumentation-system_metrics`: fix callbacks reading wrong config - ([#3025](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3025)) -- `opentelemetry-instrumentation-httpx`: Check if mount transport is none before wrap it - ([#3022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3022)) -- Replace all instrumentor unit test `assertEqualSpanInstrumentationInfo` calls with `assertEqualSpanInstrumentationScope` calls - ([#3037](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3037)) -- `opentelemetry-instrumentation-sqlalchemy` Fixes engines from `sqlalchemy.engine_from_config` not being fully instrumented - ([#2816](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2816)) -- `opentelemetry-instrumentation-sqlalchemy`: Fix a remaining memory leak in EngineTracer - ([#3053](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3053)) -- `opentelemetry-instrumentation-sqlite3`: Update documentation on explicit cursor support of tracing - ([#3088](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3088)) - -### Breaking changes - -- `opentelemetry-instrumentation-sqlalchemy` teach instruments version - ([#2971](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2971)) -- Drop `opentelemetry-instrumentation-test` package from default instrumentation list - ([#2969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2969)) -- `opentelemetry-instrumentation-httpx`: remove private unused `_InstrumentedClient` and `_InstrumentedAsyncClient` classes - ([#3036](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3036)) - -## Version 1.28.0/0.49b0 (2024-11-05) - -### Added - -- `opentelemetry-instrumentation-openai-v2` Instrumentation for OpenAI >= 0.27.0 - ([#2759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2759)) -- `opentelemetry-instrumentation-fastapi` Add autoinstrumentation mechanism tests. - ([#2860](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2860)) -- `opentelemetry-instrumentation-aiokafka` Add instrumentor and auto instrumentation support for aiokafka - ([#2082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2082)) -- `opentelemetry-instrumentation-redis` Add additional attributes for methods create_index and search, rename those spans - ([#2635](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2635)) -- `opentelemetry-instrumentation` Add support for string based dotted module paths in unwrap - ([#2919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2919)) - -### Fixed - -- `opentelemetry-instrumentation-aiokafka` Wrap `AIOKafkaConsumer.getone()` instead of `AIOKafkaConsumer.__anext__` - ([#2874](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2874)) -- `opentelemetry-instrumentation-confluent-kafka` Fix to allow `topic` to be extracted from `kwargs` in `produce()` - ([#2901])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2901) -- `opentelemetry-instrumentation-system-metrics` Update metric units to conform to UCUM conventions. - ([#2922](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2922)) -- `opentelemetry-instrumentation-celery` Don't detach context without a None token - ([#2927](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2927)) -- `opentelemetry-exporter-prometheus-remote-write`: sort labels before exporting - ([#2940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2940)) -- `opentelemetry-instrumentation-dbapi` sqlcommenter key values created from PostgreSQL, MySQL systems - ([#2897](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2897)) -- `opentelemetry-instrumentation-system-metrics`: don't report open file descriptors on Windows - ([#2946](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2946)) - -### Breaking changes - -- Deprecation of pkg_resource in favor of importlib.metadata - ([#2871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2871)) -- `opentelemetry-instrumentation` Don't fail distro loading if instrumentor raises ImportError, instead skip them - ([#2923](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2923)) -- `opentelemetry-instrumentation-httpx` Rewrote instrumentation to use wrapt instead of subclassing - ([#2909](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2909)) - -## Version 1.27.0/0.48b0 (2024-08-28) - -### Added - -- `opentelemetry-instrumentation-kafka-python` Instrument temporary fork, kafka-python-ng inside kafka-python's instrumentation - ([#2537](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2537)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi` Add ability to disable internal HTTP send and receive spans - ([#2802](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2802)) -- `opentelemetry-instrumentation-asgi` Add fallback decoding for ASGI headers - ([#2837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2837)) - -### Breaking changes - -- `opentelemetry-bootstrap` Remove `opentelemetry-instrumentation-aws-lambda` from the defaults instrumentations - ([#2786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2786)) - -### Fixed - -- `opentelemetry-instrumentation-httpx` fix handling of async hooks - ([#2823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2823)) -- `opentelemetry-instrumentation-system-metrics` fix `process.runtime.cpu.utilization` values to be shown in range of 0 to 1 - ([#2812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2812)) -- `opentelemetry-instrumentation-fastapi` fix `fastapi` auto-instrumentation by removing `fastapi-slim` support, `fastapi-slim` itself is discontinued from maintainers - ([#2783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2783)) -- `opentelemetry-instrumentation-aws-lambda` Avoid exception when a handler is not present. - ([#2750](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2750)) -- `opentelemetry-instrumentation-django` Fix regression - `http.target` re-added back to old semconv duration metrics - ([#2746](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2746)) -- `opentelemetry-instrumentation-asgi` do not set `url.full` attribute for server spans - ([#2735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2735)) -- `opentelemetry-instrumentation-grpc` Fixes the issue with the gRPC instrumentation not working with the 1.63.0 and higher version of gRPC - ([#2483](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2484)) -- `opentelemetry-instrumentation-aws-lambda` Fixing w3c baggage support - ([#2589](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2589)) -- `opentelemetry-instrumentation-celery` propagates baggage - ([#2385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2385)) -- `opentelemetry-instrumentation-asyncio` Fixes async generator coroutines not being awaited - ([#2792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2792)) -- `opentelemetry-instrumentation-tornado` Handle http client exception and record exception info into span - ([#2563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2563)) -- `opentelemetry-instrumentation` fix `http.host` new http semantic convention mapping to depend on `kind` of span - ([#2814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2814)) -- `opentelemetry-instrumentation` Fix the description of `http.server.duration` and `http.server.request.duration` - ([#2753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2753)) -- `opentelemetry-instrumentation-grpc` Fix grpc supported version - ([#2845](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2845)) -- `opentelemetry-instrumentation-asyncio` fix `AttributeError` in - `AsyncioInstrumentor.trace_to_thread` when `func` is a `functools.partial` instance - ([#2911](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2911)) - -## Version 1.26.0/0.47b0 (2024-07-23) - -### Added - -- `opentelemetry-instrumentation-flask` Add `http.route` and `http.target` to metric attributes - ([#2621](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2621)) -- `opentelemetry-instrumentation-aws-lambda` Enable global propagator for AWS instrumentation - ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) -- `opentelemetry-instrumentation-sklearn` Deprecated the sklearn instrumentation - ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) -- `opentelemetry-instrumentation-pyramid` Record exceptions raised when serving a request - ([#2622](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2622)) -- `opentelemetry-sdk-extension-aws` Add AwsXrayLambdaPropagator - ([#2573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2573)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for version 2.4.0 of confluent_kafka - ([#2616](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2616)) -- `opentelemetry-instrumentation-asyncpg` Add instrumentation to cursor based queries - ([#2501](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2501)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for produce purge - ([#2638](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2638)) -- `opentelemetry-instrumentation-asgi` Implement new semantic convention opt-in with stable http semantic conventions - ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) -- `opentelemetry-instrumentation-fastapi` Implement new semantic convention opt-in with stable http semantic conventions - ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) -- `opentelemetry-instrumentation-httpx` Implement new semantic convention opt-in migration with stable http semantic conventions - ([#2631](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2631)) -- `opentelemetry-instrumentation-system-metrics` Permit to use psutil 6.0+. - ([#2630](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2630)) -- `opentelemetry-instrumentation-system-metrics` Add support for capture open file descriptors - ([#2652](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2652)) -- `opentelemetry-instrumentation-httpx` Add support for instrument client with proxy - ([#2664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2664)) -- `opentelemetry-instrumentation-aiohttp-client` Implement new semantic convention opt-in migration - ([#2673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2673)) -- `opentelemetry-instrumentation-django` Add `http.target` to Django duration metric attributes - ([#2624](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2624)) -- `opentelemetry-instrumentation-urllib3` Implement new semantic convention opt-in migration - ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) -- `opentelemetry-instrumentation-django` Implement new semantic convention opt-in with stable http semantic conventions - ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) -- `opentelemetry-instrumentation-urllib` Implement new semantic convention opt-in migration - ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) - -### Breaking changes - -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi`, `opentelemetry-instrumentation-starlette` Use `tracer` and `meter` of originating components instead of one from `asgi` middleware - ([#2580](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2580)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `asgi` middleware - ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` middleware - ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) -- `opentelemetry-instrumentation-urllib3` Populate `{method}` as `HTTP` on `_OTHER` methods for span name - ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` instrumentation - ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `django` middleware - ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `urllib` instrumentation - ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) -- `opentelemetry-instrumentation-httpx`, `opentelemetry-instrumentation-aiohttp-client`, - `opentelemetry-instrumentation-requests` Populate `{method}` as `HTTP` on `_OTHER` methods - ([#2726](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2726)) -- `opentelemetry-instrumentation-fastapi` Add dependency support for fastapi-slim - ([#2702](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2702)) -- `opentelemetry-instrumentation-urllib3` improve request_hook, replacing `headers` and `body` parameters with a single `request_info: RequestInfo` parameter that now contains the `method` and `url` ([#2711](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2711)) - -### Fixed - -- Handle `redis.exceptions.WatchError` as a non-error event in redis instrumentation - ([#2668](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2668)) -- `opentelemetry-instrumentation-httpx` Ensure httpx.get or httpx.request like methods are instrumented - ([#2538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2538)) -- Add Python 3.12 support - ([#2572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2572)) -- `opentelemetry-instrumentation-aiohttp-server`, `opentelemetry-instrumentation-httpx` Ensure consistently use of suppress_instrumentation utils - ([#2590](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2590)) -- Reference symbols from generated semantic conventions - ([#2611](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2611)) -- `opentelemetry-instrumentation-psycopg` Bugfix: Handle empty statement. - ([#2644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2644)) -- `opentelemetry-instrumentation-confluent-kafka` Confluent Kafka: Ensure consume span is ended when consumer is closed - ([#2640](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2640)) -- `opentelemetry-instrumentation-asgi` Fix generation of `http.target` and `http.url` attributes for ASGI apps - using sub apps - ([#2477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2477)) -- `opentelemetry-instrumentation-aws-lambda` Bugfix: AWS Lambda event source key incorrect for SNS in instrumentation library. - ([#2612](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2612)) -- `opentelemetry-instrumentation-asyncio` instrumented `asyncio.wait_for` properly raises `asyncio.TimeoutError` as expected - ([#2637](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2637)) -- `opentelemetry-instrumentation-django` Handle exceptions from request/response hooks - ([#2153](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2153)) -- `opentelemetry-instrumentation-asgi` Removed `NET_HOST_NAME` AND `NET_HOST_PORT` from active requests count attribute - ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) -- `opentelemetry-instrumentation-asgi` Bugfix: Middleware did not set status code attribute on duration metrics for non-recording spans. - ([#2627](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2627)) -- `opentelemetry-instrumentation-mysql` Add support for `mysql-connector-python` v9 - ([#2751](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2751)) - -## Version 1.25.0/0.46b0 (2024-05-31) - -### Breaking changes - -- Add return statement to Confluent kafka Producer poll() and flush() calls when instrumented by ConfluentKafkaInstrumentor().instrument_producer() ([#2527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2527)) -- Rename `type` attribute to `asgi.event.type` in `opentelemetry-instrumentation-asgi` - ([#2300](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2300)) -- Rename AwsLambdaInstrumentor span attributes `faas.id` to `cloud.resource_id`, `faas.execution` to `faas.invocation_id` - ([#2372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2372)) -- Drop support for instrumenting elasticsearch client < 6 - ([#2422](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2422)) -- `opentelemetry-instrumentation-wsgi` Add `http.method` to `span.name` - ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) -- `opentelemetry-instrumentation-flask` Add `http.method` to `span.name` - ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) -- Record repeated HTTP headers in lists, rather than a comma separate strings for ASGI based web frameworks - ([#2361](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2361)) -- ASGI, FastAPI, Starlette: provide both send and receive hooks with `scope` and `message` for internal spans -- ([#2546](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2546)) - -### Added - -- `opentelemetry-sdk-extension-aws` Register AWS resource detectors under the - `opentelemetry_resource_detector` entry point - ([#2382](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2382)) -- `opentelemetry-instrumentation-wsgi` Implement new semantic convention opt-in with stable http semantic conventions - ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) -- `opentelemetry-instrumentation-flask` Implement new semantic convention opt-in with stable http semantic conventions - ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) -- `opentelemetry-instrumentation-threading` Initial release for threading - ([#2253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2253)) -- `opentelemetry-instrumentation-pika` Instrumentation for `channel.consume()` (supported - only for global, non channel specific instrumentation) - ([#2397](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2397)) -- `opentelemetry-processor-baggage` Initial release - ([#2436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2436)) -- `opentelemetry-processor-baggage` Add baggage key predicate - ([#2535](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2535)) - -### Fixed - -- `opentelemetry-instrumentation-dbapi` Fix compatibility with Psycopg3 to extract libpq build version - ([#2500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2500)) -- `opentelemetry-instrumentation-grpc` AioClientInterceptor should propagate with a Metadata object - ([#2363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2363)) -- `opentelemetry-instrumentation-boto3sqs` Instrument Session and resource - ([#2161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2161)) -- `opentelemetry-instrumentation-aws-lambda` Fix exception handling for events with requestContext - ([#2418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2418)) -- Use sqlalchemy version in sqlalchemy commenter instead of opentelemetry library version - ([#2404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2404)) -- `opentelemetry-instrumentation-asyncio` Check for cancelledException in the future - ([#2461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2461)) -- Remove SDK dependency from opentelemetry-instrumentation-grpc - ([#2474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2474)) -- `opentelemetry-instrumentation-elasticsearch` Improved support for version 8 - ([#2420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2420)) -- `opentelemetry-instrumentation-elasticsearch` Disabling instrumentation with native OTel support enabled - ([#2524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2524)) -- `opentelemetry-instrumentation-asyncio` Check for **name** attribute in the coroutine - ([#2521](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2521)) -- `opentelemetry-instrumentation-requests` Fix wrong time unit for duration histogram - ([#2553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2553)) -- `opentelemetry-util-http` Preserve brackets around literal IPv6 hosts ([#2552](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2552)) -- `opentelemetry-util-redis` Fix net peer attribute for unix socket connection ([#2493](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2493)) - -## Version 1.24.0/0.45b0 (2024-03-28) - -### Added - -- `opentelemetry-instrumentation-psycopg` Async Instrumentation for psycopg 3.x - ([#2146](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2146)) - -### Fixed - -- `opentelemetry-instrumentation-celery` Allow Celery instrumentation to be installed multiple times - ([#2342](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2342)) -- Align gRPC span status codes to OTEL specification - ([#1756](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1756)) -- `opentelemetry-instrumentation-flask` Add importlib metadata default for deprecation warning flask version - ([#2297](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2297)) -- Ensure all http.server.duration metrics have the same description - ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2298)) -- Fix regression in httpx `request.url` not being of type `httpx.URL` after `0.44b0` - ([#2359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2359)) -- Avoid losing repeated HTTP headers - ([#2266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2266)) -- `opentelemetry-instrumentation-elasticsearch` Don't send bulk request body as db statement - ([#2355](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2355)) -- AwsLambdaInstrumentor sets `cloud.account.id` span attribute - ([#2367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2367)) - -### Added - -- `opentelemetry-instrumentation-fastapi` Add support for configuring header extraction via runtime constructor parameters - ([#2241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2241)) - -## Version 1.23.0/0.44b0 (2024-02-23) - -- Drop support for 3.7 - ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) -- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector - ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) -- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times - ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka - ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) -- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) - ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) -- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call - ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) -- AwsLambdaInstrumentor handles and re-raises function exception - ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245)) - -### Added - -- `opentelemetry-instrumentation-psycopg` Initial release for psycopg 3.x -- `opentelemetry-instrumentation-asgi` Add support for configuring ASGI middleware header extraction via runtime constructor parameters - ([#2026](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2026)) - -## Version 1.22.0/0.43b0 (2023-12-14) - -### Added - -- `opentelemetry-instrumentation-asyncio` Add support for asyncio - ([#1919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1943)) -- `opentelemetry-instrumentation` Added Otel semantic convention opt-in mechanism - ([#1987](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1987)) -- `opentelemetry-instrumentation-httpx` Fix mixing async and non async hooks - ([#1920](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1920)) -- `opentelemetry-instrumentation-requests` Implement new semantic convention opt-in with stable http semantic conventions - ([#2002](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2002)) -- `opentelemetry-instrument-grpc` Fix arity of context.abort for AIO RPCs - ([#2066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2066)) -- Consolidate instrumentation suppression mechanisms and fix bug in httpx instrumentation - ([#2061](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2061)) - -### Fixed - -- `opentelemetry-instrumentation-httpx` Remove URL credentials - ([#2020](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2020)) -- `opentelemetry-instrumentation-urllib`/`opentelemetry-instrumentation-urllib3` Fix metric descriptions to match semantic conventions - ([#1959](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1959)) -- `opentelemetry-resource-detector-azure` Added dependency for Cloud Resource ID attribute - ([#2072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2072)) - -## Version 1.21.0/0.42b0 (2023-11-01) - -### Added - -- `opentelemetry-instrumentation-aiohttp-server` Add instrumentor and auto instrumentation support for aiohttp-server - ([#1800](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1800)) -- `opentelemetry-instrumentation-botocore` Include SNS topic ARN as a span attribute with name `messaging.destination.name` to uniquely identify the SNS topic - ([#1995](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1995)) -- `opentelemetry-instrumentation-system-metrics` Add support for collecting process metrics - ([#1948](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1948)) -- Added schema_url (`"https://opentelemetry.io/schemas/1.11.0"`) to all metrics and traces - ([#1977](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1977)) - -### Fixed - -- `opentelemetry-instrumentation-aio-pika` and `opentelemetry-instrumentation-pika` Fix missing trace context propagation when trace not recording. - ([#1969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1969)) -- Fix version of Flask dependency `werkzeug` - ([#1980](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1980)) -- `opentelemetry-resource-detector-azure` Using new Cloud Resource ID attribute. - ([#1976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1976)) -- Do not collect `system.network.connections` by default on macOS which was causing exceptions in metrics collection. - ([#2008](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2008)) - -## Version 1.20.0/0.41b0 (2023-09-01) - -### Fixed - -- `opentelemetry-instrumentation-asgi` Fix UnboundLocalError local variable 'start' referenced before assignment - ([#1889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1889)) -- Fixed union typing error not compatible with Python 3.7 introduced in `opentelemetry-util-http`, fix tests introduced by patch related to sanitize method for wsgi - ([#1913](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1913)) -- `opentelemetry-instrumentation-celery` Unwrap Celery's `ExceptionInfo` errors and report the actual exception that was raised. ([#1863](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1863)) - -### Added - -- `opentelemetry-resource-detector-azure` Add resource detectors for Azure App Service and VM - ([#1901](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1901)) -- `opentelemetry-instrumentation-flask` Add support for Flask 3.0.0 - ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2013)) - -## Version 1.19.0/0.40b0 (2023-07-13) - -- `opentelemetry-instrumentation-asgi` Add `http.server.request.size` metric - ([#1867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1867)) - -### Fixed - -- `opentelemetry-instrumentation-django` Fix empty span name when using - `path("", ...)` ([#1788](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1788) -- Fix elastic-search instrumentation sanitization to support bulk queries - ([#1870](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1870)) -- Update falcon instrumentation to follow semantic conventions - ([#1824](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1824)) -- Fix sqlalchemy instrumentation wrap methods to accept sqlcommenter options - ([#1873](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1873)) -- Exclude background task execution from root server span in ASGI middleware - ([#1952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1952)) - -### Added - -- Add instrumentor support for cassandra and scylla - ([#1902](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1902)) -- Add instrumentor support for mysqlclient - ([#1744](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1744)) -- Fix async redis clients not being traced correctly - ([#1830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1830)) -- Make Flask request span attributes available for `start_span`. - ([#1784](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1784)) -- Fix falcon instrumentation's usage of Span Status to only set the description if the status code is ERROR. - ([#1840](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1840)) -- Instrument all httpx versions >= 0.18. - ([#1748](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1748)) -- Fix `Invalid type NoneType for attribute X (opentelemetry-instrumentation-aws-lambda)` error when some attributes do not exist - ([#1780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1780)) -- Add metric instrumentation for celery - ([#1679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1679)) -- `opentelemetry-instrumentation-asgi` Add `http.server.response.size` metric - ([#1789](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1789)) -- `opentelemetry-instrumentation-grpc` Allow gRPC connections via Unix socket - ([#1833](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1833)) -- Fix elasticsearch `Transport.perform_request` instrument wrap for elasticsearch >= 8 - ([#1810](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1810)) -- `opentelemetry-instrumentation-urllib3` Add support for urllib3 version 2 - ([#1879](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1879)) -- Add optional distro and configurator selection for auto-instrumentation - ([#1823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1823)) -- `opentelemetry-instrumentation-django` - Add option to add Opentelemetry middleware at specific position in middleware chain - ([#2912]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2912) - -### Added - -- `opentelemetry-instrumentation-kafka-python` Add instrumentation to `consume` method - ([#1786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1786)) - -## Version 1.18.0/0.39b0 (2023-05-10) - -- Update runtime metrics to follow semantic conventions - ([#1735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1735)) -- Add request and response hooks for GRPC instrumentation (client only) - ([#1706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1706)) -- Fix memory leak in SQLAlchemy instrumentation where disposed `Engine` does not get garbage collected - ([#1771](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1771)) -- `opentelemetry-instrumentation-pymemcache` Update instrumentation to support pymemcache >4 - ([#1764](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1764)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions of confluent_kafka - ([#1815](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1815)) - -### Added - -- Expand sqlalchemy pool.name to follow the semantic conventions - ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) -- Add `excluded_urls` functionality to `urllib` and `urllib3` instrumentations - ([#1733](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1733)) -- Make Django request span attributes available for `start_span`. - ([#1730](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1730)) -- Make ASGI request span attributes available for `start_span`. - ([#1762](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1762)) -- `opentelemetry-instrumentation-celery` Add support for anonymous tasks. - ([#1407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1407)) -- `opentelemetry-instrumentation-logging` Add `otelTraceSampled` to instrumetation-logging - ([#1773](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1773)) - -### Changed - -- `opentelemetry-instrumentation-botocore` now uses the AWS X-Ray propagator by default - ([#1741](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1741)) - -### Fixed - -- Fix redis db.statements to be sanitized by default - ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) -- Fix elasticsearch db.statement attribute to be sanitized by default - ([#1758](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1758)) -- Fix `AttributeError` when AWS Lambda handler receives a list event - ([#1738](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1738)) -- Fix `None does not implement middleware` error when there are no middlewares registered - ([#1766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1766)) -- Fix Flask instrumentation to only close the span if it was created by the same request context. - ([#1692](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1692)) - -### Changed - -- Update HTTP server/client instrumentation span names to comply with spec - ([#1759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1759)) - -## Version 1.17.0/0.38b0 (2023-03-22) - -### Added - -- Add connection attributes to sqlalchemy connect span - ([#1608](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1608)) -- Add support for enabling Redis sanitization from environment variable - ([#1690](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1690)) -- Add metrics instrumentation for sqlalchemy - ([#1645](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1645)) - -### Fixed - -- Fix Flask instrumentation to only close the span if it was created by the same thread. - ([#1654](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1654)) -- Fix confluent-kafka instrumentation by allowing Producer headers to be dict or list - ([#1655](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1655)) -- `opentelemetry-instrumentation-system-metrics` Fix initialization of the instrumentation class when configuration is provided - ([#1438](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1439)) -- Fix exception in Urllib3 when dealing with filelike body. - ([#1399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1399)) -- Fix httpx resource warnings - ([#1695](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1695)) - -### Changed - -- `opentelemetry-instrumentation-requests` Replace `name_callback` and `span_callback` with standard `response_hook` and `request_hook` callbacks - ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) - -## Version 1.16.0/0.37b0 (2023-02-17) - -### Added - -- Support `aio_pika` 9.x (([#1670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1670]) -- `opentelemetry-instrumentation-redis` Add `sanitize_query` config option to allow query sanitization. ([#1572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1572)) -- `opentelemetry-instrumentation-elasticsearch` Add optional db.statement query sanitization. - ([#1598](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1598)) -- `opentelemetry-instrumentation-celery` Record exceptions as events on the span. - ([#1573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1573)) -- Add metric instrumentation for urllib - ([#1553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1553)) -- `opentelemetry/sdk/extension/aws` Implement [`aws.ecs.*`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/cloud_provider/aws/ecs.md) and [`aws.logs.*`](https://opentelemetry.io/docs/reference/specification/resource/semantic_conventions/cloud_provider/aws/logs/) resource attributes in the `AwsEcsResourceDetector` detector when the ECS Metadata v4 is available - ([#1212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1212)) -- `opentelemetry-instrumentation-aio-pika` Support `aio_pika` 8.x - ([#1481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1481)) -- `opentelemetry-instrumentation-aws-lambda` Flush `MeterProvider` at end of function invocation. - ([#1613](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1613)) -- Fix aiohttp bug with unset `trace_configs` - ([#1592](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1592)) -- `opentelemetry-instrumentation-django` Allow explicit `excluded_urls` configuration through `instrument()` - ([#1618](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1618)) - -### Fixed - -- Fix TortoiseORM instrumentation `AttributeError: type object 'Config' has no attribute 'title'` - ([#1575](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1575)) -- Fix SQLAlchemy uninstrumentation - ([#1581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1581)) -- `opentelemetry-instrumentation-grpc` Fix code()/details() of \_OpentelemetryServicerContext. - ([#1578](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1578)) -- Fix aiopg instrumentation to work with aiopg < 2.0.0 - ([#1473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1473)) -- `opentelemetry-instrumentation-aws-lambda` Adds an option to configure `disable_aws_context_propagation` by - environment variable: `OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION` - ([#1507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1507)) -- Fix pymongo to collect the property DB_MONGODB_COLLECTION - ([#1555](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1555)) -- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter to correctly fetch values from carrier headers. - ([#1435](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1435)) -- mongo db - fix db statement capturing - ([#1512](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1512)) -- Add commit method for ConfluentKafkaInstrumentor's ProxiedConsumer - ([#1656](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1656)) - -## Version 1.15.0/0.36b0 (2022-12-10) - -- Add uninstrument test for sqlalchemy - ([#1471](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1471)) -- `opentelemetry-instrumentation-tortoiseorm` Initial release - ([#685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/685)) -- Add metric instrumentation for tornado - ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) -- `opentelemetry-instrumentation-aws-lambda` Add option to disable aws context propagation - ([#1466](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1466)) - -### Added - -- `opentelemetry-resource-detector-container` Add support resource detection of container properties. - ([#1584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1584)) -- `opentelemetry-instrumentation-pymysql` Add tests for commit() and rollback(). - ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) -- `opentelemetry-instrumentation-fastapi` Add support for regular expression matching and sanitization of HTTP headers. - ([#1403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1403)) -- `opentelemetry-instrumentation-botocore` add support for `messaging.*` in the sqs extension. - ([#1350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1350)) -- `opentelemetry-instrumentation-starlette` Add support for regular expression matching and sanitization of HTTP headers. - ([#1404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1404)) -- `opentelemetry-instrumentation-botocore` Add support for SNS `publish` and `publish_batch`. - ([#1409](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1409)) -- Strip leading comments from SQL queries when generating the span name. - ([#1434](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1434)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for the latest versions of the library. - ([#1468](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1468)) - -### Fixed - -- Fix bug in Urllib instrumentation - add status code to span attributes only if the status code is not None. - ([#1430](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1430)) -- `opentelemetry-instrumentation-aiohttp-client` Allow overriding of status in response hook. - ([#1394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1394)) -- `opentelemetry-instrumentation-pymysql` Fix dbapi connection instrument wrapper has no \_sock member. - ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) -- `opentelemetry-instrumentation-dbapi` Fix the check for the connection already being instrumented in instrument_connection(). - ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) -- Remove db.name attribute from Redis instrumentation - ([#1427](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1427)) -- `opentelemetry-instrumentation-asgi` Fix target extraction for duration metric - ([#1461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1461)) -- Add grpc.aio instrumentation to package entry points - ([#1442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1442)) -- Fix a bug in SQLAlchemy instrumentation - support disabling enable_commenter variable - ([#1440](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1440)) - -## Version 1.14.0/0.35b0 (2022-11-03) - -### Deprecated - -- `opentelemetry-distro` Deprecate `otlp_proto_grpc` and `otlp_proto_http` in favor of using - `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` as according to specifications - ([#1250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1250)) - -### Added - -- Capture common HTTP attributes from API Gateway proxy events in `opentelemetry-instrumentation-aws-lambda` - ([#1233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1233)) -- Add metric instrumentation for tornado - ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) -- `opentelemetry-instrumentation-django` Fixed bug where auto-instrumentation fails when django is installed and settings are not configured. - ([#1369](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1369)) -- `opentelemetry-instrumentation-system-metrics` add supports to collect system thread count. ([#1339](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1339)) -- `opentelemetry-exporter-richconsole` Fixing RichConsoleExpoter to allow multiple traces, fixing duplicate spans and include resources ([#1336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1336)) -- `opentelemetry-instrumentation-asgi` Add support for regular expression matching and sanitization of HTTP headers. - ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) -- `opentelemetry-instrumentation-asgi` metrics record target attribute (FastAPI only) - ([#1323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1323)) -- `opentelemetry-instrumentation-wsgi` Add support for regular expression matching and sanitization of HTTP headers. - ([#1402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1402)) -- Add support for py3.11 - ([#1415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1415)) -- `opentelemetry-instrumentation-django` Add support for regular expression matching and sanitization of HTTP headers. - ([#1411](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1411)) -- `opentelemetry-instrumentation-falcon` Add support for regular expression matching and sanitization of HTTP headers. - ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) -- `opentelemetry-instrumentation-flask` Add support for regular expression matching and sanitization of HTTP headers. - ([#1413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1413)) -- `opentelemetry-instrumentation-pyramid` Add support for regular expression matching and sanitization of HTTP headers. - ([#1414](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1414)) -- `opentelemetry-instrumentation-grpc` Add support for grpc.aio Clients and Servers - ([#1245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1245)) -- Add metric exporter for Prometheus Remote Write - ([#1359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1359)) - -### Fixed - -- Fix bug in Falcon instrumentation - ([#1377](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1377)) -- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter so it decodes the keys before returning them. - ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) -- `opentelemetry-instrumentation-asgi` Make ASGIGetter.get() compare all keys in a case insensitive manner. - ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) -- Use resp.text instead of resp.body for Falcon 3 to avoid a deprecation warning. - ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) - -## Version 1.13.0/0.34b0 (2022-09-26) - -- `opentelemetry-instrumentation-asyncpg` Fix high cardinality in the span name - ([#1324](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1324)) - -### Added - -- `opentelemetry-instrumentation-grpc` add supports to filter requests to instrument. - ([#1241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1241)) -- Flask sqlalchemy psycopg2 integration - ([#1224](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1224)) -- Add metric instrumentation in Falcon - ([#1230](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1230)) -- Add metric instrumentation in fastapi - ([#1199](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1199)) -- Add metric instrumentation in Pyramid - ([#1242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1242)) -- `opentelemetry-util-http` Add support for sanitizing HTTP header values. - ([#1253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1253)) -- Add metric instrumentation in starlette - ([#1327](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1327)) - -### Fixed - -- `opentelemetry-instrumentation-kafka-python`: wait for metadata - ([#1260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1260)) -- `opentelemetry-instrumentation-boto3sqs` Make propagation compatible with other SQS instrumentations, add 'messaging.url' span attribute, and fix missing package dependencies. - ([#1234](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1234)) -- `opentelemetry-instrumentation-pymongo` Change span names to not contain queries but only database name and command name - ([#1247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1247)) -- restoring metrics in django framework - ([#1208](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1208)) -- `opentelemetry-instrumentation-aiohttp-client` Fix producing additional spans with each newly created ClientSession -- ([#1246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1246)) -- Add \_is_opentelemetry_instrumented check in \_InstrumentedFastAPI class - ([#1313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1313)) -- Fix uninstrumentation of existing app instances in FastAPI - ([#1258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1258)) -- Fix uninstrumentation of existing app instances in falcon - ([#1341]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1341) - -## Version 1.12.0/0.33b0 (2022-08-08) - -- Adding multiple db connections support for django-instrumentation's sqlcommenter - ([#1187](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1187)) -- SQLCommenter semicolon bug fix - ([#1200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1200/files)) -- Adding sqlalchemy native tags in sqlalchemy commenter - ([#1206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1206)) -- Add psycopg2 native tags to sqlcommenter - ([#1203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1203)) - -### Added - -- `opentelemetry-instrumentation-redis` add support to instrument RedisCluster clients - ([#1177](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1177)) -- `opentelemetry-instrumentation-sqlalchemy` Added span for the connection phase ([#1133](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1133)) -- Add metric instrumentation in asgi - ([#1197](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1197)) -- Add metric instrumentation for flask - ([#1186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1186)) -- Add a test for asgi using NoOpTracerProvider - ([#1367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1367)) - -## [1.12.0rc2-0.32b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0rc2-0.32b0) - 2022-07-01 - -- Pyramid: Only categorize 500s server exceptions as errors - ([#1037](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1037)) - -### Fixed - -- Fix bug in system metrics by checking their configuration - ([#1129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1129)) -- Adding escape call to fix [auto-instrumentation not producing spans on Windows](https://github.com/open-telemetry/opentelemetry-python/issues/2703). - ([#1100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1100)) -- `opentelemetry-instrumentation-grpc` narrow protobuf dependency to exclude protobuf >= 4 - ([#1109](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1109)) -- cleanup type hints for textmap `Getter` and `Setter` classes -- Suppressing downstream HTTP instrumentation to avoid [extra spans](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/930) - ([#1116](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1116)) -- fixed typo in `system.network.io` metric configuration - ([#1135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1135)) - -### Added - -- `opentelemetry-instrumentation-aiohttp-client` Add support for optional custom trace_configs argument. - ([1079](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1079)) -- `opentelemetry-instrumentation-sqlalchemy` add support to instrument multiple engines - ([#1132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1132)) -- `opentelemetry-instrumentation-logging` add log hook support - ([#1117](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1117)) -- `opentelemetry-instrumentation-remoulade` Initial release - ([#1082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1082)) -- Added `opentelemetry-instrumention-confluent-kafka` - ([#1111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1111)) -- Set otlp-proto-grpc as the default metrics exporter for auto-instrumentation - ([#1127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1127)) -- Add metric instrumentation for WSGI - ([#1128](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1128)) -- Add metric instrumentation for Urllib3 - ([#1198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1198)) -- `opentelemetry-instrumentation-aio-pika` added RabbitMQ aio-pika module instrumentation. - ([#1095](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1095)) -- `opentelemetry-instrumentation-requests` Restoring metrics in requests - ([#1110](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1110)) -- Integrated sqlcommenter plugin into opentelemetry-instrumentation-django - ([#896](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/896)) - -## Version 1.12.0rc1/0.31b0 (2022-05-17) - -### Fixed - -- `opentelemetry-instrumentation-aiohttp-client` make span attributes available to sampler - ([#1072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1072)) -- `opentelemetry-instrumentation-aws-lambda` Fixed an issue - in some rare cases (API GW proxy integration test) - headers are set to None, breaking context propagators. - ([#1055](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1055)) -- Refactoring custom header collection API for consistency - ([#1064](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1064)) -- `opentelemetry-instrumentation-sqlalchemy` will correctly report `otel.library.name` - ([#1086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1086)) -- `opentelemetry-sdk-extension-aws` change timeout for AWS EC2 and EKS metadata requests from 1000 seconds and 2000 seconds to 1 second - -### Added - -- `opentelemetry-instrument` and `opentelemetry-bootstrap` now include a `--version` flag - ([#1065](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1065)) -- `opentelemetry-instrumentation-redis` now instruments asynchronous Redis clients, if the installed redis-py includes async support (>=4.2.0). - ([#1076](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1076)) -- `opentelemetry-instrumentation-boto3sqs` added AWS's SQS instrumentation. - ([#1081](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1081)) - -## Version 1.11.1/0.30b1 (2022-04-21) - -### Added - -- `opentelemetry-instrumentation-starlette` Capture custom request/response headers in span attributes - ([#1046](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1046)) - -### Fixed - -- Prune autoinstrumentation sitecustomize module directory from PYTHONPATH immediately - ([#1066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1066)) - -## Version 1.11.0/0.30b0 (2022-04-18) - -### Fixed - -- `opentelemetry-instrumentation-pyramid` Fixed which package is the correct caller in \_traced_init. - ([#830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/830)) -- `opentelemetry-instrumentation-tornado` Fix Tornado errors mapping to 500 - ([#1048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1048)) -- `opentelemetry-instrumentation-urllib` make span attributes available to sampler - ([1014](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1014)) -- `opentelemetry-instrumentation-flask` Fix non-recording span bug - ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) -- `opentelemetry-instrumentation-tornado` Fix non-recording span bug - ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) - -### Added - -- `opentelemetry-instrumentation-fastapi` Capture custom request/response headers in span attributes - ([#1032](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1032)) -- `opentelemetry-instrumentation-django` Capture custom request/response headers in span attributes - ([#1024](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1024)) -- `opentelemetry-instrumentation-asgi` Capture custom request/response headers in span attributes - ([#1004](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1004)) -- `opentelemetry-instrumentation-psycopg2` extended the sql commenter support of dbapi into psycopg2 - ([#940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/940)) -- `opentelemetry-instrumentation-falcon` Add support for falcon==1.4.1 - ([#1000](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1000)) -- `opentelemetry-instrumentation-falcon` Falcon: Capture custom request/response headers in span attributes - ([#1003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1003)) -- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including search target, replaces them with `` and puts the value in attribute `elasticsearch.target` - ([#1018](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1018)) -- `opentelemetry-instrumentation-pyramid` Handle non-HTTPException exceptions - ([#1001](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1001)) -- `opentelemetry-instrumentation-system-metrics` restore `SystemMetrics` instrumentation as `SystemMetricsInstrumentor` - ([#1012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1012)) -- `opentelemetry-instrumentation-pyramid` Pyramid: Capture custom request/response headers in span attributes - ([#1022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1022)) - -## Version 1.10.0/0.29b0 (2022-03-10) - -- `opentelemetry-instrumentation-wsgi` Capture custom request/response headers in span attributes - ([#925](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/925)) -- `opentelemetry-instrumentation-flask` Flask: Capture custom request/response headers in span attributes - ([#952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/952)) -- `opentelemetry-instrumentation-tornado` Tornado: Capture custom request/response headers in span attributes - ([#950](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/950)) - -### Added - -- `opentelemetry-instrumentation-aws-lambda` `SpanKind.SERVER` by default, add more cases for `SpanKind.CONSUMER` services. ([#926](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/926)) -- `opentelemetry-instrumentation-sqlalchemy` added experimental sql commenter capability - ([#924](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/924)) -- `opentelemetry-contrib-instrumentations` added new meta-package that installs all contrib instrumentations. - ([#681](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/681)) -- `opentelemetry-instrumentation-dbapi` add experimental sql commenter capability - ([#908](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/908)) -- `opentelemetry-instrumentation-requests` make span attribute available to samplers - ([#931](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/931)) -- `opentelemetry-datadog-exporter` add deprecation note to example. - ([#900](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/900)) - -### Fixed - -- `opentelemetry-instrumentation-dbapi` Changed the format of traceparent id. - ([#941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/941)) -- `opentelemetry-instrumentation-logging` retrieves service name defensively. - ([#890](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/890)) -- `opentelemetry-instrumentation-wsgi` WSGI: Conditionally create SERVER spans - ([#903](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/903)) -- `opentelemetry-instrumentation-falcon` Safer patching mechanism - ([#895](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/895)) -- `opentelemetry-instrumentation-kafka-python` Fix topic extraction - ([#949](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/949)) - -### Changed - -- `opentelemetry-instrumentation-pymemcache` should run against newer versions of pymemcache. - ([#935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/935)) - -## Version 1.9.1/0.28b1 (2022-01-29) - -### Fixed - -- `opentelemetry-instrumentation-pika` requires `packaging` dependency - -- `opentelemetry-instrumentation-tornado` Tornado: Conditionally create SERVER spans - ([#889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/889)) - -## Version 1.9.0/0.28b0 (2022-01-26) - -### Added - -- `opentelemetry-instrumentation-pyramid` Pyramid: Conditionally create SERVER spans - ([#869](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/869)) -- `opentelemetry-instrumentation-grpc` added `trailing_metadata` to \_OpenTelemetryServicerContext. - ([#871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/871)) -- `opentelemetry-instrumentation-asgi` now returns a `traceresponse` response header. - ([#817](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/817)) -- `opentelemetry-instrumentation-kafka-python` added kafka-python module instrumentation. - ([#814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/814)) -- `opentelemetry-instrumentation-falcon` Falcon: Conditionally create SERVER spans - ([#867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/867)) -- `opentelemetry-instrumentation-pymongo` now supports `pymongo v4` - ([#876](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/876)) - -- `opentelemetry-instrumentation-httpx` now supports versions higher than `0.19.0`. - ([#866](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/866)) - -### Fixed - -- `opentelemetry-instrumentation-django` Django: Conditionally create SERVER spans - ([#832](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/832)) -- `opentelemetry-instrumentation-flask` Flask: Conditionally create SERVER spans - ([#828](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/828)) -- `opentelemetry-instrumentation-celery` Celery: Support partial task time limit - ([#846](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/846)) -- `opentelemetry-instrumentation-asgi` ASGI: Conditionally create SERVER spans - ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/843)) -- `opentelemetry-instrumentation-django` Django: fix issue preventing detection of MIDDLEWARE_CLASSES -- `opentelemetry-instrumentation-sqlite3` Instrumentation now works with `dbapi2.connect` -- `opentelemetry-instrumentation-kafka` Kafka: safe kafka partition extraction - ([#872](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/872)) -- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Correct url filter input type - ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/864)) - -- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Remove `span_name` from docs - ([#857](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/857)) - -## Version 1.8.0/0.27b0 (2021-12-17) - -### Added - -- `opentelemetry-instrumentation-aws-lambda` Adds support for configurable flush timeout via `OTEL_INSTRUMENTATION_AWS_LAMBDA_FLUSH_TIMEOUT` property. ([#825](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/825)) -- `opentelemetry-instrumentation-pika` Adds support for versions between `0.12.0` to `1.0.0`. ([#837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/837)) - -### Fixed - -- `opentelemetry-instrumentation-urllib` Fixed an error on unexpected status values. - ([#823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/823)) - -- `opentelemetry-exporter-richconsole` Fixed attribute error on parentless spans. - ([#782](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/782)) - -- `opentelemetry-instrumentation-tornado` Add support instrumentation for Tornado 5.1.1 - ([#812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/812)) - -## Version 1.7.1/0.26b1 (2021-11-11) - -### Added - -- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - pkg metadata files (Part 1/2) - ([#739](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/739)) -- Add support for Python 3.10 - ([#742](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/742)) -- Pass in auto-instrumentation version to configurator - ([#783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/783)) -- `opentelemetry-instrumentation` Add `setuptools` to `install_requires` - ([#781](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/781)) -- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - Implementation (Part 2/2) - ([#777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/777)) -- `opentelemetry-instrumentation-pymongo` Add `request_hook`, `response_hook` and `failed_hook` callbacks passed as arguments to the instrument method - ([#793](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/793)) -- `opentelemetry-instrumentation-pymysql` Add support for PyMySQL 1.x series - ([#792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/792)) -- Add support for generic OTEL_PYTHON_EXCLUDED_URLS variable - ([#790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/790)) - -### Fixed - -- `opentelemetry-instrumentation-asgi` now explicitly depends on asgiref as it uses the package instead of instrumenting it. - ([#765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/765)) -- `opentelemetry-instrumentation-pika` now propagates context to basic_consume callback - ([#766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/766)) -- `opentelemetry-instrumentation-falcon` Dropped broken support for Python 3.4. - ([#774](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/774)) -- `opentelemetry-instrumentation-django` Fixed carrier usage on ASGI requests. - ([#767](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/767)) -- Don't set Span Status on 4xx http status code for SpanKind.SERVER spans - ([#776](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/776)) -- `opentelemetry-instrumentation-django` Fixed instrumentation and tests for all Django major versions. - ([#780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/780)) - -## Version 1.6.2/0.25b2 (2021-10-19) - -- `opentelemetry-instrumentation-sqlalchemy` Fix PostgreSQL instrumentation for Unix sockets - ([#761](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/761)) - -### Changed - -- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Release AWS Python SDK Extension as 2.0.1 and AWS Propagator as 1.0.1 - ([#753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/753)) -- `opentelemetry-instrumentation-pika` Add `_decorate_basic_consume` to ensure post instrumentation `basic_consume` calls are also instrumented. - ([#759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/759)) -- Consolidate instrumentation documentation in docstrings - ([#754](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/754)) - -### Fixed - -- `opentelemetry-distro` uses the correct entrypoint name which was updated in the core release of 1.6.0 but the distro was not updated with it - ([#755](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/755)) - -### Added - -- `opentelemetry-instrumentation-pika` Add `publish_hook` and `consume_hook` callbacks passed as arguments to the instrument method - ([#763](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/763)) - -## Version 1.6.1/0.25b1 (2021-10-18) - -### Changed - -- `opentelemetry-util-http` no longer contains an instrumentation entrypoint and will not be loaded - automatically by the auto instrumentor. - ([#745](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/745)) -- `opentelemetry-instrumentation-pika` Bugfix use properties.headers. It will prevent the header injection from raising. - ([#740](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/740)) -- `opentelemetry-instrumentation-botocore` Add extension for DynamoDB - ([#735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/735)) -- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Remove unnecessary dependencies on `opentelemetry-test` - ([#752](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/752)) -- `opentelemetry-instrumentation-botocore` Add Lambda extension - ([#760](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/760)) - -## Version 1.6.0/0.25b0 (2021-10-13) - -### Added - -- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 - ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) -- `opentelemetry-instrumentation-urllib3`, `opentelemetry-instrumentation-requests` - The `net.peer.ip` attribute is set to the IP of the connected HTTP server or proxy - using a new instrumentor in `opententelemetry-util-http` - ([#661](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/661)) -- `opentelemetry-instrumentation-pymongo` Add check for suppression key in PyMongo. - ([#736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/736)) -- `opentelemetry-instrumentation-elasticsearch` Added `response_hook` and `request_hook` callbacks - ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) -- `opentelemetry-instrumentation-redis` added request_hook and response_hook callbacks passed as arguments to the instrument method. - ([#669](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/669)) -- `opentelemetry-instrumentation-botocore` add `request_hook` and `response_hook` callbacks - ([679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/679)) -- `opentelemetry-exporter-richconsole` Initial release - ([#686](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/686)) -- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including document IDs, replaces them with `:id` and puts the value in attribute `elasticsearch.id` - ([#705](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/705)) -- `opentelemetry-instrumentation-tornado` now sets `http.client_ip` and `tornado.handler` attributes - ([#706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/706)) -- `opentelemetry-instrumentation-requests` added exclude urls functionality - ([#714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/714)) -- `opentelemetry-instrumentation-django` Add ASGI support - ([#391](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/391)) - -### Changed - -- `opentelemetry-instrumentation-flask` Fix `RuntimeError: Working outside of request context` - ([#734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/734)) -- `opentelemetry-propagators-aws-xray` Rename `AwsXRayFormat` to `AwsXRayPropagator` - ([#729](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/729)) -- `opentelemetry-instrumentation-sqlalchemy` Respect provided tracer provider when instrumenting SQLAlchemy - ([#728](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/728)) -- `opentelemetry-sdk-extension-aws` Move AWS X-Ray Propagator into its own `opentelemetry-propagators-aws` package - ([#720](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/720)) -- `opentelemetry-instrumentation-sqlalchemy` Added `packaging` dependency - ([#713](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/713)) -- `opentelemetry-instrumentation-jinja2` Allow instrumentation of newer Jinja2 versions. - ([#712](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/712)) -- `opentelemetry-instrumentation-botocore` Make common span attributes compliant with semantic conventions - ([#674](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/674)) -- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 - ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) -- `opentelemetry-instrumentation-botocore` Unpatch botocore Endpoint.prepare_request on uninstrument - ([#664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/664)) -- `opentelemetry-instrumentation-botocore` Fix span injection for lambda invoke - ([#663](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/663)) -- `opentelemetry-instrumentation-botocore` Introduce instrumentation extensions - ([#718](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/718)) -- `opentelemetry-instrumentation-urllib3` Updated `_RequestHookT` with two additional fields - the request body and the request headers - ([#660](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/660)) -- Tests for Falcon 3 support - ([#644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/644)) - -## Version 1.5.0/0.24b0 (2021-08-26) - -### Added - -- `opentelemetry-sdk-extension-aws` Add AWS resource detectors to extension package - ([#586](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/586)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-aiohttp-client`, `openetelemetry-instrumentation-fastapi`, - `opentelemetry-instrumentation-starlette`, `opentelemetry-instrumentation-urllib`, `opentelemetry-instrumentation-urllib3` Added `request_hook` and `response_hook` callbacks - ([#576](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/576)) -- `opentelemetry-instrumentation-pika` added RabbitMQ's pika module instrumentation. - ([#680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/680)) - -### Changed - -- `opentelemetry-instrumentation-fastapi` Allow instrumentation of newer FastAPI versions. - ([#602](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/602)) -- Enable explicit `excluded_urls` argument in `opentelemetry-instrumentation-flask` - ([#604](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/604)) - -## Version 1.4.0/0.23b0 (2021-07-21) - -### Removed - -- Move `opentelemetry-instrumentation` to the core repo. - ([#595](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/595)) - -### Changed - -- `opentelemetry-instrumentation-falcon` added support for Falcon 3. - ([#607](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/607)) -- `opentelemetry-instrumentation-tornado` properly instrument work done in tornado on_finish method. - ([#499](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/499)) -- `opentelemetry-instrumentation` Fixed cases where trying to use an instrumentation package without the - target library was crashing auto instrumentation agent. - ([#530](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/530)) -- Fix weak reference error for pyodbc cursor in SQLAlchemy instrumentation. - ([#469](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/469)) -- Implemented specification that HTTP span attributes must not contain username and password. - ([#538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/538)) -- Changed the psycopg2-binary to psycopg2 as dependency in production - ([#543](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/543)) -- Implement consistent way of checking if instrumentation is already active - ([#549](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/549)) -- Require aiopg to be less than 1.3.0 - ([#560](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/560)) -- `opentelemetry-instrumentation-django` Migrated Django middleware to new-style. - ([#533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/533)) -- Updating dependency for opentelemetry api/sdk packages to support major version instead - of pinning to specific versions. - ([#567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/567)) -- `opentelemetry-instrumentation-grpc` Respect the suppress instrumentation in gRPC client instrumentor - ([#559](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/559)) -- `opentelemetry-instrumentation-grpc` Fixed asynchronous unary call traces - ([#536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/536)) -- `opentelemetry-sdk-extension-aws` Update AWS entry points to match spec - ([#566](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/566)) -- Include Flask 2.0 as compatible with existing flask instrumentation - ([#545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/545)) -- `openelemetry-sdk-extension-aws` Take a dependency on `opentelemetry-sdk` - ([#558](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/558)) -- Change `opentelemetry-instrumentation-httpx` to replace `client` classes with instrumented versions. - ([#577](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/577)) -- `opentelemetry-instrumentation-requests` Fix potential `AttributeError` when `requests` - is used with a custom transport adapter. - ([#562](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/562)) -- `opentelemetry-instrumentation-django` Fix AttributeError: ResolverMatch object has no attribute route - ([#581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/581)) -- `opentelemetry-instrumentation-botocore` Suppress botocore downstream instrumentation like urllib3 - ([#563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/563)) -- `opentelemetry-exporter-datadog` Datadog exporter should not use `unknown_service` as fallback resource service name. - ([#570](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/570)) -- Add support for the async extension of SQLAlchemy (>= 1.4) - ([#568](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/568)) - -### Added - -- `opentelemetry-instrumentation-httpx` Add `httpx` instrumentation - ([#461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/461)) - -## Version 1.3.0/0.22b0 (2021-06-01) - -### Changed - -- `opentelemetry-bootstrap` not longer forcibly removes and re-installs libraries and their instrumentations. - This means running bootstrap will not auto-upgrade existing dependencies and as a result not cause dependency - conflicts. - ([#514](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/514)) -- `opentelemetry-instrumentation-asgi` Set the response status code on the server span - ([#478](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/478)) -- `opentelemetry-instrumentation-tornado` Fixed cases where description was used with non- - error status code when creating Status objects. - ([#504](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/504)) -- `opentelemetry-instrumentation-asgi` Fix instrumentation default span name. - ([#418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/418)) -- Propagators use the root context as default for `extract` and do not modify - the context if extracting from carrier does not work. - ([#488](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/488)) - -### Added - -- `opentelemetry-instrumentation-botocore` now supports - context propagation for lambda invoke via Payload embedded headers. - ([#458](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/458)) -- Added support for CreateKey functionality. - ([#502](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/502)) - -## Version 1.2.0/0.21b0 (2021-05-11) - -### Changed - -- Instrumentation packages don't specify the libraries they instrument as dependencies - anymore. Instead, they verify the correct version of libraries are installed at runtime. - ([#475](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/475)) -- `opentelemetry-propagator-ot-trace` Use `TraceFlags` object in `extract` - ([#472](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/472)) -- Set the `traced_request_attrs` of FalconInstrumentor by an argument correctly. - ([#473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/473)) -- Enable passing explicit urls to exclude in instrumentation in FastAPI - ([#486](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/486)) -- Distros can now implement `load_instrumentor(EntryPoint)` method to customize instrumentor - loading behaviour. - ([#480](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/480)) -- Fix entrypoint for ottrace propagator - ([#492](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/492)) - -### Added - -- Move `opentelemetry-instrumentation` from core repository - ([#465](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/465)) - -## Version 0.20b0 (2021-04-20) - -### Changed - -- Restrict DataDog exporter's `ddtrace` dependency to known working versions. - ([#400](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/400)) -- GRPC instrumentation now correctly injects trace context into outgoing requests. - ([#392](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/39)) -- Publish `opentelemetry-propagator-ot-trace` package as a part of the release process - ([#387](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/387)) -- Update redis instrumentation to follow semantic conventions - ([#403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/403)) -- Update instrumentations to use tracer_provider for creating tracer if given, otherwise use global tracer provider - ([#402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/402)) -- `opentelemetry-instrumentation-wsgi` Replaced `name_callback` with `request_hook` - and `response_hook` callbacks. - ([#424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/424)) -- Update gRPC instrumentation to better wrap server context - ([#420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/420)) -- `opentelemetry-instrumentation-redis` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) - ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) -- `opentelemetry-instrumentation-asyncpg` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) - ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) - -### Added - -- `opentelemetry-instrumentation-urllib3` Add urllib3 instrumentation - ([#299](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/299)) - -- `opentelemetry-instrumentation-flask` Added `request_hook` and `response_hook` callbacks. - ([#416](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/416)) - -- `opentelemetry-instrumenation-django` now supports request and response hooks. - ([#407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/407)) -- `opentelemetry-instrumentation-falcon` FalconInstrumentor now supports request/response hooks. - ([#415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/415)) -- `opentelemetry-instrumentation-tornado` Add request/response hooks. - ([#426](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/426)) -- `opentelemetry-exporter-datadog` Add parsing exception events for error tags. - ([#459](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/459)) -- `opentelemetry-instrumenation-django` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-tornado` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-pyramid` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-falcon` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-flask` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumentation-grpc` Keep client interceptor in sync with grpc client interceptors. - ([#442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/442)) - -### Removed - -- Remove `http.status_text` from span attributes - ([#406](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/406)) - -## Version 0.19b0 (2021-03-26) - -- Implement context methods for `_InterceptorChannel` - ([#363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/363)) - -### Changed - -- Rename `IdsGenerator` to `IdGenerator` - ([#350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/350)) -- `opentelemetry-exporter-datadog` Fix warning when DatadogFormat encounters a request with - no DD_ORIGIN headers ([#368](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/368)). -- `opentelemetry-instrumentation-aiopg` Fix multiple nested spans when - `aiopg.pool` is used - ([#336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/381)). -- Updated instrumentations to use `opentelemetry.trace.use_span` instead of `Tracer.use_span()` - ([#364](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/364)) -- `opentelemetry-propagator-ot-trace` Do not throw an exception when headers are not present - ([#378](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/378)) -- `opentelemetry-instrumentation-wsgi` Reimplement `keys` method to return actual keys from the carrier instead of an empty list. - ([#379](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/379)) -- `opentelemetry-instrumentation-sqlalchemy` Fix multithreading issues in recording spans from SQLAlchemy - ([#315](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/315)) -- Make getters and setters optional - ([#372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/372)) - -### Removed - -- Removing support for Python 3.5 - ([#374](https://github.com/open-telemetry/opentelemetry-python/pull/374)) - -## Version 0.18b0 (2021-02-16) - -### Added - -- `opentelemetry-propagator-ot-trace` Add OT Trace Propagator - ([#302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/302)) -- `opentelemetry-instrumentation-logging` Added logging instrumentation to enable log - trace correlation. - ([#345](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/345)) - -### Removed - -- Remove `component` span attribute in instrumentations. - `opentelemetry-instrumentation-aiopg`, `opentelemetry-instrumentation-dbapi` Remove unused `database_type` parameter from `trace_integration` function. - ([#301](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/301)) -- `opentelemetry-instrumentation-asgi` Return header values using case insensitive keys - ([#308](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/308)) -- Remove metrics from all instrumentations - ([#312](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/312)) -- `opentelemetry-instrumentation-boto` updated to set span attributes instead of overriding the resource. - ([#310](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/310)) -- `opentelemetry-instrumentation-grpc` Fix issue tracking child spans in streaming responses - ([#260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/260)) -- `opentelemetry-instrumentation-grpc` Updated client attributes, added tests, fixed examples, docs - ([#269](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/269)) - -## Version 0.17b0 (2021-01-20) - -### Added - -- `opentelemetry-instrumentation-sqlalchemy` Ensure spans have kind set to "CLIENT" - ([#278](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/278)) -- `opentelemetry-instrumentation-celery` Add support for Celery version 5.x - ([#266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/266)) -- `opentelemetry-instrumentation-urllib` Add urllib instrumentation - ([#222](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/222)) -- `opentelemetry-exporter-datadog` Add fields method - ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) -- `opentelemetry-sdk-extension-aws` Add method to return fields injected by propagator - ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) -- `opentelemetry-exporter-prometheus-remote-write` Prometheus Remote Write Exporter Setup - ([#180](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/180)) -- `opentelemetry-exporter-prometheus-remote-write` Add Exporter constructor validation methods in Prometheus Remote Write Exporter - ([#206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/206)) -- `opentelemetry-exporter-prometheus-remote-write` Add conversion to TimeSeries methods in Prometheus Remote Write Exporter - ([#207](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/207)) -- `opentelemetry-exporter-prometheus-remote-write` Add request methods to Prometheus Remote Write Exporter - ([#212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/212)) -- `opentelemetry-instrumentation-fastapi` Added support for excluding some routes with env var `OTEL_PYTHON_FASTAPI_EXCLUDED_URLS` - ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) -- `opentelemetry-instrumentation-starlette` Added support for excluding some routes with env var `OTEL_PYTHON_STARLETTE_EXCLUDED_URLS` - ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) -- Add Prometheus Remote Write Exporter integration tests in opentelemetry-docker-tests - ([#216](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/216)) -- `opentelemetry-instrumentation-grpc` Add tests for grpc span attributes, grpc `abort()` conditions - ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) -- Add README and example app for Prometheus Remote Write Exporter - ([#227](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/227])) -- `opentelemetry-instrumentation-botocore` Adds a field to report the number of retries it take to complete an API call - ([#275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/275)) -- `opentelemetry-instrumentation-requests` Use instanceof to check if responses are valid Response objects - ([#273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/273)) - -### Changed - -- Fix broken links to project ([#413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/413)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-wsgi` Return `None` for `CarrierGetter` if key not found - ([#233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/233)) -- `opentelemetry-instrumentation-grpc` Comply with updated spec, rework tests - ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-falcon`, `opentelemetry-instrumentation-flask`, `opentelemetry-instrumentation-pyramid`, `opentelemetry-instrumentation-wsgi` Renamed `host.port` attribute to `net.host.port` - ([#242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/242)) -- `opentelemetry-instrumentation-flask` Do not emit a warning message for request contexts created with `app.test_request_context` - ([#253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/253)) -- `opentelemetry-instrumentation-requests`, `opentelemetry-instrumentation-urllib` Fix span name callback parameters - ([#259](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/259)) -- `opentelemetry-exporter-datadog` Fix unintentional type change of span trace flags - ([#261](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/261)) -- `opentelemetry-instrumentation-aiopg` Fix AttributeError `__aexit__` when `aiopg.connect` and `aio[g].create_pool` used with async context manager - ([#235](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/235)) -- `opentelemetry-exporter-datadog` `opentelemetry-sdk-extension-aws` Fix reference to ids_generator in sdk - ([#283](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/283)) -- `opentelemetry-instrumentation-sqlalchemy` Use SQL operation and DB name as span name. - ([#254](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/254)) -- `opentelemetry-instrumentation-dbapi`, `TracedCursor` replaced by `CursorTracer` - ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) -- `opentelemetry-instrumentation-psycopg2`, Added support for psycopg2 registered types. - ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) -- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-mysql`, `opentelemetry-instrumentation-pymysql`, `opentelemetry-instrumentation-aiopg` Use SQL command name as the span operation name instead of the entire query. - ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) -- Update TraceState to adhere to specs - ([#276](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/276)) - -### Removed - -- Remove Configuration - ([#285](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/285)) - -## Version 0.16b1 (2020-11-26) - -## Version 0.16b0 (2020-11-25) - -### Added - -- `opentelemetry-instrumentation-flask` Add span name callback - ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/152)) -- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Ids Generator Entry Point - ([#201](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/201)) -- `opentelemetry-sdk-extension-aws` Fix typo for installing OTel SDK in docs - ([#200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/200)) -- `opentelemetry-sdk-extension-aws` Import missing components for docs - ([#198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/198)) -- `opentelemetry-sdk-extension-aws` Provide components needed to Configure OTel SDK for Tracing with AWS X-Ray - ([#130](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/130)) -- `opentelemetry-instrumentation-sklearn` Initial release - ([#151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/151)) -- `opentelemetry-instrumentation-requests` Add span name callback - ([#158](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/158)) -- `opentelemetry-instrumentation-botocore` Add propagator injection for botocore calls - ([#181](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/181)) - -### Changed - -- `opentelemetry-instrumentation-pymemcache` Update pymemcache instrumentation to follow semantic conventions - ([#183](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/183)) -- `opentelemetry-instrumentation-redis` Update redis instrumentation to follow semantic conventions - ([#184](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/184)) -- `opentelemetry-instrumentation-pymongo` Update pymongo instrumentation to follow semantic conventions - ([#203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/203)) -- `opentelemetry-instrumentation-sqlalchemy` Update sqlalchemy instrumentation to follow semantic conventions - ([#202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/202)) -- `opentelemetry-instrumentation-botocore` Make botocore instrumentation check if instrumentation has been suppressed - ([#182](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/182)) -- `opentelemetry-instrumentation-botocore` Botocore SpanKind as CLIENT and modify existing traced attributes - ([#150](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/150)) -- `opentelemetry-instrumentation-dbapi` Update dbapi and its dependent instrumentations to follow semantic conventions - ([#195](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/195)) -- `opentelemetry-instrumentation-dbapi` Stop capturing query parameters by default - ([#156](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/156)) -- `opentelemetry-instrumentation-asyncpg` Update asyncpg instrumentation to follow semantic conventions - ([#188](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/188)) -- `opentelemetry-instrumentation-grpc` Update protobuf versions - ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) - -## Version 0.15b0 (2020-11-02) - -### Added - -- `opentelemetry-instrumentation-requests` Add support for tracking http metrics - ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) -- `opentelemetry-instrumentation-django` Added capture of http.route - ([#1226](https://github.com/open-telemetry/opentelemetry-python/issues/1226)) -- `opentelemetry-instrumentation-django` Add support for tracking http metrics - ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) - -### Changed - -- `opentelemetry-exporter-datadog` Make `SpanProcessor.on_start` accept parent Context - ([#1251](https://github.com/open-telemetry/opentelemetry-python/pull/1251)) -- `opentelemetry-instrumentation-flask` Use `url.rule` instead of `request.endpoint` for span name - ([#1260](https://github.com/open-telemetry/opentelemetry-python/pull/1260)) -- `opentelemetry-instrumentation-django` Django instrumentation is now enabled by default but can be disabled by setting `OTEL_PYTHON_DJANGO_INSTRUMENT` to `False` - ([#1239](https://github.com/open-telemetry/opentelemetry-python/pull/1239)) -- `opentelemetry-instrumentation-django` Bugfix use request.path replace request.get_full_path(). It will get correct span name - ([#1309](https://github.com/open-telemetry/opentelemetry-python/pull/1309#)) -- `opentelemetry-instrumentation-django` Record span status and http.status_code attribute on exception - ([#1257](https://github.com/open-telemetry/opentelemetry-python/pull/1257)) -- `opentelemetry-instrumentation-grpc` Rewrite gRPC server interceptor - ([#1171](https://github.com/open-telemetry/opentelemetry-python/pull/1171)) - -## Version 0.14b0 (2020-10-13) - -### Added - -- `opentelemetry-exporter-datadog` Add support for span resource labels and service name -- `opentelemetry-instrumentation-celery` Span operation names now include the task type. - ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) -- `opentelemetry-instrumentation-celery` Added automatic context propagation. - ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) -- `opentelemetry-instrumentation-falcon` Added support for `OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS` - ([#1158](https://github.com/open-telemetry/opentelemetry-python/pull/1158)) -- `opentelemetry-instrumentation-tornado` Added support for `OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS` - ([#1178](https://github.com/open-telemetry/opentelemetry-python/pull/1178)) -- `opentelemetry-instrumentation-django` Added support for `OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS` - ([#1154](https://github.com/open-telemetry/opentelemetry-python/pull/1154)) - -### Changed - -- `opentelemetry-instrumentation-pymongo` Cast PyMongo commands as strings - ([#1132](https://github.com/open-telemetry/opentelemetry-python/pull/1132)) -- `opentelemetry-instrumentation-system-metrics` Fix issue when specific metrics are not available in certain OS - ([#1207](https://github.com/open-telemetry/opentelemetry-python/pull/1207)) -- `opentelemetry-instrumentation-pymysql` Bumped version from 0.9.3 to 0.10.1 - ([#1228](https://github.com/open-telemetry/opentelemetry-python/pull/1228)) -- `opentelemetry-instrumentation-django` Changed span name extraction from request to comply semantic convention - ([#992](https://github.com/open-telemetry/opentelemetry-python/pull/992)) - -## Version 0.13b0 (2020-09-17) - -### Added - -- `opentelemetry-instrumentation-falcon` Initial release. Added instrumentation for Falcon 2.0+ -- `opentelemetry-instrumentation-tornado` Initial release. Supports Tornado 6.x on Python 3.5 and newer. -- `opentelemetry-instrumentation-aiohttp-client` Add instrumentor and auto instrumentation support for aiohttp - ([#1075](https://github.com/open-telemetry/opentelemetry-python/pull/1075)) -- `opentelemetry-instrumentation-requests` Add support for instrumenting prepared requests - ([#1040](https://github.com/open-telemetry/opentelemetry-python/pull/1040)) -- `opentelemetry-instrumentation-requests` Add support for http metrics - ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116)) - -### Changed - -- `opentelemetry-instrumentation-aiohttp-client` Updating span name to match semantic conventions - ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) -- `opentelemetry-instrumentation-dbapi` cursors and connections now produce spans when used with context managers - ([#1028](https://github.com/open-telemetry/opentelemetry-python/pull/1028)) - -### Removed - -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) - -## Version 0.12b0 (2020-08-14) - -### Changed - -- `opentelemetry-ext-pymemcache` Change package name to opentelemetry-instrumentation-pymemcache - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-redis` Update default SpanKind to `SpanKind.CLIENT` - ([#965](https://github.com/open-telemetry/opentelemetry-python/pull/965)) -- `opentelemetry-ext-redis` Change package name to opentelemetry-instrumentation-redis - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-datadog` Change package name to opentelemetry-exporter-datadog - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) -- `opentelemetry-ext-jinja2` Change package name to opentelemetry-instrumentation-jinja2 - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-elasticsearch` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-elasticsearch` Change package name to opentelemetry-instrumentation-elasticsearch - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-celery` Change package name to opentelemetry-instrumentation-celery - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-pyramid` Change package name to opentelemetry-instrumentation-pyramid - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-pyramid` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-pymongo` Change package name to opentelemetry-instrumentation-pymongo - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-sqlite3` Change package name to opentelemetry-instrumentation-sqlite3 - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-sqlalchemy` Change package name to opentelemetry-instrumentation-sqlalchemy - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-psycopg2` Change package name to opentelemetry-instrumentation-psycopg2 - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-aiohttp-client` Change package name to opentelemetry-instrumentation-aiohttp-client - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-boto` Change package name to opentelemetry-instrumentation-boto - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-system-metrics` Change package name to opentelemetry-instrumentation-system-metrics - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-asgi` Change package name to opentelemetry-instrumentation-asgi - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-wsgi` Change package name to opentelemetry-instrumentation-wsgi - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-pymysql` Change package name to opentelemetry-instrumentation-pymysql - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-requests` Change package name to opentelemetry-instrumentation-requests - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-requests` Span name reported updated to follow semantic conventions to reduce - cardinality ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) -- `opentelemetry-ext-botocore` Change package name to opentelemetry-instrumentation-botocore - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-dbapi` Change package name to opentelemetry-instrumentation-dbapi - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-flask` Change package name to opentelemetry-instrumentation-flask - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-flask` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-django` Change package name to opentelemetry-instrumentation-django - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-django` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-asyncpg` Change package name to opentelemetry-instrumentation-asyncpg - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-mysql` Change package name to opentelemetry-instrumentation-mysql - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-grpc` Change package name to opentelemetry-instrumentation-grpc - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) - -## Version 0.11b0 (2020-07-28) - -### Added - -- `opentelemetry-instrumentation-aiopg` Initial release -- `opentelemetry-instrumentation-fastapi` Initial release - ([#890](https://github.com/open-telemetry/opentelemetry-python/pull/890)) -- `opentelemetry-ext-grpc` Add status code to gRPC client spans - ([896](https://github.com/open-telemetry/opentelemetry-python/pull/896)) -- `opentelemetry-ext-grpc` Add gRPC client and server instrumentors - ([788](https://github.com/open-telemetry/opentelemetry-python/pull/788)) -- `opentelemetry-ext-grpc` Add metric recording (bytes in/out, errors, latency) to gRPC client - -### Changed - -- `opentelemetry-ext-pyramid` Use one general exclude list instead of two - ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) -- `opentelemetry-ext-boto` fails to export spans via jaeger - ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) -- `opentelemetry-ext-botocore` fails to export spans via jaeger - ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) -- `opentelemetry-ext-wsgi` Set span status on wsgi errors - ([#864](https://github.com/open-telemetry/opentelemetry-python/pull/864)) -- `opentelemetry-ext-flask` Use one general exclude list instead of two - ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) -- `opentelemetry-ext-django` Use one general exclude list instead of two - ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) -- `opentelemetry-ext-asyncpg` Shouldn't capture query parameters by default - ([#854](https://github.com/open-telemetry/opentelemetry-python/pull/854)) -- `opentelemetry-ext-mysql` bugfix: Fix auto-instrumentation entry point for mysql - ([#858](https://github.com/open-telemetry/opentelemetry-python/pull/858)) - -## Version 0.10b0 (2020-06-23) - -### Added - -- `opentelemetry-ext-pymemcache` Initial release -- `opentelemetry-ext-elasticsearch` Initial release -- `opentelemetry-ext-celery` Add instrumentation for Celery - ([#780](https://github.com/open-telemetry/opentelemetry-python/pull/780)) -- `opentelemetry-instrumentation-starlette` Initial release - ([#777](https://github.com/open-telemetry/opentelemetry-python/pull/777)) -- `opentelemetry-ext-asyncpg` Initial Release - ([#814](https://github.com/open-telemetry/opentelemetry-python/pull/814)) - -## Version 0.9b0 (2020-06-10) - -### Added - -- `opentelemetry-ext-pyramid` Initial release -- `opentelemetry-ext-boto` Initial release -- `opentelemetry-ext-botocore` Initial release -- `opentelemetry-ext-system-metrics` Initial release - (https://github.com/open-telemetry/opentelemetry-python/pull/652) - -## Version 0.8b0 (2020-05-27) - -### Added - -- `opentelemetry-ext-datadog` Add exporter to Datadog - ([#572](https://github.com/open-telemetry/opentelemetry-python/pull/572)) -- `opentelemetry-ext-sqlite3` Initial release -- `opentelemetry-ext-psycopg2` Implement instrumentor interface, enabling auto-instrumentation - ([#694](https://github.com/open-telemetry/opentelemetry-python/pull/694)) -- `opentelemetry-ext-asgi` Add ASGI middleware - ([#716](https://github.com/open-telemetry/opentelemetry-python/pull/716)) -- `opentelemetry-ext-django` Add exclude list for paths and hosts to prevent from tracing - ([#670](https://github.com/open-telemetry/opentelemetry-python/pull/670)) -- `opentelemetry-ext-django` Add support for django >= 1.10 (#717) - -### Changed - -- `opentelemetry-ext-grpc` lint: version of grpc causes lint issues - ([#696](https://github.com/open-telemetry/opentelemetry-python/pull/696)) - -## Version 0.7b1 (2020-05-12) - -### Added - -- `opentelemetry-ext-redis` Initial release -- `opentelemetry-ext-jinja2` Add jinja2 instrumentation - ([#643](https://github.com/open-telemetry/opentelemetry-python/pull/643)) -- `opentelemetry-ext-pymongo` Implement instrumentor interface - ([#612](https://github.com/open-telemetry/opentelemetry-python/pull/612)) -- `opentelemetry-ext-sqlalchemy` Initial release -- `opentelemetry-ext-aiohttp-client` Initial release -- `opentelemetry-ext-pymysql` Initial release -- `opentelemetry-ext-http-requests` Implement instrumentor interface, enabling auto-instrumentation - ([#597](https://github.com/open-telemetry/opentelemetry-python/pull/597)) -- `opentelemetry-ext-http-requests` Adding disable_session for more granular instrumentation control - ([#573](https://github.com/open-telemetry/opentelemetry-python/pull/573)) -- `opentelemetry-ext-http-requests` Add a callback for custom attributes - ([#656](https://github.com/open-telemetry/opentelemetry-python/pull/656)) -- `opentelemetry-ext-dbapi` Implement instrument_connection and uninstrument_connection - ([#624](https://github.com/open-telemetry/opentelemetry-python/pull/624)) -- `opentelemetry-ext-flask` Add exclude list for paths and hosts - ([#630](https://github.com/open-telemetry/opentelemetry-python/pull/630)) -- `opentelemetry-ext-django` Initial release -- `opentelemetry-ext-mysql` Implement instrumentor interface - ([#654](https://github.com/open-telemetry/opentelemetry-python/pull/654)) - -### Changed - -- `opentelemetry-ext-http-requests` Rename package to opentelemetry-ext-requests - ([#619](https://github.com/open-telemetry/opentelemetry-python/pull/619)) - -## Version 0.6b0 (2020-03-30) - -### Added - -- `opentelemetry-ext-flask` Add an entry_point to be usable in auto-instrumentation - ([#327](https://github.com/open-telemetry/opentelemetry-python/pull/327)) -- `opentelemetry-ext-grpc` Add gRPC integration - ([#476](https://github.com/open-telemetry/opentelemetry-python/pull/476)) - -## Version 0.5b0 (2020-03-16) - -## Version 0.4a0 (2020-02-21) - -### Added - -- `opentelemetry-ext-psycopg2` Initial release -- `opentelemetry-ext-dbapi` Initial release -- `opentelemetry-ext-mysql` Initial release - -### Changed - -- `opentelemetry-ext-pymongo` Updating network connection attribute names - ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) -- `opentelemetry-ext-wsgi` Updating network connection attribute names - ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) -- `opentelemetry-ext-flask` Use string keys for WSGI environ values - ([#366](https://github.com/open-telemetry/opentelemetry-python/pull/366)) - -## Version 0.3a0 (2019-12-11) - -### Added - -- `opentelemetry-ext-flask` Initial release -- `opentelemetry-ext-pymongo` Initial release - -### Changed - -- `opentelemetry-ext-wsgi` Support new semantic conventions - ([#299](https://github.com/open-telemetry/opentelemetry-python/pull/299)) -- `opentelemetry-ext-wsgi` Updates for core library changes - -## Version 0.2a0 (2019-10-29) - -### Changed - -- `opentelemetry-ext-wsgi` Updates for core library changes -- `opentelemetry-ext-http-requests` Updates for core library changes - -- `Added support for PyPy3` Initial release - -## [#1033](https://github.com/open-telemetryopentelemetry-python-contrib/issues/1033) - -## Version 0.1a0 (2019-09-30) - -### Added - -- `opentelemetry-ext-wsgi` Initial release -- `opentelemetry-ext-http-requests` Initial release - -- Drop support for 3.7 - ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) -- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector - ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) -- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times - ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka - ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) -- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) - ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) -- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call - ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) -- AwsLambdaInstrumentor handles and re-raises function exception ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245)) +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +> [!NOTE] +> The following components are released independently and maintain individual CHANGELOG files. +> Use [this search for a list of all CHANGELOG.md files in this repo](https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-python-contrib+path%3A**%2FCHANGELOG.md&type=code). + +## Unreleased + +### Fixed + +- `opentelemetry-instrumentation-dbapi`: fix crash retrieving libpq version when enabling commenter with psycopg + ([#3796](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3796)) + +### Added + +- `opentelemetry-instrumentation-taskiq`: New instrumentation for `taskiq` + ([#3832](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3832)) +- `opentelemetry-instrumentation`: botocore: Add support for AWS Secrets Manager semantic convention attribute + ([#3765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3765)) +- Add `rstcheck` to pre-commit to stop introducing invalid RST + ([#3777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3777)) +- `opentelemetry-exporter-credential-provider-gcp`: create this package which provides support for supplying your machine's Application Default Credentials (https://cloud.google.com/docs/authentication/application-default-credentials) to the OTLP Exporters created automatically by OpenTelemetry Python's auto instrumentation. These credentials authorize OTLP traces to be sent to `telemetry.googleapis.com`. +[#3766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3766). + +## Version 1.37.0/0.58b0 (2025-09-11) + +### Fixed + +- `opentelemetry-instrumentation-fastapi`: Fix middleware ordering to cover all exception handling use cases. + ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) +- `opentelemetry-instrumentation-asgi`: Make all user hooks failsafe and record exceptions in hooks. + ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) +- `opentelemetry-instrumentation-fastapi`: Fix memory leak in `uninstrument_app()` by properly removing apps from the tracking set + ([#3688](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3688)) +- `opentelemetry-instrumentation-tornado` Fix server (request) duration metric calculation + ([#3679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3679)) +- `opentelemetry-instrumentation-tornado`: Fix to properly skip all server telemetry when URL excluded. + ([#3680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3680)) +- `opentelemetry-instrumentation`: Avoid calls to `context.detach` with `None` token. + ([#3673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3673)) +- `opentelemetry-instrumentation-starlette`/`opentelemetry-instrumentation-fastapi`: Fixes a crash when host-based routing is used + ([#3507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3507)) +- Fix documentation order of sections and headers for Django, Flask, MySQL, mysqlclient, psycopg, psycopg2, pymysql, sqlalchemy instrumentations. + ([#3719](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3719)) +- `opentelemetry-instrumentation-asgi` Fixed an issue where FastAPI reports IP instead of URL. + ([#3670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3670)) +- `opentelemetry-instrumentation-httpx`: fix missing metric response attributes when tracing is disabled + ([#3615](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3615)) +- `opentelemetry-instrumentation-fastapi`: Don't pass bounded server_request_hook when using `FastAPIInstrumentor.instrument()` + ([#3701](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3701)) + +### Added + +- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.11.0 + ([#3685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3685)) +- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collected_objects` and `cpython.gc.uncollectable_objects` metrics + ([#3666](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3666)) +- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Remote Sampler with initial Rules Poller implementation + ([#3366](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3366)) +- `opentelemetry-instrumentation`: add support for `OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH` to inform opentelemetry-instrument about gevent monkeypatching + ([#3699](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3699)) +- `opentelemetry-instrumentation`: botocore: Add support for AWS Step Functions semantic convention attributes + ([#3737](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3737)) +- `opentelemetry-instrumentation-botocore`: Add support for SNS semantic convention attribute aws.sns.topic.arn + ([#3734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3734)) +- `opentelemetry-instrumentation`: botocore: upgrade moto package from 5.0.9 to 5.1.11 + ([#3736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3736)) + +## Version 1.36.0/0.57b0 (2025-07-29) + +### Fixed + +- `opentelemetry-instrumentation`: Fix dependency conflict detection when instrumented packages are not installed by moving check back to before instrumentors are loaded. Add "instruments-any" feature for instrumentations that target multiple packages. + ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) +- infra(ci): Fix git pull failures in core contrib test + ([#3357](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3357)) + +### Added + +- `opentelemetry-instrumentation-psycopg2` Utilize instruments-any functionality. + ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) +- `opentelemetry-instrumentation-kafka-python` Utilize instruments-any functionality. + ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) +- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collections` metrics with collection unit is specified in semconv ([3617](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3617)) + +## Version 1.35.0/0.56b0 (2025-07-11) + +### Added + +- `opentelemetry-instrumentation-pika` Added instrumentation for All `SelectConnection` adapters + ([#3584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3584)) +- `opentelemetry-instrumentation-tornado` Add support for `WebSocketHandler` instrumentation + ([#3498](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3498)) +- `opentelemetry-util-http` Added support for redacting specific url query string values and url credentials in instrumentations + ([#3508](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3508)) +- `opentelemetry-instrumentation-pymongo` `aggregate` and `getMore` capture statements support + ([#3601](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3601)) + +### Fixed + +- `opentelemetry-instrumentation-asgi`: fix excluded_urls in instrumentation-asgi + ([#3567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3567)) +- `opentelemetry-resource-detector-containerid`: make it more quiet on platforms without cgroups + ([#3579](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3579)) + +## Version 1.34.0/0.55b0 (2025-06-04) + +### Fixed + +- `opentelemetry-instrumentation-system-metrics`: fix loading on Google Cloud Run + ([#3533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3533)) +- `opentelemetry-instrumentation-fastapi`: fix wrapping of middlewares + ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) +- `opentelemetry-instrumentation-starlette` Remove max version constraint on starlette + ([#3456](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3456)) +- `opentelemetry-instrumentation-starlette` Fix memory leak and double middleware + ([#3529](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3529)) +- `opentelemetry-instrumentation-urllib3`: proper bucket boundaries in stable semconv http duration metrics + ([#3518](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3518)) +- `opentelemetry-instrumentation-urllib`: proper bucket boundaries in stable semconv http duration metrics + ([#3519](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3519)) +- `opentelemetry-instrumentation-falcon`: proper bucket boundaries in stable semconv http duration + ([#3525](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3525)) +- `opentelemetry-instrumentation-wsgi`: add explicit http duration buckets for stable semconv + ([#3527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3527)) +- `opentelemetry-instrumentation-asgi`: add explicit http duration buckets for stable semconv + ([#3526](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3526)) +- `opentelemetry-instrumentation-flask`: proper bucket boundaries in stable semconv http duration + ([#3523](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3523)) +- `opentelemetry-instrumentation-django`: proper bucket boundaries in stable semconv http duration + ([#3524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3524)) +- `opentelemetry-instrumentation-grpc`: support non-list interceptors + ([#3520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3520)) +- `opentelemetry-instrumentation-botocore` Ensure spans end on early stream closure for Bedrock Streaming APIs + ([#3481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3481)) +- `opentelemetry-instrumentation-sqlalchemy` Respect suppress_instrumentation functionality + ([#3477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3477)) +- `opentelemetry-instrumentation-botocore`: fix handling of tool input in Bedrock ConverseStream + ([#3544](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3544)) +- `opentelemetry-instrumentation-botocore` Add type check when extracting tool use from Bedrock request message content + ([#3548](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3548)) +- `opentelemetry-instrumentation-dbapi` Respect suppress_instrumentation functionality ([#3460](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3460)) +- `opentelemetry-resource-detector-container` Correctly parse container id when using systemd and cgroupsv1 + ([#3429](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3429)) + +### Breaking changes + +- `opentelemetry-instrumentation-botocore` Use `cloud.region` instead of `aws.region` span attribute as per semantic conventions. + ([#3474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3474)) +- `opentelemetry-instrumentation-fastapi`: Drop support for FastAPI versions earlier than `0.92` + ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) +- `opentelemetry-resource-detector-container`: rename package name to `opentelemetry-resource-detector-containerid` + ([#3536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3536)) + +### Added + +- `opentelemetry-instrumentation-aiohttp-client` Add support for HTTP metrics + ([#3517](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3517)) +- `opentelemetry-instrumentation-httpx` Add support for HTTP metrics + ([#3513](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3513)) +- `opentelemetry-instrumentation` Allow re-raising exception when instrumentation fails + ([#3545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3545)) +- `opentelemetry-instrumentation-aiokafka` Add instrumentation of `consumer.getmany` (batch) + ([#3257](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3257)) + +### Deprecated + +- Drop support for Python 3.8, bump baseline to Python 3.9. + ([#3399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3399)) + +## Version 1.33.0/0.54b0 (2025-05-09) + +### Added + +- `opentelemetry-instrumentation-requests` Support explicit_bucket_boundaries_advisory in duration metrics + ([#3464](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3464)) +- `opentelemetry-instrumentation-redis` Add support for redis client-specific instrumentation. + ([#3143](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3143)) + +### Fixed + +- `opentelemetry-instrumentation` Catch `ModuleNotFoundError` when the library is not installed + and log as debug instead of exception + ([#3423](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3423)) +- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation + ([#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)) +- `opentelemetry-instrumentation-botocore` Add GenAI instrumentation for additional Bedrock models for InvokeModel API + ([#3419](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3419)) +- `opentelemetry-instrumentation` don't print duplicated conflict log error message + ([#3432](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3432)) +- `opentelemetry-instrumentation-grpc` Check for None result in gRPC + ([#3380](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3381)) +- `opentelemetry-instrumentation-[asynclick/click]` Add missing opentelemetry-instrumentation dep + ([#3447](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3447)) +- `opentelemetry-instrumentation-botocore` Capture server attributes for botocore API calls + ([#3448](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3448)) + +## Version 1.32.0/0.53b0 (2025-04-10) + +### Added + +- `opentelemetry-instrumentation-asyncclick`: new instrumentation to trace asyncclick commands + ([#3319](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3319)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events using Amazon Nova models and `InvokeModel*` APIs + ([#3385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3385)) +- `opentelemetry-instrumentation` Make auto instrumentation use the same dependency resolver as manual instrumentation does + ([#3202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3202)) + +### Fixed + +- `opentelemetry-instrumentation` Fix client address is set to server address in new semconv + ([#3354](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3354)) +- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-django`, + `opentelemetry-instrumentation-sqlalchemy`: Fix sqlcomment for non string query and composable object. + ([#3113](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3113)) +- `opentelemetry-instrumentation-grpc` Fix error when using gprc versions <= 1.50.0 with unix sockets. + ([[#3393](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3393)]) +- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation. + ([[#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)]) +- `opentelemetry-instrumentation-aiokafka` Fix send_and_wait method no headers kwargs error. + ([[#3332](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3332)]) + +## Version 1.31.0/0.52b0 (2025-03-12) + +### Added + +- `opentelemetry-instrumentation-openai-v2` Update doc for OpenAI Instrumentation to support OpenAI Compatible Platforms + ([#3279](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3279)) +- `opentelemetry-instrumentation-system-metrics` Add `process` metrics and deprecated `process.runtime` prefixed ones + ([#3250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3250)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI user events and lazy initialize tracer + ([#3258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3258)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI system events + ([#3266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3266)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI choice events + ([#3275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3275)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events + ([#3302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3302)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI metrics + ([#3326](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3326)) +- `opentelemetry-instrumentation` make it simpler to initialize auto-instrumentation programmatically + ([#3273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3273)) +- Add `opentelemetry-instrumentation-vertexai>=2.0b0` to `opentelemetry-bootstrap` + ([#3307](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3307)) +- Loosen `opentelemetry-instrumentation-starlette[instruments]` specifier + ([#3304](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3304)) + +### Fixed + +- `opentelemetry-instrumentation-redis` Add missing entry in doc string for `def _instrument` + ([#3247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3247)) +- `opentelemetry-instrumentation-botocore` sns-extension: Change destination name attribute + to match topic ARN and redact phone number from attributes + ([#3249](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3249)) +- `opentelemetry-instrumentation-asyncpg` Fix fallback for empty queries. + ([#3253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3253)) +- `opentelemetry-instrumentation` Fix a traceback in sqlcommenter when psycopg connection pooling is enabled. + ([#3309](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3309)) +- `opentelemetry-instrumentation-threading` Fix broken context typehints + ([#3322](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3322)) +- `opentelemetry-instrumentation-requests` always record span status code in duration metric + ([#3323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3323)) + +## Version 1.30.0/0.51b0 (2025-02-03) + +### Added + +- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.7.0 + ([#3100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3100)) +- Add support to database stability opt-in in `_semconv` utilities and add tests + ([#3111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3111)) +- `opentelemetry-instrumentation-urllib` Add `py.typed` file to enable PEP 561 + ([#3131](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3131)) +- `opentelemetry-opentelemetry-pymongo` Add `py.typed` file to enable PEP 561 + ([#3136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3136)) +- `opentelemetry-opentelemetry-requests` Add `py.typed` file to enable PEP 561 + ([#3135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3135)) +- `opentelemetry-instrumentation-system-metrics` Add `py.typed` file to enable PEP 561 + ([#3132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3132)) +- `opentelemetry-opentelemetry-sqlite3` Add `py.typed` file to enable PEP 561 + ([#3133](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3133)) +- `opentelemetry-instrumentation-falcon` add support version to v4 + ([#3086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3086)) +- `opentelemetry-instrumentation-falcon` Implement new HTTP semantic convention opt-in for Falcon + ([#2790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2790)) +- `opentelemetry-instrumentation-wsgi` always record span status code to have it available in metrics + ([#3148](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3148)) +- add support to Python 3.13 + ([#3134](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3134)) +- `opentelemetry-opentelemetry-wsgi` Add `py.typed` file to enable PEP 561 + ([#3129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3129)) +- `opentelemetry-util-http` Add `py.typed` file to enable PEP 561 + ([#3127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3127)) +- `opentelemetry-instrumentation-psycopg2` Add support for psycopg2-binary + ([#3186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3186)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock Converse API + ([#3161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3161)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModel API + ([#3200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3200)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock ConverseStream API + ([#3204](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3204)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModelWithStreamResponse API + ([#3206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3206)) +- `opentelemetry-instrumentation-pymssql` Add pymssql instrumentation + ([#394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/394)) +- `opentelemetry-instrumentation-mysql` Add sqlcommenter support + ([#3163](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3163)) + +### Fixed + +- `opentelemetry-instrumentation-httpx` Fix `RequestInfo`/`ResponseInfo` type hints + ([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105)) +- `opentelemetry-instrumentation-dbapi` Move `TracedCursorProxy` and `TracedConnectionProxy` to the module level + ([#3068](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3068)) +- `opentelemetry-instrumentation-click` Disable tracing of well-known server click commands + ([#3174](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3174)) +- `opentelemetry-instrumentation` Fix `get_dist_dependency_conflicts` if no distribution requires + ([#3168](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3168)) + +### Breaking changes + +- `opentelemetry-exporter-prometheus-remote-write` updated protobuf required version from 4.21 to 5.26 and regenerated protobufs + ([#3219](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3219)) +- `opentelemetry-instrumentation-sqlalchemy` including sqlcomment in `db.statement` span attribute value is now opt-in + ([#3112](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3112)) +- `opentelemetry-instrumentation-dbapi` including sqlcomment in `db.statement` span attribute value is now opt-in + ([#3115](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3115)) +- `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-psycopg`, `opentelemetry-instrumentation-mysqlclient`, `opentelemetry-instrumentation-pymysql`: including sqlcomment in `db.statement` span attribute value is now opt-in + ([#3121](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3121)) + +## Version 1.29.0/0.50b0 (2024-12-11) + +### Added + +- `opentelemetry-instrumentation-starlette` Add type hints to the instrumentation + ([#3045](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3045)) +- `opentelemetry-distro` default to OTLP log exporter. + ([#3042](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3042)) +- `opentelemetry-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2 + ([#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976)) +- Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap` + ([#2996](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2996)) +- `opentelemetry-instrumentation-sqlalchemy` Add sqlcomment to `db.statement` attribute + ([#2937](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2937)) +- `opentelemetry-instrumentation-dbapi` Add sqlcomment to `db.statement` attribute + ([#2935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2935)) +- `opentelemetry-instrumentation-dbapi` instrument_connection accepts optional connect_module + ([#3027](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3027)) +- `opentelemetry-instrumentation-mysqlclient` Add sqlcommenter support + ([#2941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2941)) +- `opentelemetry-instrumentation-pymysql` Add sqlcommenter support + ([#2942](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2942)) +- `opentelemetry-instrumentation-click`: new instrumentation to trace click commands + ([#2994](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2994)) + +### Fixed + +- `opentelemetry-instrumentation-starlette`: Retrieve `meter_provider` key instead of `_meter_provider` on `_instrument` + ([#3048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3048)) +- `opentelemetry-instrumentation-httpx`: instrument_client is a static method again + ([#3003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3003)) +- `opentelemetry-instrumentation-system_metrics`: fix callbacks reading wrong config + ([#3025](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3025)) +- `opentelemetry-instrumentation-httpx`: Check if mount transport is none before wrap it + ([#3022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3022)) +- Replace all instrumentor unit test `assertEqualSpanInstrumentationInfo` calls with `assertEqualSpanInstrumentationScope` calls + ([#3037](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3037)) +- `opentelemetry-instrumentation-sqlalchemy` Fixes engines from `sqlalchemy.engine_from_config` not being fully instrumented + ([#2816](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2816)) +- `opentelemetry-instrumentation-sqlalchemy`: Fix a remaining memory leak in EngineTracer + ([#3053](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3053)) +- `opentelemetry-instrumentation-sqlite3`: Update documentation on explicit cursor support of tracing + ([#3088](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3088)) + +### Breaking changes + +- `opentelemetry-instrumentation-sqlalchemy` teach instruments version + ([#2971](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2971)) +- Drop `opentelemetry-instrumentation-test` package from default instrumentation list + ([#2969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2969)) +- `opentelemetry-instrumentation-httpx`: remove private unused `_InstrumentedClient` and `_InstrumentedAsyncClient` classes + ([#3036](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3036)) + +## Version 1.28.0/0.49b0 (2024-11-05) + +### Added + +- `opentelemetry-instrumentation-openai-v2` Instrumentation for OpenAI >= 0.27.0 + ([#2759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2759)) +- `opentelemetry-instrumentation-fastapi` Add autoinstrumentation mechanism tests. + ([#2860](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2860)) +- `opentelemetry-instrumentation-aiokafka` Add instrumentor and auto instrumentation support for aiokafka + ([#2082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2082)) +- `opentelemetry-instrumentation-redis` Add additional attributes for methods create_index and search, rename those spans + ([#2635](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2635)) +- `opentelemetry-instrumentation` Add support for string based dotted module paths in unwrap + ([#2919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2919)) + +### Fixed + +- `opentelemetry-instrumentation-aiokafka` Wrap `AIOKafkaConsumer.getone()` instead of `AIOKafkaConsumer.__anext__` + ([#2874](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2874)) +- `opentelemetry-instrumentation-confluent-kafka` Fix to allow `topic` to be extracted from `kwargs` in `produce()` + ([#2901])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2901) +- `opentelemetry-instrumentation-system-metrics` Update metric units to conform to UCUM conventions. + ([#2922](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2922)) +- `opentelemetry-instrumentation-celery` Don't detach context without a None token + ([#2927](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2927)) +- `opentelemetry-exporter-prometheus-remote-write`: sort labels before exporting + ([#2940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2940)) +- `opentelemetry-instrumentation-dbapi` sqlcommenter key values created from PostgreSQL, MySQL systems + ([#2897](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2897)) +- `opentelemetry-instrumentation-system-metrics`: don't report open file descriptors on Windows + ([#2946](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2946)) + +### Breaking changes + +- Deprecation of pkg_resource in favor of importlib.metadata + ([#2871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2871)) +- `opentelemetry-instrumentation` Don't fail distro loading if instrumentor raises ImportError, instead skip them + ([#2923](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2923)) +- `opentelemetry-instrumentation-httpx` Rewrote instrumentation to use wrapt instead of subclassing + ([#2909](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2909)) + +## Version 1.27.0/0.48b0 (2024-08-28) + +### Added + +- `opentelemetry-instrumentation-kafka-python` Instrument temporary fork, kafka-python-ng inside kafka-python's instrumentation + ([#2537](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2537)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi` Add ability to disable internal HTTP send and receive spans + ([#2802](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2802)) +- `opentelemetry-instrumentation-asgi` Add fallback decoding for ASGI headers + ([#2837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2837)) + +### Breaking changes + +- `opentelemetry-bootstrap` Remove `opentelemetry-instrumentation-aws-lambda` from the defaults instrumentations + ([#2786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2786)) + +### Fixed + +- `opentelemetry-instrumentation-httpx` fix handling of async hooks + ([#2823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2823)) +- `opentelemetry-instrumentation-system-metrics` fix `process.runtime.cpu.utilization` values to be shown in range of 0 to 1 + ([#2812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2812)) +- `opentelemetry-instrumentation-fastapi` fix `fastapi` auto-instrumentation by removing `fastapi-slim` support, `fastapi-slim` itself is discontinued from maintainers + ([#2783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2783)) +- `opentelemetry-instrumentation-aws-lambda` Avoid exception when a handler is not present. + ([#2750](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2750)) +- `opentelemetry-instrumentation-django` Fix regression - `http.target` re-added back to old semconv duration metrics + ([#2746](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2746)) +- `opentelemetry-instrumentation-asgi` do not set `url.full` attribute for server spans + ([#2735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2735)) +- `opentelemetry-instrumentation-grpc` Fixes the issue with the gRPC instrumentation not working with the 1.63.0 and higher version of gRPC + ([#2483](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2484)) +- `opentelemetry-instrumentation-aws-lambda` Fixing w3c baggage support + ([#2589](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2589)) +- `opentelemetry-instrumentation-celery` propagates baggage + ([#2385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2385)) +- `opentelemetry-instrumentation-asyncio` Fixes async generator coroutines not being awaited + ([#2792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2792)) +- `opentelemetry-instrumentation-tornado` Handle http client exception and record exception info into span + ([#2563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2563)) +- `opentelemetry-instrumentation` fix `http.host` new http semantic convention mapping to depend on `kind` of span + ([#2814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2814)) +- `opentelemetry-instrumentation` Fix the description of `http.server.duration` and `http.server.request.duration` + ([#2753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2753)) +- `opentelemetry-instrumentation-grpc` Fix grpc supported version + ([#2845](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2845)) +- `opentelemetry-instrumentation-asyncio` fix `AttributeError` in + `AsyncioInstrumentor.trace_to_thread` when `func` is a `functools.partial` instance + ([#2911](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2911)) + +## Version 1.26.0/0.47b0 (2024-07-23) + +### Added + +- `opentelemetry-instrumentation-flask` Add `http.route` and `http.target` to metric attributes + ([#2621](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2621)) +- `opentelemetry-instrumentation-aws-lambda` Enable global propagator for AWS instrumentation + ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) +- `opentelemetry-instrumentation-sklearn` Deprecated the sklearn instrumentation + ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) +- `opentelemetry-instrumentation-pyramid` Record exceptions raised when serving a request + ([#2622](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2622)) +- `opentelemetry-sdk-extension-aws` Add AwsXrayLambdaPropagator + ([#2573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2573)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for version 2.4.0 of confluent_kafka + ([#2616](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2616)) +- `opentelemetry-instrumentation-asyncpg` Add instrumentation to cursor based queries + ([#2501](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2501)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for produce purge + ([#2638](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2638)) +- `opentelemetry-instrumentation-asgi` Implement new semantic convention opt-in with stable http semantic conventions + ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) +- `opentelemetry-instrumentation-fastapi` Implement new semantic convention opt-in with stable http semantic conventions + ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) +- `opentelemetry-instrumentation-httpx` Implement new semantic convention opt-in migration with stable http semantic conventions + ([#2631](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2631)) +- `opentelemetry-instrumentation-system-metrics` Permit to use psutil 6.0+. + ([#2630](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2630)) +- `opentelemetry-instrumentation-system-metrics` Add support for capture open file descriptors + ([#2652](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2652)) +- `opentelemetry-instrumentation-httpx` Add support for instrument client with proxy + ([#2664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2664)) +- `opentelemetry-instrumentation-aiohttp-client` Implement new semantic convention opt-in migration + ([#2673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2673)) +- `opentelemetry-instrumentation-django` Add `http.target` to Django duration metric attributes + ([#2624](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2624)) +- `opentelemetry-instrumentation-urllib3` Implement new semantic convention opt-in migration + ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) +- `opentelemetry-instrumentation-django` Implement new semantic convention opt-in with stable http semantic conventions + ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) +- `opentelemetry-instrumentation-urllib` Implement new semantic convention opt-in migration + ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) + +### Breaking changes + +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi`, `opentelemetry-instrumentation-starlette` Use `tracer` and `meter` of originating components instead of one from `asgi` middleware + ([#2580](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2580)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `asgi` middleware + ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` middleware + ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) +- `opentelemetry-instrumentation-urllib3` Populate `{method}` as `HTTP` on `_OTHER` methods for span name + ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` instrumentation + ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `django` middleware + ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `urllib` instrumentation + ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) +- `opentelemetry-instrumentation-httpx`, `opentelemetry-instrumentation-aiohttp-client`, + `opentelemetry-instrumentation-requests` Populate `{method}` as `HTTP` on `_OTHER` methods + ([#2726](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2726)) +- `opentelemetry-instrumentation-fastapi` Add dependency support for fastapi-slim + ([#2702](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2702)) +- `opentelemetry-instrumentation-urllib3` improve request_hook, replacing `headers` and `body` parameters with a single `request_info: RequestInfo` parameter that now contains the `method` and `url` ([#2711](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2711)) + +### Fixed + +- Handle `redis.exceptions.WatchError` as a non-error event in redis instrumentation + ([#2668](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2668)) +- `opentelemetry-instrumentation-httpx` Ensure httpx.get or httpx.request like methods are instrumented + ([#2538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2538)) +- Add Python 3.12 support + ([#2572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2572)) +- `opentelemetry-instrumentation-aiohttp-server`, `opentelemetry-instrumentation-httpx` Ensure consistently use of suppress_instrumentation utils + ([#2590](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2590)) +- Reference symbols from generated semantic conventions + ([#2611](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2611)) +- `opentelemetry-instrumentation-psycopg` Bugfix: Handle empty statement. + ([#2644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2644)) +- `opentelemetry-instrumentation-confluent-kafka` Confluent Kafka: Ensure consume span is ended when consumer is closed + ([#2640](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2640)) +- `opentelemetry-instrumentation-asgi` Fix generation of `http.target` and `http.url` attributes for ASGI apps + using sub apps + ([#2477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2477)) +- `opentelemetry-instrumentation-aws-lambda` Bugfix: AWS Lambda event source key incorrect for SNS in instrumentation library. + ([#2612](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2612)) +- `opentelemetry-instrumentation-asyncio` instrumented `asyncio.wait_for` properly raises `asyncio.TimeoutError` as expected + ([#2637](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2637)) +- `opentelemetry-instrumentation-django` Handle exceptions from request/response hooks + ([#2153](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2153)) +- `opentelemetry-instrumentation-asgi` Removed `NET_HOST_NAME` AND `NET_HOST_PORT` from active requests count attribute + ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) +- `opentelemetry-instrumentation-asgi` Bugfix: Middleware did not set status code attribute on duration metrics for non-recording spans. + ([#2627](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2627)) +- `opentelemetry-instrumentation-mysql` Add support for `mysql-connector-python` v9 + ([#2751](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2751)) + +## Version 1.25.0/0.46b0 (2024-05-31) + +### Breaking changes + +- Add return statement to Confluent kafka Producer poll() and flush() calls when instrumented by ConfluentKafkaInstrumentor().instrument_producer() ([#2527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2527)) +- Rename `type` attribute to `asgi.event.type` in `opentelemetry-instrumentation-asgi` + ([#2300](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2300)) +- Rename AwsLambdaInstrumentor span attributes `faas.id` to `cloud.resource_id`, `faas.execution` to `faas.invocation_id` + ([#2372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2372)) +- Drop support for instrumenting elasticsearch client < 6 + ([#2422](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2422)) +- `opentelemetry-instrumentation-wsgi` Add `http.method` to `span.name` + ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) +- `opentelemetry-instrumentation-flask` Add `http.method` to `span.name` + ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) +- Record repeated HTTP headers in lists, rather than a comma separate strings for ASGI based web frameworks + ([#2361](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2361)) +- ASGI, FastAPI, Starlette: provide both send and receive hooks with `scope` and `message` for internal spans +- ([#2546](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2546)) + +### Added + +- `opentelemetry-sdk-extension-aws` Register AWS resource detectors under the + `opentelemetry_resource_detector` entry point + ([#2382](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2382)) +- `opentelemetry-instrumentation-wsgi` Implement new semantic convention opt-in with stable http semantic conventions + ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) +- `opentelemetry-instrumentation-flask` Implement new semantic convention opt-in with stable http semantic conventions + ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) +- `opentelemetry-instrumentation-threading` Initial release for threading + ([#2253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2253)) +- `opentelemetry-instrumentation-pika` Instrumentation for `channel.consume()` (supported + only for global, non channel specific instrumentation) + ([#2397](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2397)) +- `opentelemetry-processor-baggage` Initial release + ([#2436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2436)) +- `opentelemetry-processor-baggage` Add baggage key predicate + ([#2535](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2535)) + +### Fixed + +- `opentelemetry-instrumentation-dbapi` Fix compatibility with Psycopg3 to extract libpq build version + ([#2500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2500)) +- `opentelemetry-instrumentation-grpc` AioClientInterceptor should propagate with a Metadata object + ([#2363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2363)) +- `opentelemetry-instrumentation-boto3sqs` Instrument Session and resource + ([#2161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2161)) +- `opentelemetry-instrumentation-aws-lambda` Fix exception handling for events with requestContext + ([#2418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2418)) +- Use sqlalchemy version in sqlalchemy commenter instead of opentelemetry library version + ([#2404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2404)) +- `opentelemetry-instrumentation-asyncio` Check for cancelledException in the future + ([#2461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2461)) +- Remove SDK dependency from opentelemetry-instrumentation-grpc + ([#2474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2474)) +- `opentelemetry-instrumentation-elasticsearch` Improved support for version 8 + ([#2420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2420)) +- `opentelemetry-instrumentation-elasticsearch` Disabling instrumentation with native OTel support enabled + ([#2524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2524)) +- `opentelemetry-instrumentation-asyncio` Check for **name** attribute in the coroutine + ([#2521](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2521)) +- `opentelemetry-instrumentation-requests` Fix wrong time unit for duration histogram + ([#2553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2553)) +- `opentelemetry-util-http` Preserve brackets around literal IPv6 hosts ([#2552](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2552)) +- `opentelemetry-util-redis` Fix net peer attribute for unix socket connection ([#2493](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2493)) + +## Version 1.24.0/0.45b0 (2024-03-28) + +### Added + +- `opentelemetry-instrumentation-psycopg` Async Instrumentation for psycopg 3.x + ([#2146](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2146)) + +### Fixed + +- `opentelemetry-instrumentation-celery` Allow Celery instrumentation to be installed multiple times + ([#2342](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2342)) +- Align gRPC span status codes to OTEL specification + ([#1756](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1756)) +- `opentelemetry-instrumentation-flask` Add importlib metadata default for deprecation warning flask version + ([#2297](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2297)) +- Ensure all http.server.duration metrics have the same description + ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2298)) +- Fix regression in httpx `request.url` not being of type `httpx.URL` after `0.44b0` + ([#2359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2359)) +- Avoid losing repeated HTTP headers + ([#2266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2266)) +- `opentelemetry-instrumentation-elasticsearch` Don't send bulk request body as db statement + ([#2355](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2355)) +- AwsLambdaInstrumentor sets `cloud.account.id` span attribute + ([#2367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2367)) + +### Added + +- `opentelemetry-instrumentation-fastapi` Add support for configuring header extraction via runtime constructor parameters + ([#2241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2241)) + +## Version 1.23.0/0.44b0 (2024-02-23) + +- Drop support for 3.7 + ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) +- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector + ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) +- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times + ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka + ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) +- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) + ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) +- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call + ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) +- AwsLambdaInstrumentor handles and re-raises function exception + ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245)) + +### Added + +- `opentelemetry-instrumentation-psycopg` Initial release for psycopg 3.x +- `opentelemetry-instrumentation-asgi` Add support for configuring ASGI middleware header extraction via runtime constructor parameters + ([#2026](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2026)) + +## Version 1.22.0/0.43b0 (2023-12-14) + +### Added + +- `opentelemetry-instrumentation-asyncio` Add support for asyncio + ([#1919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1943)) +- `opentelemetry-instrumentation` Added Otel semantic convention opt-in mechanism + ([#1987](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1987)) +- `opentelemetry-instrumentation-httpx` Fix mixing async and non async hooks + ([#1920](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1920)) +- `opentelemetry-instrumentation-requests` Implement new semantic convention opt-in with stable http semantic conventions + ([#2002](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2002)) +- `opentelemetry-instrument-grpc` Fix arity of context.abort for AIO RPCs + ([#2066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2066)) +- Consolidate instrumentation suppression mechanisms and fix bug in httpx instrumentation + ([#2061](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2061)) + +### Fixed + +- `opentelemetry-instrumentation-httpx` Remove URL credentials + ([#2020](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2020)) +- `opentelemetry-instrumentation-urllib`/`opentelemetry-instrumentation-urllib3` Fix metric descriptions to match semantic conventions + ([#1959](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1959)) +- `opentelemetry-resource-detector-azure` Added dependency for Cloud Resource ID attribute + ([#2072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2072)) + +## Version 1.21.0/0.42b0 (2023-11-01) + +### Added + +- `opentelemetry-instrumentation-aiohttp-server` Add instrumentor and auto instrumentation support for aiohttp-server + ([#1800](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1800)) +- `opentelemetry-instrumentation-botocore` Include SNS topic ARN as a span attribute with name `messaging.destination.name` to uniquely identify the SNS topic + ([#1995](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1995)) +- `opentelemetry-instrumentation-system-metrics` Add support for collecting process metrics + ([#1948](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1948)) +- Added schema_url (`"https://opentelemetry.io/schemas/1.11.0"`) to all metrics and traces + ([#1977](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1977)) + +### Fixed + +- `opentelemetry-instrumentation-aio-pika` and `opentelemetry-instrumentation-pika` Fix missing trace context propagation when trace not recording. + ([#1969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1969)) +- Fix version of Flask dependency `werkzeug` + ([#1980](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1980)) +- `opentelemetry-resource-detector-azure` Using new Cloud Resource ID attribute. + ([#1976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1976)) +- Do not collect `system.network.connections` by default on macOS which was causing exceptions in metrics collection. + ([#2008](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2008)) + +## Version 1.20.0/0.41b0 (2023-09-01) + +### Fixed + +- `opentelemetry-instrumentation-asgi` Fix UnboundLocalError local variable 'start' referenced before assignment + ([#1889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1889)) +- Fixed union typing error not compatible with Python 3.7 introduced in `opentelemetry-util-http`, fix tests introduced by patch related to sanitize method for wsgi + ([#1913](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1913)) +- `opentelemetry-instrumentation-celery` Unwrap Celery's `ExceptionInfo` errors and report the actual exception that was raised. ([#1863](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1863)) + +### Added + +- `opentelemetry-resource-detector-azure` Add resource detectors for Azure App Service and VM + ([#1901](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1901)) +- `opentelemetry-instrumentation-flask` Add support for Flask 3.0.0 + ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2013)) + +## Version 1.19.0/0.40b0 (2023-07-13) + +- `opentelemetry-instrumentation-asgi` Add `http.server.request.size` metric + ([#1867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1867)) + +### Fixed + +- `opentelemetry-instrumentation-django` Fix empty span name when using + `path("", ...)` ([#1788](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1788) +- Fix elastic-search instrumentation sanitization to support bulk queries + ([#1870](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1870)) +- Update falcon instrumentation to follow semantic conventions + ([#1824](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1824)) +- Fix sqlalchemy instrumentation wrap methods to accept sqlcommenter options + ([#1873](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1873)) +- Exclude background task execution from root server span in ASGI middleware + ([#1952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1952)) + +### Added + +- Add instrumentor support for cassandra and scylla + ([#1902](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1902)) +- Add instrumentor support for mysqlclient + ([#1744](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1744)) +- Fix async redis clients not being traced correctly + ([#1830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1830)) +- Make Flask request span attributes available for `start_span`. + ([#1784](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1784)) +- Fix falcon instrumentation's usage of Span Status to only set the description if the status code is ERROR. + ([#1840](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1840)) +- Instrument all httpx versions >= 0.18. + ([#1748](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1748)) +- Fix `Invalid type NoneType for attribute X (opentelemetry-instrumentation-aws-lambda)` error when some attributes do not exist + ([#1780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1780)) +- Add metric instrumentation for celery + ([#1679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1679)) +- `opentelemetry-instrumentation-asgi` Add `http.server.response.size` metric + ([#1789](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1789)) +- `opentelemetry-instrumentation-grpc` Allow gRPC connections via Unix socket + ([#1833](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1833)) +- Fix elasticsearch `Transport.perform_request` instrument wrap for elasticsearch >= 8 + ([#1810](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1810)) +- `opentelemetry-instrumentation-urllib3` Add support for urllib3 version 2 + ([#1879](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1879)) +- Add optional distro and configurator selection for auto-instrumentation + ([#1823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1823)) +- `opentelemetry-instrumentation-django` - Add option to add Opentelemetry middleware at specific position in middleware chain + ([#2912]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2912) + +### Added + +- `opentelemetry-instrumentation-kafka-python` Add instrumentation to `consume` method + ([#1786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1786)) + +## Version 1.18.0/0.39b0 (2023-05-10) + +- Update runtime metrics to follow semantic conventions + ([#1735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1735)) +- Add request and response hooks for GRPC instrumentation (client only) + ([#1706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1706)) +- Fix memory leak in SQLAlchemy instrumentation where disposed `Engine` does not get garbage collected + ([#1771](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1771)) +- `opentelemetry-instrumentation-pymemcache` Update instrumentation to support pymemcache >4 + ([#1764](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1764)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions of confluent_kafka + ([#1815](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1815)) + +### Added + +- Expand sqlalchemy pool.name to follow the semantic conventions + ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) +- Add `excluded_urls` functionality to `urllib` and `urllib3` instrumentations + ([#1733](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1733)) +- Make Django request span attributes available for `start_span`. + ([#1730](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1730)) +- Make ASGI request span attributes available for `start_span`. + ([#1762](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1762)) +- `opentelemetry-instrumentation-celery` Add support for anonymous tasks. + ([#1407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1407)) +- `opentelemetry-instrumentation-logging` Add `otelTraceSampled` to instrumetation-logging + ([#1773](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1773)) + +### Changed + +- `opentelemetry-instrumentation-botocore` now uses the AWS X-Ray propagator by default + ([#1741](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1741)) + +### Fixed + +- Fix redis db.statements to be sanitized by default + ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) +- Fix elasticsearch db.statement attribute to be sanitized by default + ([#1758](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1758)) +- Fix `AttributeError` when AWS Lambda handler receives a list event + ([#1738](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1738)) +- Fix `None does not implement middleware` error when there are no middlewares registered + ([#1766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1766)) +- Fix Flask instrumentation to only close the span if it was created by the same request context. + ([#1692](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1692)) + +### Changed + +- Update HTTP server/client instrumentation span names to comply with spec + ([#1759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1759)) + +## Version 1.17.0/0.38b0 (2023-03-22) + +### Added + +- Add connection attributes to sqlalchemy connect span + ([#1608](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1608)) +- Add support for enabling Redis sanitization from environment variable + ([#1690](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1690)) +- Add metrics instrumentation for sqlalchemy + ([#1645](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1645)) + +### Fixed + +- Fix Flask instrumentation to only close the span if it was created by the same thread. + ([#1654](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1654)) +- Fix confluent-kafka instrumentation by allowing Producer headers to be dict or list + ([#1655](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1655)) +- `opentelemetry-instrumentation-system-metrics` Fix initialization of the instrumentation class when configuration is provided + ([#1438](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1439)) +- Fix exception in Urllib3 when dealing with filelike body. + ([#1399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1399)) +- Fix httpx resource warnings + ([#1695](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1695)) + +### Changed + +- `opentelemetry-instrumentation-requests` Replace `name_callback` and `span_callback` with standard `response_hook` and `request_hook` callbacks + ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) + +## Version 1.16.0/0.37b0 (2023-02-17) + +### Added + +- Support `aio_pika` 9.x (([#1670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1670]) +- `opentelemetry-instrumentation-redis` Add `sanitize_query` config option to allow query sanitization. ([#1572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1572)) +- `opentelemetry-instrumentation-elasticsearch` Add optional db.statement query sanitization. + ([#1598](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1598)) +- `opentelemetry-instrumentation-celery` Record exceptions as events on the span. + ([#1573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1573)) +- Add metric instrumentation for urllib + ([#1553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1553)) +- `opentelemetry/sdk/extension/aws` Implement [`aws.ecs.*`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/cloud_provider/aws/ecs.md) and [`aws.logs.*`](https://opentelemetry.io/docs/reference/specification/resource/semantic_conventions/cloud_provider/aws/logs/) resource attributes in the `AwsEcsResourceDetector` detector when the ECS Metadata v4 is available + ([#1212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1212)) +- `opentelemetry-instrumentation-aio-pika` Support `aio_pika` 8.x + ([#1481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1481)) +- `opentelemetry-instrumentation-aws-lambda` Flush `MeterProvider` at end of function invocation. + ([#1613](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1613)) +- Fix aiohttp bug with unset `trace_configs` + ([#1592](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1592)) +- `opentelemetry-instrumentation-django` Allow explicit `excluded_urls` configuration through `instrument()` + ([#1618](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1618)) + +### Fixed + +- Fix TortoiseORM instrumentation `AttributeError: type object 'Config' has no attribute 'title'` + ([#1575](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1575)) +- Fix SQLAlchemy uninstrumentation + ([#1581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1581)) +- `opentelemetry-instrumentation-grpc` Fix code()/details() of \_OpentelemetryServicerContext. + ([#1578](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1578)) +- Fix aiopg instrumentation to work with aiopg < 2.0.0 + ([#1473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1473)) +- `opentelemetry-instrumentation-aws-lambda` Adds an option to configure `disable_aws_context_propagation` by + environment variable: `OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION` + ([#1507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1507)) +- Fix pymongo to collect the property DB_MONGODB_COLLECTION + ([#1555](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1555)) +- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter to correctly fetch values from carrier headers. + ([#1435](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1435)) +- mongo db - fix db statement capturing + ([#1512](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1512)) +- Add commit method for ConfluentKafkaInstrumentor's ProxiedConsumer + ([#1656](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1656)) + +## Version 1.15.0/0.36b0 (2022-12-10) + +- Add uninstrument test for sqlalchemy + ([#1471](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1471)) +- `opentelemetry-instrumentation-tortoiseorm` Initial release + ([#685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/685)) +- Add metric instrumentation for tornado + ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) +- `opentelemetry-instrumentation-aws-lambda` Add option to disable aws context propagation + ([#1466](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1466)) + +### Added + +- `opentelemetry-resource-detector-container` Add support resource detection of container properties. + ([#1584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1584)) +- `opentelemetry-instrumentation-pymysql` Add tests for commit() and rollback(). + ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) +- `opentelemetry-instrumentation-fastapi` Add support for regular expression matching and sanitization of HTTP headers. + ([#1403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1403)) +- `opentelemetry-instrumentation-botocore` add support for `messaging.*` in the sqs extension. + ([#1350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1350)) +- `opentelemetry-instrumentation-starlette` Add support for regular expression matching and sanitization of HTTP headers. + ([#1404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1404)) +- `opentelemetry-instrumentation-botocore` Add support for SNS `publish` and `publish_batch`. + ([#1409](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1409)) +- Strip leading comments from SQL queries when generating the span name. + ([#1434](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1434)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for the latest versions of the library. + ([#1468](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1468)) + +### Fixed + +- Fix bug in Urllib instrumentation - add status code to span attributes only if the status code is not None. + ([#1430](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1430)) +- `opentelemetry-instrumentation-aiohttp-client` Allow overriding of status in response hook. + ([#1394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1394)) +- `opentelemetry-instrumentation-pymysql` Fix dbapi connection instrument wrapper has no \_sock member. + ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) +- `opentelemetry-instrumentation-dbapi` Fix the check for the connection already being instrumented in instrument_connection(). + ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) +- Remove db.name attribute from Redis instrumentation + ([#1427](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1427)) +- `opentelemetry-instrumentation-asgi` Fix target extraction for duration metric + ([#1461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1461)) +- Add grpc.aio instrumentation to package entry points + ([#1442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1442)) +- Fix a bug in SQLAlchemy instrumentation - support disabling enable_commenter variable + ([#1440](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1440)) + +## Version 1.14.0/0.35b0 (2022-11-03) + +### Deprecated + +- `opentelemetry-distro` Deprecate `otlp_proto_grpc` and `otlp_proto_http` in favor of using + `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` as according to specifications + ([#1250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1250)) + +### Added + +- Capture common HTTP attributes from API Gateway proxy events in `opentelemetry-instrumentation-aws-lambda` + ([#1233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1233)) +- Add metric instrumentation for tornado + ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) +- `opentelemetry-instrumentation-django` Fixed bug where auto-instrumentation fails when django is installed and settings are not configured. + ([#1369](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1369)) +- `opentelemetry-instrumentation-system-metrics` add supports to collect system thread count. ([#1339](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1339)) +- `opentelemetry-exporter-richconsole` Fixing RichConsoleExpoter to allow multiple traces, fixing duplicate spans and include resources ([#1336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1336)) +- `opentelemetry-instrumentation-asgi` Add support for regular expression matching and sanitization of HTTP headers. + ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) +- `opentelemetry-instrumentation-asgi` metrics record target attribute (FastAPI only) + ([#1323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1323)) +- `opentelemetry-instrumentation-wsgi` Add support for regular expression matching and sanitization of HTTP headers. + ([#1402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1402)) +- Add support for py3.11 + ([#1415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1415)) +- `opentelemetry-instrumentation-django` Add support for regular expression matching and sanitization of HTTP headers. + ([#1411](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1411)) +- `opentelemetry-instrumentation-falcon` Add support for regular expression matching and sanitization of HTTP headers. + ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) +- `opentelemetry-instrumentation-flask` Add support for regular expression matching and sanitization of HTTP headers. + ([#1413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1413)) +- `opentelemetry-instrumentation-pyramid` Add support for regular expression matching and sanitization of HTTP headers. + ([#1414](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1414)) +- `opentelemetry-instrumentation-grpc` Add support for grpc.aio Clients and Servers + ([#1245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1245)) +- Add metric exporter for Prometheus Remote Write + ([#1359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1359)) + +### Fixed + +- Fix bug in Falcon instrumentation + ([#1377](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1377)) +- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter so it decodes the keys before returning them. + ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) +- `opentelemetry-instrumentation-asgi` Make ASGIGetter.get() compare all keys in a case insensitive manner. + ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) +- Use resp.text instead of resp.body for Falcon 3 to avoid a deprecation warning. + ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) + +## Version 1.13.0/0.34b0 (2022-09-26) + +- `opentelemetry-instrumentation-asyncpg` Fix high cardinality in the span name + ([#1324](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1324)) + +### Added + +- `opentelemetry-instrumentation-grpc` add supports to filter requests to instrument. + ([#1241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1241)) +- Flask sqlalchemy psycopg2 integration + ([#1224](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1224)) +- Add metric instrumentation in Falcon + ([#1230](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1230)) +- Add metric instrumentation in fastapi + ([#1199](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1199)) +- Add metric instrumentation in Pyramid + ([#1242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1242)) +- `opentelemetry-util-http` Add support for sanitizing HTTP header values. + ([#1253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1253)) +- Add metric instrumentation in starlette + ([#1327](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1327)) + +### Fixed + +- `opentelemetry-instrumentation-kafka-python`: wait for metadata + ([#1260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1260)) +- `opentelemetry-instrumentation-boto3sqs` Make propagation compatible with other SQS instrumentations, add 'messaging.url' span attribute, and fix missing package dependencies. + ([#1234](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1234)) +- `opentelemetry-instrumentation-pymongo` Change span names to not contain queries but only database name and command name + ([#1247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1247)) +- restoring metrics in django framework + ([#1208](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1208)) +- `opentelemetry-instrumentation-aiohttp-client` Fix producing additional spans with each newly created ClientSession +- ([#1246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1246)) +- Add \_is_opentelemetry_instrumented check in \_InstrumentedFastAPI class + ([#1313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1313)) +- Fix uninstrumentation of existing app instances in FastAPI + ([#1258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1258)) +- Fix uninstrumentation of existing app instances in falcon + ([#1341]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1341) + +## Version 1.12.0/0.33b0 (2022-08-08) + +- Adding multiple db connections support for django-instrumentation's sqlcommenter + ([#1187](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1187)) +- SQLCommenter semicolon bug fix + ([#1200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1200/files)) +- Adding sqlalchemy native tags in sqlalchemy commenter + ([#1206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1206)) +- Add psycopg2 native tags to sqlcommenter + ([#1203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1203)) + +### Added + +- `opentelemetry-instrumentation-redis` add support to instrument RedisCluster clients + ([#1177](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1177)) +- `opentelemetry-instrumentation-sqlalchemy` Added span for the connection phase ([#1133](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1133)) +- Add metric instrumentation in asgi + ([#1197](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1197)) +- Add metric instrumentation for flask + ([#1186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1186)) +- Add a test for asgi using NoOpTracerProvider + ([#1367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1367)) + +## [1.12.0rc2-0.32b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0rc2-0.32b0) - 2022-07-01 + +- Pyramid: Only categorize 500s server exceptions as errors + ([#1037](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1037)) + +### Fixed + +- Fix bug in system metrics by checking their configuration + ([#1129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1129)) +- Adding escape call to fix [auto-instrumentation not producing spans on Windows](https://github.com/open-telemetry/opentelemetry-python/issues/2703). + ([#1100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1100)) +- `opentelemetry-instrumentation-grpc` narrow protobuf dependency to exclude protobuf >= 4 + ([#1109](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1109)) +- cleanup type hints for textmap `Getter` and `Setter` classes +- Suppressing downstream HTTP instrumentation to avoid [extra spans](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/930) + ([#1116](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1116)) +- fixed typo in `system.network.io` metric configuration + ([#1135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1135)) + +### Added + +- `opentelemetry-instrumentation-aiohttp-client` Add support for optional custom trace_configs argument. + ([1079](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1079)) +- `opentelemetry-instrumentation-sqlalchemy` add support to instrument multiple engines + ([#1132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1132)) +- `opentelemetry-instrumentation-logging` add log hook support + ([#1117](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1117)) +- `opentelemetry-instrumentation-remoulade` Initial release + ([#1082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1082)) +- Added `opentelemetry-instrumention-confluent-kafka` + ([#1111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1111)) +- Set otlp-proto-grpc as the default metrics exporter for auto-instrumentation + ([#1127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1127)) +- Add metric instrumentation for WSGI + ([#1128](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1128)) +- Add metric instrumentation for Urllib3 + ([#1198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1198)) +- `opentelemetry-instrumentation-aio-pika` added RabbitMQ aio-pika module instrumentation. + ([#1095](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1095)) +- `opentelemetry-instrumentation-requests` Restoring metrics in requests + ([#1110](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1110)) +- Integrated sqlcommenter plugin into opentelemetry-instrumentation-django + ([#896](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/896)) + +## Version 1.12.0rc1/0.31b0 (2022-05-17) + +### Fixed + +- `opentelemetry-instrumentation-aiohttp-client` make span attributes available to sampler + ([#1072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1072)) +- `opentelemetry-instrumentation-aws-lambda` Fixed an issue - in some rare cases (API GW proxy integration test) + headers are set to None, breaking context propagators. + ([#1055](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1055)) +- Refactoring custom header collection API for consistency + ([#1064](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1064)) +- `opentelemetry-instrumentation-sqlalchemy` will correctly report `otel.library.name` + ([#1086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1086)) +- `opentelemetry-sdk-extension-aws` change timeout for AWS EC2 and EKS metadata requests from 1000 seconds and 2000 seconds to 1 second + +### Added + +- `opentelemetry-instrument` and `opentelemetry-bootstrap` now include a `--version` flag + ([#1065](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1065)) +- `opentelemetry-instrumentation-redis` now instruments asynchronous Redis clients, if the installed redis-py includes async support (>=4.2.0). + ([#1076](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1076)) +- `opentelemetry-instrumentation-boto3sqs` added AWS's SQS instrumentation. + ([#1081](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1081)) + +## Version 1.11.1/0.30b1 (2022-04-21) + +### Added + +- `opentelemetry-instrumentation-starlette` Capture custom request/response headers in span attributes + ([#1046](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1046)) + +### Fixed + +- Prune autoinstrumentation sitecustomize module directory from PYTHONPATH immediately + ([#1066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1066)) + +## Version 1.11.0/0.30b0 (2022-04-18) + +### Fixed + +- `opentelemetry-instrumentation-pyramid` Fixed which package is the correct caller in \_traced_init. + ([#830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/830)) +- `opentelemetry-instrumentation-tornado` Fix Tornado errors mapping to 500 + ([#1048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1048)) +- `opentelemetry-instrumentation-urllib` make span attributes available to sampler + ([1014](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1014)) +- `opentelemetry-instrumentation-flask` Fix non-recording span bug + ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) +- `opentelemetry-instrumentation-tornado` Fix non-recording span bug + ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) + +### Added + +- `opentelemetry-instrumentation-fastapi` Capture custom request/response headers in span attributes + ([#1032](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1032)) +- `opentelemetry-instrumentation-django` Capture custom request/response headers in span attributes + ([#1024](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1024)) +- `opentelemetry-instrumentation-asgi` Capture custom request/response headers in span attributes + ([#1004](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1004)) +- `opentelemetry-instrumentation-psycopg2` extended the sql commenter support of dbapi into psycopg2 + ([#940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/940)) +- `opentelemetry-instrumentation-falcon` Add support for falcon==1.4.1 + ([#1000](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1000)) +- `opentelemetry-instrumentation-falcon` Falcon: Capture custom request/response headers in span attributes + ([#1003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1003)) +- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including search target, replaces them with `` and puts the value in attribute `elasticsearch.target` + ([#1018](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1018)) +- `opentelemetry-instrumentation-pyramid` Handle non-HTTPException exceptions + ([#1001](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1001)) +- `opentelemetry-instrumentation-system-metrics` restore `SystemMetrics` instrumentation as `SystemMetricsInstrumentor` + ([#1012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1012)) +- `opentelemetry-instrumentation-pyramid` Pyramid: Capture custom request/response headers in span attributes + ([#1022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1022)) + +## Version 1.10.0/0.29b0 (2022-03-10) + +- `opentelemetry-instrumentation-wsgi` Capture custom request/response headers in span attributes + ([#925](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/925)) +- `opentelemetry-instrumentation-flask` Flask: Capture custom request/response headers in span attributes + ([#952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/952)) +- `opentelemetry-instrumentation-tornado` Tornado: Capture custom request/response headers in span attributes + ([#950](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/950)) + +### Added + +- `opentelemetry-instrumentation-aws-lambda` `SpanKind.SERVER` by default, add more cases for `SpanKind.CONSUMER` services. ([#926](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/926)) +- `opentelemetry-instrumentation-sqlalchemy` added experimental sql commenter capability + ([#924](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/924)) +- `opentelemetry-contrib-instrumentations` added new meta-package that installs all contrib instrumentations. + ([#681](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/681)) +- `opentelemetry-instrumentation-dbapi` add experimental sql commenter capability + ([#908](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/908)) +- `opentelemetry-instrumentation-requests` make span attribute available to samplers + ([#931](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/931)) +- `opentelemetry-datadog-exporter` add deprecation note to example. + ([#900](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/900)) + +### Fixed + +- `opentelemetry-instrumentation-dbapi` Changed the format of traceparent id. + ([#941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/941)) +- `opentelemetry-instrumentation-logging` retrieves service name defensively. + ([#890](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/890)) +- `opentelemetry-instrumentation-wsgi` WSGI: Conditionally create SERVER spans + ([#903](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/903)) +- `opentelemetry-instrumentation-falcon` Safer patching mechanism + ([#895](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/895)) +- `opentelemetry-instrumentation-kafka-python` Fix topic extraction + ([#949](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/949)) + +### Changed + +- `opentelemetry-instrumentation-pymemcache` should run against newer versions of pymemcache. + ([#935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/935)) + +## Version 1.9.1/0.28b1 (2022-01-29) + +### Fixed + +- `opentelemetry-instrumentation-pika` requires `packaging` dependency + +- `opentelemetry-instrumentation-tornado` Tornado: Conditionally create SERVER spans + ([#889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/889)) + +## Version 1.9.0/0.28b0 (2022-01-26) + +### Added + +- `opentelemetry-instrumentation-pyramid` Pyramid: Conditionally create SERVER spans + ([#869](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/869)) +- `opentelemetry-instrumentation-grpc` added `trailing_metadata` to \_OpenTelemetryServicerContext. + ([#871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/871)) +- `opentelemetry-instrumentation-asgi` now returns a `traceresponse` response header. + ([#817](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/817)) +- `opentelemetry-instrumentation-kafka-python` added kafka-python module instrumentation. + ([#814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/814)) +- `opentelemetry-instrumentation-falcon` Falcon: Conditionally create SERVER spans + ([#867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/867)) +- `opentelemetry-instrumentation-pymongo` now supports `pymongo v4` + ([#876](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/876)) + +- `opentelemetry-instrumentation-httpx` now supports versions higher than `0.19.0`. + ([#866](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/866)) + +### Fixed + +- `opentelemetry-instrumentation-django` Django: Conditionally create SERVER spans + ([#832](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/832)) +- `opentelemetry-instrumentation-flask` Flask: Conditionally create SERVER spans + ([#828](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/828)) +- `opentelemetry-instrumentation-celery` Celery: Support partial task time limit + ([#846](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/846)) +- `opentelemetry-instrumentation-asgi` ASGI: Conditionally create SERVER spans + ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/843)) +- `opentelemetry-instrumentation-django` Django: fix issue preventing detection of MIDDLEWARE_CLASSES +- `opentelemetry-instrumentation-sqlite3` Instrumentation now works with `dbapi2.connect` +- `opentelemetry-instrumentation-kafka` Kafka: safe kafka partition extraction + ([#872](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/872)) +- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Correct url filter input type + ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/864)) + +- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Remove `span_name` from docs + ([#857](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/857)) + +## Version 1.8.0/0.27b0 (2021-12-17) + +### Added + +- `opentelemetry-instrumentation-aws-lambda` Adds support for configurable flush timeout via `OTEL_INSTRUMENTATION_AWS_LAMBDA_FLUSH_TIMEOUT` property. ([#825](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/825)) +- `opentelemetry-instrumentation-pika` Adds support for versions between `0.12.0` to `1.0.0`. ([#837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/837)) + +### Fixed + +- `opentelemetry-instrumentation-urllib` Fixed an error on unexpected status values. + ([#823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/823)) + +- `opentelemetry-exporter-richconsole` Fixed attribute error on parentless spans. + ([#782](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/782)) + +- `opentelemetry-instrumentation-tornado` Add support instrumentation for Tornado 5.1.1 + ([#812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/812)) + +## Version 1.7.1/0.26b1 (2021-11-11) + +### Added + +- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - pkg metadata files (Part 1/2) + ([#739](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/739)) +- Add support for Python 3.10 + ([#742](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/742)) +- Pass in auto-instrumentation version to configurator + ([#783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/783)) +- `opentelemetry-instrumentation` Add `setuptools` to `install_requires` + ([#781](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/781)) +- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - Implementation (Part 2/2) + ([#777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/777)) +- `opentelemetry-instrumentation-pymongo` Add `request_hook`, `response_hook` and `failed_hook` callbacks passed as arguments to the instrument method + ([#793](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/793)) +- `opentelemetry-instrumentation-pymysql` Add support for PyMySQL 1.x series + ([#792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/792)) +- Add support for generic OTEL_PYTHON_EXCLUDED_URLS variable + ([#790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/790)) + +### Fixed + +- `opentelemetry-instrumentation-asgi` now explicitly depends on asgiref as it uses the package instead of instrumenting it. + ([#765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/765)) +- `opentelemetry-instrumentation-pika` now propagates context to basic_consume callback + ([#766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/766)) +- `opentelemetry-instrumentation-falcon` Dropped broken support for Python 3.4. + ([#774](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/774)) +- `opentelemetry-instrumentation-django` Fixed carrier usage on ASGI requests. + ([#767](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/767)) +- Don't set Span Status on 4xx http status code for SpanKind.SERVER spans + ([#776](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/776)) +- `opentelemetry-instrumentation-django` Fixed instrumentation and tests for all Django major versions. + ([#780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/780)) + +## Version 1.6.2/0.25b2 (2021-10-19) + +- `opentelemetry-instrumentation-sqlalchemy` Fix PostgreSQL instrumentation for Unix sockets + ([#761](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/761)) + +### Changed + +- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Release AWS Python SDK Extension as 2.0.1 and AWS Propagator as 1.0.1 + ([#753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/753)) +- `opentelemetry-instrumentation-pika` Add `_decorate_basic_consume` to ensure post instrumentation `basic_consume` calls are also instrumented. + ([#759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/759)) +- Consolidate instrumentation documentation in docstrings + ([#754](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/754)) + +### Fixed + +- `opentelemetry-distro` uses the correct entrypoint name which was updated in the core release of 1.6.0 but the distro was not updated with it + ([#755](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/755)) + +### Added + +- `opentelemetry-instrumentation-pika` Add `publish_hook` and `consume_hook` callbacks passed as arguments to the instrument method + ([#763](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/763)) + +## Version 1.6.1/0.25b1 (2021-10-18) + +### Changed + +- `opentelemetry-util-http` no longer contains an instrumentation entrypoint and will not be loaded + automatically by the auto instrumentor. + ([#745](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/745)) +- `opentelemetry-instrumentation-pika` Bugfix use properties.headers. It will prevent the header injection from raising. + ([#740](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/740)) +- `opentelemetry-instrumentation-botocore` Add extension for DynamoDB + ([#735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/735)) +- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Remove unnecessary dependencies on `opentelemetry-test` + ([#752](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/752)) +- `opentelemetry-instrumentation-botocore` Add Lambda extension + ([#760](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/760)) + +## Version 1.6.0/0.25b0 (2021-10-13) + +### Added + +- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 + ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) +- `opentelemetry-instrumentation-urllib3`, `opentelemetry-instrumentation-requests` + The `net.peer.ip` attribute is set to the IP of the connected HTTP server or proxy + using a new instrumentor in `opententelemetry-util-http` + ([#661](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/661)) +- `opentelemetry-instrumentation-pymongo` Add check for suppression key in PyMongo. + ([#736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/736)) +- `opentelemetry-instrumentation-elasticsearch` Added `response_hook` and `request_hook` callbacks + ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) +- `opentelemetry-instrumentation-redis` added request_hook and response_hook callbacks passed as arguments to the instrument method. + ([#669](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/669)) +- `opentelemetry-instrumentation-botocore` add `request_hook` and `response_hook` callbacks + ([679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/679)) +- `opentelemetry-exporter-richconsole` Initial release + ([#686](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/686)) +- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including document IDs, replaces them with `:id` and puts the value in attribute `elasticsearch.id` + ([#705](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/705)) +- `opentelemetry-instrumentation-tornado` now sets `http.client_ip` and `tornado.handler` attributes + ([#706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/706)) +- `opentelemetry-instrumentation-requests` added exclude urls functionality + ([#714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/714)) +- `opentelemetry-instrumentation-django` Add ASGI support + ([#391](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/391)) + +### Changed + +- `opentelemetry-instrumentation-flask` Fix `RuntimeError: Working outside of request context` + ([#734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/734)) +- `opentelemetry-propagators-aws-xray` Rename `AwsXRayFormat` to `AwsXRayPropagator` + ([#729](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/729)) +- `opentelemetry-instrumentation-sqlalchemy` Respect provided tracer provider when instrumenting SQLAlchemy + ([#728](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/728)) +- `opentelemetry-sdk-extension-aws` Move AWS X-Ray Propagator into its own `opentelemetry-propagators-aws` package + ([#720](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/720)) +- `opentelemetry-instrumentation-sqlalchemy` Added `packaging` dependency + ([#713](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/713)) +- `opentelemetry-instrumentation-jinja2` Allow instrumentation of newer Jinja2 versions. + ([#712](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/712)) +- `opentelemetry-instrumentation-botocore` Make common span attributes compliant with semantic conventions + ([#674](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/674)) +- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 + ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) +- `opentelemetry-instrumentation-botocore` Unpatch botocore Endpoint.prepare_request on uninstrument + ([#664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/664)) +- `opentelemetry-instrumentation-botocore` Fix span injection for lambda invoke + ([#663](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/663)) +- `opentelemetry-instrumentation-botocore` Introduce instrumentation extensions + ([#718](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/718)) +- `opentelemetry-instrumentation-urllib3` Updated `_RequestHookT` with two additional fields - the request body and the request headers + ([#660](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/660)) +- Tests for Falcon 3 support + ([#644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/644)) + +## Version 1.5.0/0.24b0 (2021-08-26) + +### Added + +- `opentelemetry-sdk-extension-aws` Add AWS resource detectors to extension package + ([#586](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/586)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-aiohttp-client`, `openetelemetry-instrumentation-fastapi`, + `opentelemetry-instrumentation-starlette`, `opentelemetry-instrumentation-urllib`, `opentelemetry-instrumentation-urllib3` Added `request_hook` and `response_hook` callbacks + ([#576](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/576)) +- `opentelemetry-instrumentation-pika` added RabbitMQ's pika module instrumentation. + ([#680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/680)) + +### Changed + +- `opentelemetry-instrumentation-fastapi` Allow instrumentation of newer FastAPI versions. + ([#602](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/602)) +- Enable explicit `excluded_urls` argument in `opentelemetry-instrumentation-flask` + ([#604](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/604)) + +## Version 1.4.0/0.23b0 (2021-07-21) + +### Removed + +- Move `opentelemetry-instrumentation` to the core repo. + ([#595](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/595)) + +### Changed + +- `opentelemetry-instrumentation-falcon` added support for Falcon 3. + ([#607](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/607)) +- `opentelemetry-instrumentation-tornado` properly instrument work done in tornado on_finish method. + ([#499](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/499)) +- `opentelemetry-instrumentation` Fixed cases where trying to use an instrumentation package without the + target library was crashing auto instrumentation agent. + ([#530](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/530)) +- Fix weak reference error for pyodbc cursor in SQLAlchemy instrumentation. + ([#469](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/469)) +- Implemented specification that HTTP span attributes must not contain username and password. + ([#538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/538)) +- Changed the psycopg2-binary to psycopg2 as dependency in production + ([#543](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/543)) +- Implement consistent way of checking if instrumentation is already active + ([#549](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/549)) +- Require aiopg to be less than 1.3.0 + ([#560](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/560)) +- `opentelemetry-instrumentation-django` Migrated Django middleware to new-style. + ([#533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/533)) +- Updating dependency for opentelemetry api/sdk packages to support major version instead + of pinning to specific versions. + ([#567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/567)) +- `opentelemetry-instrumentation-grpc` Respect the suppress instrumentation in gRPC client instrumentor + ([#559](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/559)) +- `opentelemetry-instrumentation-grpc` Fixed asynchronous unary call traces + ([#536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/536)) +- `opentelemetry-sdk-extension-aws` Update AWS entry points to match spec + ([#566](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/566)) +- Include Flask 2.0 as compatible with existing flask instrumentation + ([#545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/545)) +- `openelemetry-sdk-extension-aws` Take a dependency on `opentelemetry-sdk` + ([#558](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/558)) +- Change `opentelemetry-instrumentation-httpx` to replace `client` classes with instrumented versions. + ([#577](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/577)) +- `opentelemetry-instrumentation-requests` Fix potential `AttributeError` when `requests` + is used with a custom transport adapter. + ([#562](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/562)) +- `opentelemetry-instrumentation-django` Fix AttributeError: ResolverMatch object has no attribute route + ([#581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/581)) +- `opentelemetry-instrumentation-botocore` Suppress botocore downstream instrumentation like urllib3 + ([#563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/563)) +- `opentelemetry-exporter-datadog` Datadog exporter should not use `unknown_service` as fallback resource service name. + ([#570](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/570)) +- Add support for the async extension of SQLAlchemy (>= 1.4) + ([#568](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/568)) + +### Added + +- `opentelemetry-instrumentation-httpx` Add `httpx` instrumentation + ([#461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/461)) + +## Version 1.3.0/0.22b0 (2021-06-01) + +### Changed + +- `opentelemetry-bootstrap` not longer forcibly removes and re-installs libraries and their instrumentations. + This means running bootstrap will not auto-upgrade existing dependencies and as a result not cause dependency + conflicts. + ([#514](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/514)) +- `opentelemetry-instrumentation-asgi` Set the response status code on the server span + ([#478](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/478)) +- `opentelemetry-instrumentation-tornado` Fixed cases where description was used with non- + error status code when creating Status objects. + ([#504](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/504)) +- `opentelemetry-instrumentation-asgi` Fix instrumentation default span name. + ([#418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/418)) +- Propagators use the root context as default for `extract` and do not modify + the context if extracting from carrier does not work. + ([#488](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/488)) + +### Added + +- `opentelemetry-instrumentation-botocore` now supports + context propagation for lambda invoke via Payload embedded headers. + ([#458](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/458)) +- Added support for CreateKey functionality. + ([#502](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/502)) + +## Version 1.2.0/0.21b0 (2021-05-11) + +### Changed + +- Instrumentation packages don't specify the libraries they instrument as dependencies + anymore. Instead, they verify the correct version of libraries are installed at runtime. + ([#475](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/475)) +- `opentelemetry-propagator-ot-trace` Use `TraceFlags` object in `extract` + ([#472](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/472)) +- Set the `traced_request_attrs` of FalconInstrumentor by an argument correctly. + ([#473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/473)) +- Enable passing explicit urls to exclude in instrumentation in FastAPI + ([#486](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/486)) +- Distros can now implement `load_instrumentor(EntryPoint)` method to customize instrumentor + loading behaviour. + ([#480](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/480)) +- Fix entrypoint for ottrace propagator + ([#492](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/492)) + +### Added + +- Move `opentelemetry-instrumentation` from core repository + ([#465](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/465)) + +## Version 0.20b0 (2021-04-20) + +### Changed + +- Restrict DataDog exporter's `ddtrace` dependency to known working versions. + ([#400](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/400)) +- GRPC instrumentation now correctly injects trace context into outgoing requests. + ([#392](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/39)) +- Publish `opentelemetry-propagator-ot-trace` package as a part of the release process + ([#387](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/387)) +- Update redis instrumentation to follow semantic conventions + ([#403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/403)) +- Update instrumentations to use tracer_provider for creating tracer if given, otherwise use global tracer provider + ([#402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/402)) +- `opentelemetry-instrumentation-wsgi` Replaced `name_callback` with `request_hook` + and `response_hook` callbacks. + ([#424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/424)) +- Update gRPC instrumentation to better wrap server context + ([#420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/420)) +- `opentelemetry-instrumentation-redis` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) + ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) +- `opentelemetry-instrumentation-asyncpg` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) + ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) + +### Added + +- `opentelemetry-instrumentation-urllib3` Add urllib3 instrumentation + ([#299](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/299)) + +- `opentelemetry-instrumentation-flask` Added `request_hook` and `response_hook` callbacks. + ([#416](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/416)) + +- `opentelemetry-instrumenation-django` now supports request and response hooks. + ([#407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/407)) +- `opentelemetry-instrumentation-falcon` FalconInstrumentor now supports request/response hooks. + ([#415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/415)) +- `opentelemetry-instrumentation-tornado` Add request/response hooks. + ([#426](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/426)) +- `opentelemetry-exporter-datadog` Add parsing exception events for error tags. + ([#459](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/459)) +- `opentelemetry-instrumenation-django` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-tornado` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-pyramid` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-falcon` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-flask` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumentation-grpc` Keep client interceptor in sync with grpc client interceptors. + ([#442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/442)) + +### Removed + +- Remove `http.status_text` from span attributes + ([#406](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/406)) + +## Version 0.19b0 (2021-03-26) + +- Implement context methods for `_InterceptorChannel` + ([#363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/363)) + +### Changed + +- Rename `IdsGenerator` to `IdGenerator` + ([#350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/350)) +- `opentelemetry-exporter-datadog` Fix warning when DatadogFormat encounters a request with + no DD_ORIGIN headers ([#368](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/368)). +- `opentelemetry-instrumentation-aiopg` Fix multiple nested spans when + `aiopg.pool` is used + ([#336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/381)). +- Updated instrumentations to use `opentelemetry.trace.use_span` instead of `Tracer.use_span()` + ([#364](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/364)) +- `opentelemetry-propagator-ot-trace` Do not throw an exception when headers are not present + ([#378](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/378)) +- `opentelemetry-instrumentation-wsgi` Reimplement `keys` method to return actual keys from the carrier instead of an empty list. + ([#379](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/379)) +- `opentelemetry-instrumentation-sqlalchemy` Fix multithreading issues in recording spans from SQLAlchemy + ([#315](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/315)) +- Make getters and setters optional + ([#372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/372)) + +### Removed + +- Removing support for Python 3.5 + ([#374](https://github.com/open-telemetry/opentelemetry-python/pull/374)) + +## Version 0.18b0 (2021-02-16) + +### Added + +- `opentelemetry-propagator-ot-trace` Add OT Trace Propagator + ([#302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/302)) +- `opentelemetry-instrumentation-logging` Added logging instrumentation to enable log - trace correlation. + ([#345](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/345)) + +### Removed + +- Remove `component` span attribute in instrumentations. + `opentelemetry-instrumentation-aiopg`, `opentelemetry-instrumentation-dbapi` Remove unused `database_type` parameter from `trace_integration` function. + ([#301](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/301)) +- `opentelemetry-instrumentation-asgi` Return header values using case insensitive keys + ([#308](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/308)) +- Remove metrics from all instrumentations + ([#312](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/312)) +- `opentelemetry-instrumentation-boto` updated to set span attributes instead of overriding the resource. + ([#310](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/310)) +- `opentelemetry-instrumentation-grpc` Fix issue tracking child spans in streaming responses + ([#260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/260)) +- `opentelemetry-instrumentation-grpc` Updated client attributes, added tests, fixed examples, docs + ([#269](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/269)) + +## Version 0.17b0 (2021-01-20) + +### Added + +- `opentelemetry-instrumentation-sqlalchemy` Ensure spans have kind set to "CLIENT" + ([#278](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/278)) +- `opentelemetry-instrumentation-celery` Add support for Celery version 5.x + ([#266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/266)) +- `opentelemetry-instrumentation-urllib` Add urllib instrumentation + ([#222](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/222)) +- `opentelemetry-exporter-datadog` Add fields method + ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) +- `opentelemetry-sdk-extension-aws` Add method to return fields injected by propagator + ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) +- `opentelemetry-exporter-prometheus-remote-write` Prometheus Remote Write Exporter Setup + ([#180](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/180)) +- `opentelemetry-exporter-prometheus-remote-write` Add Exporter constructor validation methods in Prometheus Remote Write Exporter + ([#206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/206)) +- `opentelemetry-exporter-prometheus-remote-write` Add conversion to TimeSeries methods in Prometheus Remote Write Exporter + ([#207](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/207)) +- `opentelemetry-exporter-prometheus-remote-write` Add request methods to Prometheus Remote Write Exporter + ([#212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/212)) +- `opentelemetry-instrumentation-fastapi` Added support for excluding some routes with env var `OTEL_PYTHON_FASTAPI_EXCLUDED_URLS` + ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) +- `opentelemetry-instrumentation-starlette` Added support for excluding some routes with env var `OTEL_PYTHON_STARLETTE_EXCLUDED_URLS` + ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) +- Add Prometheus Remote Write Exporter integration tests in opentelemetry-docker-tests + ([#216](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/216)) +- `opentelemetry-instrumentation-grpc` Add tests for grpc span attributes, grpc `abort()` conditions + ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) +- Add README and example app for Prometheus Remote Write Exporter + ([#227](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/227])) +- `opentelemetry-instrumentation-botocore` Adds a field to report the number of retries it take to complete an API call + ([#275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/275)) +- `opentelemetry-instrumentation-requests` Use instanceof to check if responses are valid Response objects + ([#273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/273)) + +### Changed + +- Fix broken links to project ([#413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/413)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-wsgi` Return `None` for `CarrierGetter` if key not found + ([#233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/233)) +- `opentelemetry-instrumentation-grpc` Comply with updated spec, rework tests + ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-falcon`, `opentelemetry-instrumentation-flask`, `opentelemetry-instrumentation-pyramid`, `opentelemetry-instrumentation-wsgi` Renamed `host.port` attribute to `net.host.port` + ([#242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/242)) +- `opentelemetry-instrumentation-flask` Do not emit a warning message for request contexts created with `app.test_request_context` + ([#253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/253)) +- `opentelemetry-instrumentation-requests`, `opentelemetry-instrumentation-urllib` Fix span name callback parameters + ([#259](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/259)) +- `opentelemetry-exporter-datadog` Fix unintentional type change of span trace flags + ([#261](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/261)) +- `opentelemetry-instrumentation-aiopg` Fix AttributeError `__aexit__` when `aiopg.connect` and `aio[g].create_pool` used with async context manager + ([#235](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/235)) +- `opentelemetry-exporter-datadog` `opentelemetry-sdk-extension-aws` Fix reference to ids_generator in sdk + ([#283](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/283)) +- `opentelemetry-instrumentation-sqlalchemy` Use SQL operation and DB name as span name. + ([#254](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/254)) +- `opentelemetry-instrumentation-dbapi`, `TracedCursor` replaced by `CursorTracer` + ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) +- `opentelemetry-instrumentation-psycopg2`, Added support for psycopg2 registered types. + ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) +- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-mysql`, `opentelemetry-instrumentation-pymysql`, `opentelemetry-instrumentation-aiopg` Use SQL command name as the span operation name instead of the entire query. + ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) +- Update TraceState to adhere to specs + ([#276](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/276)) + +### Removed + +- Remove Configuration + ([#285](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/285)) + +## Version 0.16b1 (2020-11-26) + +## Version 0.16b0 (2020-11-25) + +### Added + +- `opentelemetry-instrumentation-flask` Add span name callback + ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/152)) +- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Ids Generator Entry Point + ([#201](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/201)) +- `opentelemetry-sdk-extension-aws` Fix typo for installing OTel SDK in docs + ([#200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/200)) +- `opentelemetry-sdk-extension-aws` Import missing components for docs + ([#198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/198)) +- `opentelemetry-sdk-extension-aws` Provide components needed to Configure OTel SDK for Tracing with AWS X-Ray + ([#130](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/130)) +- `opentelemetry-instrumentation-sklearn` Initial release + ([#151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/151)) +- `opentelemetry-instrumentation-requests` Add span name callback + ([#158](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/158)) +- `opentelemetry-instrumentation-botocore` Add propagator injection for botocore calls + ([#181](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/181)) + +### Changed + +- `opentelemetry-instrumentation-pymemcache` Update pymemcache instrumentation to follow semantic conventions + ([#183](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/183)) +- `opentelemetry-instrumentation-redis` Update redis instrumentation to follow semantic conventions + ([#184](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/184)) +- `opentelemetry-instrumentation-pymongo` Update pymongo instrumentation to follow semantic conventions + ([#203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/203)) +- `opentelemetry-instrumentation-sqlalchemy` Update sqlalchemy instrumentation to follow semantic conventions + ([#202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/202)) +- `opentelemetry-instrumentation-botocore` Make botocore instrumentation check if instrumentation has been suppressed + ([#182](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/182)) +- `opentelemetry-instrumentation-botocore` Botocore SpanKind as CLIENT and modify existing traced attributes + ([#150](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/150)) +- `opentelemetry-instrumentation-dbapi` Update dbapi and its dependent instrumentations to follow semantic conventions + ([#195](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/195)) +- `opentelemetry-instrumentation-dbapi` Stop capturing query parameters by default + ([#156](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/156)) +- `opentelemetry-instrumentation-asyncpg` Update asyncpg instrumentation to follow semantic conventions + ([#188](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/188)) +- `opentelemetry-instrumentation-grpc` Update protobuf versions + ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) + +## Version 0.15b0 (2020-11-02) + +### Added + +- `opentelemetry-instrumentation-requests` Add support for tracking http metrics + ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) +- `opentelemetry-instrumentation-django` Added capture of http.route + ([#1226](https://github.com/open-telemetry/opentelemetry-python/issues/1226)) +- `opentelemetry-instrumentation-django` Add support for tracking http metrics + ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) + +### Changed + +- `opentelemetry-exporter-datadog` Make `SpanProcessor.on_start` accept parent Context + ([#1251](https://github.com/open-telemetry/opentelemetry-python/pull/1251)) +- `opentelemetry-instrumentation-flask` Use `url.rule` instead of `request.endpoint` for span name + ([#1260](https://github.com/open-telemetry/opentelemetry-python/pull/1260)) +- `opentelemetry-instrumentation-django` Django instrumentation is now enabled by default but can be disabled by setting `OTEL_PYTHON_DJANGO_INSTRUMENT` to `False` + ([#1239](https://github.com/open-telemetry/opentelemetry-python/pull/1239)) +- `opentelemetry-instrumentation-django` Bugfix use request.path replace request.get_full_path(). It will get correct span name + ([#1309](https://github.com/open-telemetry/opentelemetry-python/pull/1309#)) +- `opentelemetry-instrumentation-django` Record span status and http.status_code attribute on exception + ([#1257](https://github.com/open-telemetry/opentelemetry-python/pull/1257)) +- `opentelemetry-instrumentation-grpc` Rewrite gRPC server interceptor + ([#1171](https://github.com/open-telemetry/opentelemetry-python/pull/1171)) + +## Version 0.14b0 (2020-10-13) + +### Added + +- `opentelemetry-exporter-datadog` Add support for span resource labels and service name +- `opentelemetry-instrumentation-celery` Span operation names now include the task type. + ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) +- `opentelemetry-instrumentation-celery` Added automatic context propagation. + ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) +- `opentelemetry-instrumentation-falcon` Added support for `OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS` + ([#1158](https://github.com/open-telemetry/opentelemetry-python/pull/1158)) +- `opentelemetry-instrumentation-tornado` Added support for `OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS` + ([#1178](https://github.com/open-telemetry/opentelemetry-python/pull/1178)) +- `opentelemetry-instrumentation-django` Added support for `OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS` + ([#1154](https://github.com/open-telemetry/opentelemetry-python/pull/1154)) + +### Changed + +- `opentelemetry-instrumentation-pymongo` Cast PyMongo commands as strings + ([#1132](https://github.com/open-telemetry/opentelemetry-python/pull/1132)) +- `opentelemetry-instrumentation-system-metrics` Fix issue when specific metrics are not available in certain OS + ([#1207](https://github.com/open-telemetry/opentelemetry-python/pull/1207)) +- `opentelemetry-instrumentation-pymysql` Bumped version from 0.9.3 to 0.10.1 + ([#1228](https://github.com/open-telemetry/opentelemetry-python/pull/1228)) +- `opentelemetry-instrumentation-django` Changed span name extraction from request to comply semantic convention + ([#992](https://github.com/open-telemetry/opentelemetry-python/pull/992)) + +## Version 0.13b0 (2020-09-17) + +### Added + +- `opentelemetry-instrumentation-falcon` Initial release. Added instrumentation for Falcon 2.0+ +- `opentelemetry-instrumentation-tornado` Initial release. Supports Tornado 6.x on Python 3.5 and newer. +- `opentelemetry-instrumentation-aiohttp-client` Add instrumentor and auto instrumentation support for aiohttp + ([#1075](https://github.com/open-telemetry/opentelemetry-python/pull/1075)) +- `opentelemetry-instrumentation-requests` Add support for instrumenting prepared requests + ([#1040](https://github.com/open-telemetry/opentelemetry-python/pull/1040)) +- `opentelemetry-instrumentation-requests` Add support for http metrics + ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116)) + +### Changed + +- `opentelemetry-instrumentation-aiohttp-client` Updating span name to match semantic conventions + ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) +- `opentelemetry-instrumentation-dbapi` cursors and connections now produce spans when used with context managers + ([#1028](https://github.com/open-telemetry/opentelemetry-python/pull/1028)) + +### Removed + +- Drop support for Python 3.4 + ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) + +## Version 0.12b0 (2020-08-14) + +### Changed + +- `opentelemetry-ext-pymemcache` Change package name to opentelemetry-instrumentation-pymemcache + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-redis` Update default SpanKind to `SpanKind.CLIENT` + ([#965](https://github.com/open-telemetry/opentelemetry-python/pull/965)) +- `opentelemetry-ext-redis` Change package name to opentelemetry-instrumentation-redis + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-datadog` Change package name to opentelemetry-exporter-datadog + ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) +- `opentelemetry-ext-jinja2` Change package name to opentelemetry-instrumentation-jinja2 + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-elasticsearch` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-elasticsearch` Change package name to opentelemetry-instrumentation-elasticsearch + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-celery` Change package name to opentelemetry-instrumentation-celery + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-pyramid` Change package name to opentelemetry-instrumentation-pyramid + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-pyramid` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-pymongo` Change package name to opentelemetry-instrumentation-pymongo + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-sqlite3` Change package name to opentelemetry-instrumentation-sqlite3 + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-sqlalchemy` Change package name to opentelemetry-instrumentation-sqlalchemy + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-psycopg2` Change package name to opentelemetry-instrumentation-psycopg2 + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-aiohttp-client` Change package name to opentelemetry-instrumentation-aiohttp-client + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-boto` Change package name to opentelemetry-instrumentation-boto + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-system-metrics` Change package name to opentelemetry-instrumentation-system-metrics + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-asgi` Change package name to opentelemetry-instrumentation-asgi + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-wsgi` Change package name to opentelemetry-instrumentation-wsgi + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-pymysql` Change package name to opentelemetry-instrumentation-pymysql + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-requests` Change package name to opentelemetry-instrumentation-requests + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-requests` Span name reported updated to follow semantic conventions to reduce + cardinality ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) +- `opentelemetry-ext-botocore` Change package name to opentelemetry-instrumentation-botocore + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-dbapi` Change package name to opentelemetry-instrumentation-dbapi + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-flask` Change package name to opentelemetry-instrumentation-flask + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-flask` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-django` Change package name to opentelemetry-instrumentation-django + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-django` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-asyncpg` Change package name to opentelemetry-instrumentation-asyncpg + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-mysql` Change package name to opentelemetry-instrumentation-mysql + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-grpc` Change package name to opentelemetry-instrumentation-grpc + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) + +## Version 0.11b0 (2020-07-28) + +### Added + +- `opentelemetry-instrumentation-aiopg` Initial release +- `opentelemetry-instrumentation-fastapi` Initial release + ([#890](https://github.com/open-telemetry/opentelemetry-python/pull/890)) +- `opentelemetry-ext-grpc` Add status code to gRPC client spans + ([896](https://github.com/open-telemetry/opentelemetry-python/pull/896)) +- `opentelemetry-ext-grpc` Add gRPC client and server instrumentors + ([788](https://github.com/open-telemetry/opentelemetry-python/pull/788)) +- `opentelemetry-ext-grpc` Add metric recording (bytes in/out, errors, latency) to gRPC client + +### Changed + +- `opentelemetry-ext-pyramid` Use one general exclude list instead of two + ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) +- `opentelemetry-ext-boto` fails to export spans via jaeger + ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) +- `opentelemetry-ext-botocore` fails to export spans via jaeger + ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) +- `opentelemetry-ext-wsgi` Set span status on wsgi errors + ([#864](https://github.com/open-telemetry/opentelemetry-python/pull/864)) +- `opentelemetry-ext-flask` Use one general exclude list instead of two + ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) +- `opentelemetry-ext-django` Use one general exclude list instead of two + ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) +- `opentelemetry-ext-asyncpg` Shouldn't capture query parameters by default + ([#854](https://github.com/open-telemetry/opentelemetry-python/pull/854)) +- `opentelemetry-ext-mysql` bugfix: Fix auto-instrumentation entry point for mysql + ([#858](https://github.com/open-telemetry/opentelemetry-python/pull/858)) + +## Version 0.10b0 (2020-06-23) + +### Added + +- `opentelemetry-ext-pymemcache` Initial release +- `opentelemetry-ext-elasticsearch` Initial release +- `opentelemetry-ext-celery` Add instrumentation for Celery + ([#780](https://github.com/open-telemetry/opentelemetry-python/pull/780)) +- `opentelemetry-instrumentation-starlette` Initial release + ([#777](https://github.com/open-telemetry/opentelemetry-python/pull/777)) +- `opentelemetry-ext-asyncpg` Initial Release + ([#814](https://github.com/open-telemetry/opentelemetry-python/pull/814)) + +## Version 0.9b0 (2020-06-10) + +### Added + +- `opentelemetry-ext-pyramid` Initial release +- `opentelemetry-ext-boto` Initial release +- `opentelemetry-ext-botocore` Initial release +- `opentelemetry-ext-system-metrics` Initial release + (https://github.com/open-telemetry/opentelemetry-python/pull/652) + +## Version 0.8b0 (2020-05-27) + +### Added + +- `opentelemetry-ext-datadog` Add exporter to Datadog + ([#572](https://github.com/open-telemetry/opentelemetry-python/pull/572)) +- `opentelemetry-ext-sqlite3` Initial release +- `opentelemetry-ext-psycopg2` Implement instrumentor interface, enabling auto-instrumentation + ([#694](https://github.com/open-telemetry/opentelemetry-python/pull/694)) +- `opentelemetry-ext-asgi` Add ASGI middleware + ([#716](https://github.com/open-telemetry/opentelemetry-python/pull/716)) +- `opentelemetry-ext-django` Add exclude list for paths and hosts to prevent from tracing + ([#670](https://github.com/open-telemetry/opentelemetry-python/pull/670)) +- `opentelemetry-ext-django` Add support for django >= 1.10 (#717) + +### Changed + +- `opentelemetry-ext-grpc` lint: version of grpc causes lint issues + ([#696](https://github.com/open-telemetry/opentelemetry-python/pull/696)) + +## Version 0.7b1 (2020-05-12) + +### Added + +- `opentelemetry-ext-redis` Initial release +- `opentelemetry-ext-jinja2` Add jinja2 instrumentation + ([#643](https://github.com/open-telemetry/opentelemetry-python/pull/643)) +- `opentelemetry-ext-pymongo` Implement instrumentor interface + ([#612](https://github.com/open-telemetry/opentelemetry-python/pull/612)) +- `opentelemetry-ext-sqlalchemy` Initial release +- `opentelemetry-ext-aiohttp-client` Initial release +- `opentelemetry-ext-pymysql` Initial release +- `opentelemetry-ext-http-requests` Implement instrumentor interface, enabling auto-instrumentation + ([#597](https://github.com/open-telemetry/opentelemetry-python/pull/597)) +- `opentelemetry-ext-http-requests` Adding disable_session for more granular instrumentation control + ([#573](https://github.com/open-telemetry/opentelemetry-python/pull/573)) +- `opentelemetry-ext-http-requests` Add a callback for custom attributes + ([#656](https://github.com/open-telemetry/opentelemetry-python/pull/656)) +- `opentelemetry-ext-dbapi` Implement instrument_connection and uninstrument_connection + ([#624](https://github.com/open-telemetry/opentelemetry-python/pull/624)) +- `opentelemetry-ext-flask` Add exclude list for paths and hosts + ([#630](https://github.com/open-telemetry/opentelemetry-python/pull/630)) +- `opentelemetry-ext-django` Initial release +- `opentelemetry-ext-mysql` Implement instrumentor interface + ([#654](https://github.com/open-telemetry/opentelemetry-python/pull/654)) + +### Changed + +- `opentelemetry-ext-http-requests` Rename package to opentelemetry-ext-requests + ([#619](https://github.com/open-telemetry/opentelemetry-python/pull/619)) + +## Version 0.6b0 (2020-03-30) + +### Added + +- `opentelemetry-ext-flask` Add an entry_point to be usable in auto-instrumentation + ([#327](https://github.com/open-telemetry/opentelemetry-python/pull/327)) +- `opentelemetry-ext-grpc` Add gRPC integration + ([#476](https://github.com/open-telemetry/opentelemetry-python/pull/476)) + +## Version 0.5b0 (2020-03-16) + +## Version 0.4a0 (2020-02-21) + +### Added + +- `opentelemetry-ext-psycopg2` Initial release +- `opentelemetry-ext-dbapi` Initial release +- `opentelemetry-ext-mysql` Initial release + +### Changed + +- `opentelemetry-ext-pymongo` Updating network connection attribute names + ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) +- `opentelemetry-ext-wsgi` Updating network connection attribute names + ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) +- `opentelemetry-ext-flask` Use string keys for WSGI environ values + ([#366](https://github.com/open-telemetry/opentelemetry-python/pull/366)) + +## Version 0.3a0 (2019-12-11) + +### Added + +- `opentelemetry-ext-flask` Initial release +- `opentelemetry-ext-pymongo` Initial release + +### Changed + +- `opentelemetry-ext-wsgi` Support new semantic conventions + ([#299](https://github.com/open-telemetry/opentelemetry-python/pull/299)) +- `opentelemetry-ext-wsgi` Updates for core library changes + +## Version 0.2a0 (2019-10-29) + +### Changed + +- `opentelemetry-ext-wsgi` Updates for core library changes +- `opentelemetry-ext-http-requests` Updates for core library changes + +- `Added support for PyPy3` Initial release + +## [#1033](https://github.com/open-telemetryopentelemetry-python-contrib/issues/1033) + +## Version 0.1a0 (2019-09-30) + +### Added + +- `opentelemetry-ext-wsgi` Initial release +- `opentelemetry-ext-http-requests` Initial release + +- Drop support for 3.7 + ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) +- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector + ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) +- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times + ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka + ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) +- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) + ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) +- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call + ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) +- AwsLambdaInstrumentor handles and re-raises function exception ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245)) From c724c5e053c7304a67f89d0b5084adb1a26ef6f0 Mon Sep 17 00:00:00 2001 From: Alex Kondratev Date: Sat, 11 Oct 2025 13:11:19 +0300 Subject: [PATCH 3/5] fix crlf --- .github/workflows/core_contrib_test_0.yml | 6048 +++++----- .github/workflows/lint_0.yml | 2650 ++--- .github/workflows/test_1.yml | 9794 ++++++++--------- instrumentation/README.md | 108 +- .../pyproject.toml | 202 +- .../instrumentation/bootstrap_gen.py | 456 +- pyproject.toml | 450 +- tox.ini | 2192 ++-- 8 files changed, 10950 insertions(+), 10950 deletions(-) diff --git a/.github/workflows/core_contrib_test_0.yml b/.github/workflows/core_contrib_test_0.yml index 629a45a462..4540e6bf15 100644 --- a/.github/workflows/core_contrib_test_0.yml +++ b/.github/workflows/core_contrib_test_0.yml @@ -1,3024 +1,3024 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Core Contrib Test 0 - -on: - workflow_call: - inputs: - CORE_REPO_SHA: - required: true - type: string - CONTRIB_REPO_SHA: - required: true - type: string - -permissions: - contents: read - -env: - CORE_REPO_SHA: ${{ inputs.CORE_REPO_SHA }} - CONTRIB_REPO_SHA: ${{ inputs.CONTRIB_REPO_SHA }} - PIP_EXISTS_ACTION: w - -jobs: - - py39-test-instrumentation-openai-v2-oldest: - name: instrumentation-openai-v2-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-openai-v2-oldest -- -ra - - py39-test-instrumentation-openai-v2-latest: - name: instrumentation-openai-v2-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-openai-v2-latest -- -ra - - py39-test-instrumentation-vertexai-oldest: - name: instrumentation-vertexai-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-vertexai-oldest -- -ra - - py39-test-instrumentation-vertexai-latest: - name: instrumentation-vertexai-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-vertexai-latest -- -ra - - py39-test-instrumentation-google-genai-oldest: - name: instrumentation-google-genai-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-google-genai-oldest -- -ra - - py39-test-instrumentation-google-genai-latest: - name: instrumentation-google-genai-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-google-genai-latest -- -ra - - py39-test-resource-detector-containerid: - name: resource-detector-containerid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-resource-detector-containerid -- -ra - - py39-test-resource-detector-azure-0: - name: resource-detector-azure-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-resource-detector-azure-0 -- -ra - - py39-test-resource-detector-azure-1: - name: resource-detector-azure-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-resource-detector-azure-1 -- -ra - - py39-test-sdk-extension-aws-0: - name: sdk-extension-aws-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-sdk-extension-aws-0 -- -ra - - py39-test-sdk-extension-aws-1: - name: sdk-extension-aws-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-sdk-extension-aws-1 -- -ra - - py39-test-distro: - name: distro - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-distro -- -ra - - py39-test-opentelemetry-instrumentation: - name: opentelemetry-instrumentation - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-opentelemetry-instrumentation -- -ra - - py39-test-instrumentation-aiohttp-client: - name: instrumentation-aiohttp-client - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiohttp-client -- -ra - - py39-test-instrumentation-aiohttp-server: - name: instrumentation-aiohttp-server - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiohttp-server -- -ra - - py39-test-instrumentation-aiopg: - name: instrumentation-aiopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiopg -- -ra - - py39-test-instrumentation-aws-lambda: - name: instrumentation-aws-lambda - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aws-lambda -- -ra - - py39-test-instrumentation-botocore-0: - name: instrumentation-botocore-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-botocore-0 -- -ra - - py39-test-instrumentation-botocore-1: - name: instrumentation-botocore-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-botocore-1 -- -ra - - py39-test-instrumentation-boto3sqs: - name: instrumentation-boto3sqs - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-boto3sqs -- -ra - - py39-test-instrumentation-django-0: - name: instrumentation-django-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-django-0 -- -ra - - py39-test-instrumentation-django-1: - name: instrumentation-django-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-django-1 -- -ra - - py39-test-instrumentation-django-2: - name: instrumentation-django-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-django-2 -- -ra - - py39-test-instrumentation-dbapi: - name: instrumentation-dbapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-dbapi -- -ra - - py39-test-instrumentation-boto: - name: instrumentation-boto - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-boto -- -ra - - py39-test-instrumentation-asyncclick: - name: instrumentation-asyncclick - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncclick -- -ra - - py39-test-instrumentation-click: - name: instrumentation-click - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-click -- -ra - - py39-test-instrumentation-elasticsearch-0: - name: instrumentation-elasticsearch-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-elasticsearch-0 -- -ra - - py39-test-instrumentation-elasticsearch-1: - name: instrumentation-elasticsearch-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-elasticsearch-1 -- -ra - - py39-test-instrumentation-elasticsearch-2: - name: instrumentation-elasticsearch-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-elasticsearch-2 -- -ra - - py39-test-instrumentation-falcon-0: - name: instrumentation-falcon-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-0 -- -ra - - py39-test-instrumentation-falcon-1: - name: instrumentation-falcon-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-1 -- -ra - - py39-test-instrumentation-falcon-2: - name: instrumentation-falcon-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-2 -- -ra - - py39-test-instrumentation-falcon-3: - name: instrumentation-falcon-3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-falcon-3 -- -ra - - py39-test-instrumentation-fastapi: - name: instrumentation-fastapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-fastapi -- -ra - - py39-test-instrumentation-flask-0: - name: instrumentation-flask-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-flask-0 -- -ra - - py39-test-instrumentation-flask-1: - name: instrumentation-flask-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-flask-1 -- -ra - - py39-test-instrumentation-flask-2: - name: instrumentation-flask-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-flask-2 -- -ra - - py39-test-instrumentation-urllib: - name: instrumentation-urllib - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-urllib -- -ra - - py39-test-instrumentation-urllib3-0: - name: instrumentation-urllib3-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-urllib3-0 -- -ra - - py39-test-instrumentation-urllib3-1: - name: instrumentation-urllib3-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-urllib3-1 -- -ra - - py39-test-instrumentation-requests: - name: instrumentation-requests - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-requests -- -ra - - py39-test-instrumentation-starlette-oldest: - name: instrumentation-starlette-oldest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-starlette-oldest -- -ra - - py39-test-instrumentation-starlette-latest: - name: instrumentation-starlette-latest - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-starlette-latest -- -ra - - py39-test-instrumentation-jinja2: - name: instrumentation-jinja2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-jinja2 -- -ra - - py39-test-instrumentation-logging: - name: instrumentation-logging - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-logging -- -ra - - py39-test-exporter-richconsole: - name: exporter-richconsole - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-richconsole -- -ra - - py39-test-exporter-prometheus-remote-write: - name: exporter-prometheus-remote-write - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-prometheus-remote-write -- -ra - - py39-test-instrumentation-mysql-0: - name: instrumentation-mysql-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-0 -- -ra - - py39-test-instrumentation-mysql-1: - name: instrumentation-mysql-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-1 -- -ra - - py39-test-instrumentation-mysqlclient: - name: instrumentation-mysqlclient - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysqlclient -- -ra - - py39-test-instrumentation-psycopg2: - name: instrumentation-psycopg2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2 -- -ra - - py39-test-instrumentation-psycopg2-binary: - name: instrumentation-psycopg2-binary - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra - - py39-test-instrumentation-psycopg: - name: instrumentation-psycopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg -- -ra - - py39-test-instrumentation-pymemcache-0: - name: instrumentation-pymemcache-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra - - py39-test-instrumentation-pymemcache-1: - name: instrumentation-pymemcache-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra - - py39-test-instrumentation-pymemcache-2: - name: instrumentation-pymemcache-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra - - py39-test-instrumentation-pymemcache-3: - name: instrumentation-pymemcache-3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra - - py39-test-instrumentation-pymemcache-4: - name: instrumentation-pymemcache-4 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra - - py39-test-instrumentation-pymongo: - name: instrumentation-pymongo - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymongo -- -ra - - py39-test-instrumentation-pymysql: - name: instrumentation-pymysql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymysql -- -ra - - py39-test-instrumentation-pymssql: - name: instrumentation-pymssql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymssql -- -ra - - py39-test-instrumentation-pyramid: - name: instrumentation-pyramid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pyramid -- -ra - - py39-test-instrumentation-asgi: - name: instrumentation-asgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asgi -- -ra - - py39-test-instrumentation-asyncpg: - name: instrumentation-asyncpg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncpg -- -ra - - py39-test-instrumentation-sqlite3: - name: instrumentation-sqlite3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlite3 -- -ra - - py39-test-instrumentation-wsgi: - name: instrumentation-wsgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-wsgi -- -ra - - py39-test-instrumentation-grpc-0: - name: instrumentation-grpc-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-0 -- -ra - - py39-test-instrumentation-grpc-1: - name: instrumentation-grpc-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-1 -- -ra - - py39-test-instrumentation-sqlalchemy-1: - name: instrumentation-sqlalchemy-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra - - py39-test-instrumentation-sqlalchemy-2: - name: instrumentation-sqlalchemy-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra - - py39-test-instrumentation-redis: - name: instrumentation-redis - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-redis -- -ra - - py39-test-instrumentation-remoulade: - name: instrumentation-remoulade - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-remoulade -- -ra - - py39-test-instrumentation-celery: - name: instrumentation-celery - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-celery -- -ra - - py39-test-instrumentation-system-metrics: - name: instrumentation-system-metrics - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-system-metrics -- -ra - - py39-test-instrumentation-taskiq: - name: instrumentation-taskiq - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-taskiq -- -ra - - py39-test-instrumentation-threading: - name: instrumentation-threading - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-threading -- -ra - - py39-test-instrumentation-tornado: - name: instrumentation-tornado - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tornado -- -ra - - py39-test-instrumentation-tortoiseorm: - name: instrumentation-tortoiseorm - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tortoiseorm -- -ra - - py39-test-instrumentation-httpx-0: - name: instrumentation-httpx-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-0 -- -ra - - py39-test-instrumentation-httpx-1: - name: instrumentation-httpx-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-1 -- -ra - - py39-test-util-http: - name: util-http - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-http -- -ra - - py39-test-exporter-credential-provider-gcp: - name: exporter-credential-provider-gcp - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-credential-provider-gcp -- -ra - - py39-test-util-genai: - name: util-genai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-genai -- -ra - - py39-test-propagator-aws-xray-0: - name: propagator-aws-xray-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-0 -- -ra - - py39-test-propagator-aws-xray-1: - name: propagator-aws-xray-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-1 -- -ra - - py39-test-propagator-ot-trace: - name: propagator-ot-trace - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-ot-trace -- -ra - - py39-test-instrumentation-sio-pika-0: - name: instrumentation-sio-pika-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra - - py39-test-instrumentation-sio-pika-1: - name: instrumentation-sio-pika-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra - - py39-test-instrumentation-aio-pika-0: - name: instrumentation-aio-pika-0 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra - - py39-test-instrumentation-aio-pika-1: - name: instrumentation-aio-pika-1 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra - - py39-test-instrumentation-aio-pika-2: - name: instrumentation-aio-pika-2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-2 -- -ra - - py39-test-instrumentation-aio-pika-3: - name: instrumentation-aio-pika-3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-3 -- -ra - - py39-test-instrumentation-aiokafka: - name: instrumentation-aiokafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aiokafka -- -ra - - py39-test-instrumentation-kafka-python: - name: instrumentation-kafka-python - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-kafka-python -- -ra - - py39-test-instrumentation-kafka-pythonng: - name: instrumentation-kafka-pythonng - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-kafka-pythonng -- -ra - - py39-test-instrumentation-confluent-kafka: - name: instrumentation-confluent-kafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-confluent-kafka -- -ra - - py39-test-instrumentation-asyncio: - name: instrumentation-asyncio - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncio -- -ra - - py39-test-instrumentation-cassandra: - name: instrumentation-cassandra - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-cassandra -- -ra - - py39-test-processor-baggage: - name: processor-baggage - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python-contrib - ref: ${{ env.CONTRIB_REPO_SHA }} - - - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} - uses: actions/checkout@v4 - with: - repository: open-telemetry/opentelemetry-python - ref: ${{ env.CORE_REPO_SHA }} - path: opentelemetry-python - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - architecture: "x64" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-processor-baggage -- -ra +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: Core Contrib Test 0 + +on: + workflow_call: + inputs: + CORE_REPO_SHA: + required: true + type: string + CONTRIB_REPO_SHA: + required: true + type: string + +permissions: + contents: read + +env: + CORE_REPO_SHA: ${{ inputs.CORE_REPO_SHA }} + CONTRIB_REPO_SHA: ${{ inputs.CONTRIB_REPO_SHA }} + PIP_EXISTS_ACTION: w + +jobs: + + py39-test-instrumentation-openai-v2-oldest: + name: instrumentation-openai-v2-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-openai-v2-oldest -- -ra + + py39-test-instrumentation-openai-v2-latest: + name: instrumentation-openai-v2-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-openai-v2-latest -- -ra + + py39-test-instrumentation-vertexai-oldest: + name: instrumentation-vertexai-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-vertexai-oldest -- -ra + + py39-test-instrumentation-vertexai-latest: + name: instrumentation-vertexai-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-vertexai-latest -- -ra + + py39-test-instrumentation-google-genai-oldest: + name: instrumentation-google-genai-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-google-genai-oldest -- -ra + + py39-test-instrumentation-google-genai-latest: + name: instrumentation-google-genai-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-google-genai-latest -- -ra + + py39-test-resource-detector-containerid: + name: resource-detector-containerid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-resource-detector-containerid -- -ra + + py39-test-resource-detector-azure-0: + name: resource-detector-azure-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-resource-detector-azure-0 -- -ra + + py39-test-resource-detector-azure-1: + name: resource-detector-azure-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-resource-detector-azure-1 -- -ra + + py39-test-sdk-extension-aws-0: + name: sdk-extension-aws-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-sdk-extension-aws-0 -- -ra + + py39-test-sdk-extension-aws-1: + name: sdk-extension-aws-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-sdk-extension-aws-1 -- -ra + + py39-test-distro: + name: distro + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-distro -- -ra + + py39-test-opentelemetry-instrumentation: + name: opentelemetry-instrumentation + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-opentelemetry-instrumentation -- -ra + + py39-test-instrumentation-aiohttp-client: + name: instrumentation-aiohttp-client + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiohttp-client -- -ra + + py39-test-instrumentation-aiohttp-server: + name: instrumentation-aiohttp-server + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiohttp-server -- -ra + + py39-test-instrumentation-aiopg: + name: instrumentation-aiopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiopg -- -ra + + py39-test-instrumentation-aws-lambda: + name: instrumentation-aws-lambda + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aws-lambda -- -ra + + py39-test-instrumentation-botocore-0: + name: instrumentation-botocore-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-botocore-0 -- -ra + + py39-test-instrumentation-botocore-1: + name: instrumentation-botocore-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-botocore-1 -- -ra + + py39-test-instrumentation-boto3sqs: + name: instrumentation-boto3sqs + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-boto3sqs -- -ra + + py39-test-instrumentation-django-0: + name: instrumentation-django-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-django-0 -- -ra + + py39-test-instrumentation-django-1: + name: instrumentation-django-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-django-1 -- -ra + + py39-test-instrumentation-django-2: + name: instrumentation-django-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-django-2 -- -ra + + py39-test-instrumentation-dbapi: + name: instrumentation-dbapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-dbapi -- -ra + + py39-test-instrumentation-boto: + name: instrumentation-boto + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-boto -- -ra + + py39-test-instrumentation-asyncclick: + name: instrumentation-asyncclick + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncclick -- -ra + + py39-test-instrumentation-click: + name: instrumentation-click + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-click -- -ra + + py39-test-instrumentation-elasticsearch-0: + name: instrumentation-elasticsearch-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-elasticsearch-0 -- -ra + + py39-test-instrumentation-elasticsearch-1: + name: instrumentation-elasticsearch-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-elasticsearch-1 -- -ra + + py39-test-instrumentation-elasticsearch-2: + name: instrumentation-elasticsearch-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-elasticsearch-2 -- -ra + + py39-test-instrumentation-falcon-0: + name: instrumentation-falcon-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-0 -- -ra + + py39-test-instrumentation-falcon-1: + name: instrumentation-falcon-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-1 -- -ra + + py39-test-instrumentation-falcon-2: + name: instrumentation-falcon-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-2 -- -ra + + py39-test-instrumentation-falcon-3: + name: instrumentation-falcon-3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-falcon-3 -- -ra + + py39-test-instrumentation-fastapi: + name: instrumentation-fastapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-fastapi -- -ra + + py39-test-instrumentation-flask-0: + name: instrumentation-flask-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-flask-0 -- -ra + + py39-test-instrumentation-flask-1: + name: instrumentation-flask-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-flask-1 -- -ra + + py39-test-instrumentation-flask-2: + name: instrumentation-flask-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-flask-2 -- -ra + + py39-test-instrumentation-urllib: + name: instrumentation-urllib + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-urllib -- -ra + + py39-test-instrumentation-urllib3-0: + name: instrumentation-urllib3-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-urllib3-0 -- -ra + + py39-test-instrumentation-urllib3-1: + name: instrumentation-urllib3-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-urllib3-1 -- -ra + + py39-test-instrumentation-requests: + name: instrumentation-requests + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-requests -- -ra + + py39-test-instrumentation-starlette-oldest: + name: instrumentation-starlette-oldest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-starlette-oldest -- -ra + + py39-test-instrumentation-starlette-latest: + name: instrumentation-starlette-latest + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-starlette-latest -- -ra + + py39-test-instrumentation-jinja2: + name: instrumentation-jinja2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-jinja2 -- -ra + + py39-test-instrumentation-logging: + name: instrumentation-logging + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-logging -- -ra + + py39-test-exporter-richconsole: + name: exporter-richconsole + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-richconsole -- -ra + + py39-test-exporter-prometheus-remote-write: + name: exporter-prometheus-remote-write + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-prometheus-remote-write -- -ra + + py39-test-instrumentation-mysql-0: + name: instrumentation-mysql-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-0 -- -ra + + py39-test-instrumentation-mysql-1: + name: instrumentation-mysql-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-1 -- -ra + + py39-test-instrumentation-mysqlclient: + name: instrumentation-mysqlclient + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysqlclient -- -ra + + py39-test-instrumentation-psycopg2: + name: instrumentation-psycopg2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2 -- -ra + + py39-test-instrumentation-psycopg2-binary: + name: instrumentation-psycopg2-binary + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra + + py39-test-instrumentation-psycopg: + name: instrumentation-psycopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg -- -ra + + py39-test-instrumentation-pymemcache-0: + name: instrumentation-pymemcache-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra + + py39-test-instrumentation-pymemcache-1: + name: instrumentation-pymemcache-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra + + py39-test-instrumentation-pymemcache-2: + name: instrumentation-pymemcache-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra + + py39-test-instrumentation-pymemcache-3: + name: instrumentation-pymemcache-3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra + + py39-test-instrumentation-pymemcache-4: + name: instrumentation-pymemcache-4 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra + + py39-test-instrumentation-pymongo: + name: instrumentation-pymongo + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymongo -- -ra + + py39-test-instrumentation-pymysql: + name: instrumentation-pymysql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymysql -- -ra + + py39-test-instrumentation-pymssql: + name: instrumentation-pymssql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymssql -- -ra + + py39-test-instrumentation-pyramid: + name: instrumentation-pyramid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pyramid -- -ra + + py39-test-instrumentation-asgi: + name: instrumentation-asgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asgi -- -ra + + py39-test-instrumentation-asyncpg: + name: instrumentation-asyncpg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncpg -- -ra + + py39-test-instrumentation-sqlite3: + name: instrumentation-sqlite3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlite3 -- -ra + + py39-test-instrumentation-wsgi: + name: instrumentation-wsgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-wsgi -- -ra + + py39-test-instrumentation-grpc-0: + name: instrumentation-grpc-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-0 -- -ra + + py39-test-instrumentation-grpc-1: + name: instrumentation-grpc-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-1 -- -ra + + py39-test-instrumentation-sqlalchemy-1: + name: instrumentation-sqlalchemy-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra + + py39-test-instrumentation-sqlalchemy-2: + name: instrumentation-sqlalchemy-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra + + py39-test-instrumentation-redis: + name: instrumentation-redis + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-redis -- -ra + + py39-test-instrumentation-remoulade: + name: instrumentation-remoulade + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-remoulade -- -ra + + py39-test-instrumentation-celery: + name: instrumentation-celery + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-celery -- -ra + + py39-test-instrumentation-system-metrics: + name: instrumentation-system-metrics + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-system-metrics -- -ra + + py39-test-instrumentation-taskiq: + name: instrumentation-taskiq + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-taskiq -- -ra + + py39-test-instrumentation-threading: + name: instrumentation-threading + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-threading -- -ra + + py39-test-instrumentation-tornado: + name: instrumentation-tornado + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tornado -- -ra + + py39-test-instrumentation-tortoiseorm: + name: instrumentation-tortoiseorm + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tortoiseorm -- -ra + + py39-test-instrumentation-httpx-0: + name: instrumentation-httpx-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-0 -- -ra + + py39-test-instrumentation-httpx-1: + name: instrumentation-httpx-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-1 -- -ra + + py39-test-util-http: + name: util-http + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-http -- -ra + + py39-test-exporter-credential-provider-gcp: + name: exporter-credential-provider-gcp + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-credential-provider-gcp -- -ra + + py39-test-util-genai: + name: util-genai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-genai -- -ra + + py39-test-propagator-aws-xray-0: + name: propagator-aws-xray-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-0 -- -ra + + py39-test-propagator-aws-xray-1: + name: propagator-aws-xray-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-1 -- -ra + + py39-test-propagator-ot-trace: + name: propagator-ot-trace + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-ot-trace -- -ra + + py39-test-instrumentation-sio-pika-0: + name: instrumentation-sio-pika-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra + + py39-test-instrumentation-sio-pika-1: + name: instrumentation-sio-pika-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra + + py39-test-instrumentation-aio-pika-0: + name: instrumentation-aio-pika-0 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra + + py39-test-instrumentation-aio-pika-1: + name: instrumentation-aio-pika-1 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra + + py39-test-instrumentation-aio-pika-2: + name: instrumentation-aio-pika-2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-2 -- -ra + + py39-test-instrumentation-aio-pika-3: + name: instrumentation-aio-pika-3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-3 -- -ra + + py39-test-instrumentation-aiokafka: + name: instrumentation-aiokafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aiokafka -- -ra + + py39-test-instrumentation-kafka-python: + name: instrumentation-kafka-python + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-kafka-python -- -ra + + py39-test-instrumentation-kafka-pythonng: + name: instrumentation-kafka-pythonng + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-kafka-pythonng -- -ra + + py39-test-instrumentation-confluent-kafka: + name: instrumentation-confluent-kafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-confluent-kafka -- -ra + + py39-test-instrumentation-asyncio: + name: instrumentation-asyncio + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncio -- -ra + + py39-test-instrumentation-cassandra: + name: instrumentation-cassandra + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-cassandra -- -ra + + py39-test-processor-baggage: + name: processor-baggage + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python-contrib + ref: ${{ env.CONTRIB_REPO_SHA }} + + - name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }} + uses: actions/checkout@v4 + with: + repository: open-telemetry/opentelemetry-python + ref: ${{ env.CORE_REPO_SHA }} + path: opentelemetry-python + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + architecture: "x64" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-processor-baggage -- -ra diff --git a/.github/workflows/lint_0.yml b/.github/workflows/lint_0.yml index c8da6ab354..66f2e25fb6 100644 --- a/.github/workflows/lint_0.yml +++ b/.github/workflows/lint_0.yml @@ -1,1325 +1,1325 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Lint 0 - -on: - push: - branches-ignore: - - 'release/*' - - 'otelbot/*' - pull_request: - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -env: - # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' - # For PRs you can change the inner fallback ('main') - # For pushes you change the outer fallback ('main') - # The logic below is used during releases and depends on having an equivalent branch name in the core repo. - CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( - contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || - contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || - 'main' - ) || 'main' }} - CONTRIB_REPO_SHA: main - PIP_EXISTS_ACTION: w - -jobs: - - lint-instrumentation-openai-v2: - name: instrumentation-openai-v2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-openai-v2 - - lint-instrumentation-vertexai: - name: instrumentation-vertexai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-vertexai - - lint-instrumentation-google-genai: - name: instrumentation-google-genai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-google-genai - - lint-resource-detector-containerid: - name: resource-detector-containerid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-resource-detector-containerid - - lint-resource-detector-azure: - name: resource-detector-azure - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-resource-detector-azure - - lint-sdk-extension-aws: - name: sdk-extension-aws - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-sdk-extension-aws - - lint-distro: - name: distro - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-distro - - lint-opentelemetry-instrumentation: - name: opentelemetry-instrumentation - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-opentelemetry-instrumentation - - lint-instrumentation-aiohttp-client: - name: instrumentation-aiohttp-client - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiohttp-client - - lint-instrumentation-aiohttp-server: - name: instrumentation-aiohttp-server - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiohttp-server - - lint-instrumentation-aiopg: - name: instrumentation-aiopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiopg - - lint-instrumentation-aws-lambda: - name: instrumentation-aws-lambda - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aws-lambda - - lint-instrumentation-botocore: - name: instrumentation-botocore - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-botocore - - lint-instrumentation-boto3sqs: - name: instrumentation-boto3sqs - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-boto3sqs - - lint-instrumentation-django: - name: instrumentation-django - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-django - - lint-instrumentation-dbapi: - name: instrumentation-dbapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-dbapi - - lint-instrumentation-boto: - name: instrumentation-boto - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-boto - - lint-instrumentation-asyncclick: - name: instrumentation-asyncclick - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asyncclick - - lint-instrumentation-click: - name: instrumentation-click - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-click - - lint-instrumentation-elasticsearch: - name: instrumentation-elasticsearch - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-elasticsearch - - lint-instrumentation-falcon: - name: instrumentation-falcon - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-falcon - - lint-instrumentation-fastapi: - name: instrumentation-fastapi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-fastapi - - lint-instrumentation-flask: - name: instrumentation-flask - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-flask - - lint-instrumentation-urllib: - name: instrumentation-urllib - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-urllib - - lint-instrumentation-urllib3: - name: instrumentation-urllib3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-urllib3 - - lint-instrumentation-requests: - name: instrumentation-requests - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-requests - - lint-instrumentation-starlette: - name: instrumentation-starlette - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-starlette - - lint-instrumentation-jinja2: - name: instrumentation-jinja2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-jinja2 - - lint-instrumentation-logging: - name: instrumentation-logging - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-logging - - lint-exporter-richconsole: - name: exporter-richconsole - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-exporter-richconsole - - lint-exporter-prometheus-remote-write: - name: exporter-prometheus-remote-write - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-exporter-prometheus-remote-write - - lint-instrumentation-mysql: - name: instrumentation-mysql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-mysql - - lint-instrumentation-mysqlclient: - name: instrumentation-mysqlclient - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-mysqlclient - - lint-instrumentation-psycopg2: - name: instrumentation-psycopg2 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-psycopg2 - - lint-instrumentation-psycopg: - name: instrumentation-psycopg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-psycopg - - lint-instrumentation-pymemcache: - name: instrumentation-pymemcache - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymemcache - - lint-instrumentation-pymongo: - name: instrumentation-pymongo - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymongo - - lint-instrumentation-pymysql: - name: instrumentation-pymysql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymysql - - lint-instrumentation-pymssql: - name: instrumentation-pymssql - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pymssql - - lint-instrumentation-pyramid: - name: instrumentation-pyramid - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-pyramid - - lint-instrumentation-asgi: - name: instrumentation-asgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asgi - - lint-instrumentation-asyncpg: - name: instrumentation-asyncpg - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asyncpg - - lint-instrumentation-sqlite3: - name: instrumentation-sqlite3 - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-sqlite3 - - lint-instrumentation-wsgi: - name: instrumentation-wsgi - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-wsgi - - lint-instrumentation-grpc: - name: instrumentation-grpc - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-grpc - - lint-instrumentation-sqlalchemy: - name: instrumentation-sqlalchemy - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-sqlalchemy - - lint-instrumentation-redis: - name: instrumentation-redis - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-redis - - lint-instrumentation-remoulade: - name: instrumentation-remoulade - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-remoulade - - lint-instrumentation-celery: - name: instrumentation-celery - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-celery - - lint-instrumentation-system-metrics: - name: instrumentation-system-metrics - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-system-metrics - - lint-instrumentation-taskiq: - name: instrumentation-taskiq - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-taskiq - - lint-instrumentation-threading: - name: instrumentation-threading - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-threading - - lint-instrumentation-tornado: - name: instrumentation-tornado - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-tornado - - lint-instrumentation-tortoiseorm: - name: instrumentation-tortoiseorm - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-tortoiseorm - - lint-instrumentation-httpx: - name: instrumentation-httpx - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-httpx - - lint-util-http: - name: util-http - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-util-http - - lint-exporter-credential-provider-gcp: - name: exporter-credential-provider-gcp - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-exporter-credential-provider-gcp - - lint-util-genai: - name: util-genai - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-util-genai - - lint-propagator-aws-xray: - name: propagator-aws-xray - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-propagator-aws-xray - - lint-propagator-ot-trace: - name: propagator-ot-trace - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-propagator-ot-trace - - lint-instrumentation-sio-pika: - name: instrumentation-sio-pika - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-sio-pika - - lint-instrumentation-aio-pika: - name: instrumentation-aio-pika - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aio-pika - - lint-instrumentation-aiokafka: - name: instrumentation-aiokafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-aiokafka - - lint-instrumentation-kafka-python: - name: instrumentation-kafka-python - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-kafka-python - - lint-instrumentation-confluent-kafka: - name: instrumentation-confluent-kafka - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-confluent-kafka - - lint-instrumentation-asyncio: - name: instrumentation-asyncio - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-asyncio - - lint-instrumentation-cassandra: - name: instrumentation-cassandra - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-instrumentation-cassandra - - lint-processor-baggage: - name: processor-baggage - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e lint-processor-baggage +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: Lint 0 + +on: + push: + branches-ignore: + - 'release/*' + - 'otelbot/*' + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' + # For PRs you can change the inner fallback ('main') + # For pushes you change the outer fallback ('main') + # The logic below is used during releases and depends on having an equivalent branch name in the core repo. + CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( + contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || + contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || + 'main' + ) || 'main' }} + CONTRIB_REPO_SHA: main + PIP_EXISTS_ACTION: w + +jobs: + + lint-instrumentation-openai-v2: + name: instrumentation-openai-v2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-openai-v2 + + lint-instrumentation-vertexai: + name: instrumentation-vertexai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-vertexai + + lint-instrumentation-google-genai: + name: instrumentation-google-genai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-google-genai + + lint-resource-detector-containerid: + name: resource-detector-containerid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-resource-detector-containerid + + lint-resource-detector-azure: + name: resource-detector-azure + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-resource-detector-azure + + lint-sdk-extension-aws: + name: sdk-extension-aws + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-sdk-extension-aws + + lint-distro: + name: distro + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-distro + + lint-opentelemetry-instrumentation: + name: opentelemetry-instrumentation + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-opentelemetry-instrumentation + + lint-instrumentation-aiohttp-client: + name: instrumentation-aiohttp-client + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiohttp-client + + lint-instrumentation-aiohttp-server: + name: instrumentation-aiohttp-server + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiohttp-server + + lint-instrumentation-aiopg: + name: instrumentation-aiopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiopg + + lint-instrumentation-aws-lambda: + name: instrumentation-aws-lambda + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aws-lambda + + lint-instrumentation-botocore: + name: instrumentation-botocore + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-botocore + + lint-instrumentation-boto3sqs: + name: instrumentation-boto3sqs + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-boto3sqs + + lint-instrumentation-django: + name: instrumentation-django + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-django + + lint-instrumentation-dbapi: + name: instrumentation-dbapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-dbapi + + lint-instrumentation-boto: + name: instrumentation-boto + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-boto + + lint-instrumentation-asyncclick: + name: instrumentation-asyncclick + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asyncclick + + lint-instrumentation-click: + name: instrumentation-click + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-click + + lint-instrumentation-elasticsearch: + name: instrumentation-elasticsearch + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-elasticsearch + + lint-instrumentation-falcon: + name: instrumentation-falcon + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-falcon + + lint-instrumentation-fastapi: + name: instrumentation-fastapi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-fastapi + + lint-instrumentation-flask: + name: instrumentation-flask + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-flask + + lint-instrumentation-urllib: + name: instrumentation-urllib + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-urllib + + lint-instrumentation-urllib3: + name: instrumentation-urllib3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-urllib3 + + lint-instrumentation-requests: + name: instrumentation-requests + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-requests + + lint-instrumentation-starlette: + name: instrumentation-starlette + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-starlette + + lint-instrumentation-jinja2: + name: instrumentation-jinja2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-jinja2 + + lint-instrumentation-logging: + name: instrumentation-logging + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-logging + + lint-exporter-richconsole: + name: exporter-richconsole + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-exporter-richconsole + + lint-exporter-prometheus-remote-write: + name: exporter-prometheus-remote-write + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-exporter-prometheus-remote-write + + lint-instrumentation-mysql: + name: instrumentation-mysql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-mysql + + lint-instrumentation-mysqlclient: + name: instrumentation-mysqlclient + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-mysqlclient + + lint-instrumentation-psycopg2: + name: instrumentation-psycopg2 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-psycopg2 + + lint-instrumentation-psycopg: + name: instrumentation-psycopg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-psycopg + + lint-instrumentation-pymemcache: + name: instrumentation-pymemcache + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymemcache + + lint-instrumentation-pymongo: + name: instrumentation-pymongo + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymongo + + lint-instrumentation-pymysql: + name: instrumentation-pymysql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymysql + + lint-instrumentation-pymssql: + name: instrumentation-pymssql + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pymssql + + lint-instrumentation-pyramid: + name: instrumentation-pyramid + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-pyramid + + lint-instrumentation-asgi: + name: instrumentation-asgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asgi + + lint-instrumentation-asyncpg: + name: instrumentation-asyncpg + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asyncpg + + lint-instrumentation-sqlite3: + name: instrumentation-sqlite3 + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-sqlite3 + + lint-instrumentation-wsgi: + name: instrumentation-wsgi + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-wsgi + + lint-instrumentation-grpc: + name: instrumentation-grpc + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-grpc + + lint-instrumentation-sqlalchemy: + name: instrumentation-sqlalchemy + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-sqlalchemy + + lint-instrumentation-redis: + name: instrumentation-redis + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-redis + + lint-instrumentation-remoulade: + name: instrumentation-remoulade + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-remoulade + + lint-instrumentation-celery: + name: instrumentation-celery + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-celery + + lint-instrumentation-system-metrics: + name: instrumentation-system-metrics + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-system-metrics + + lint-instrumentation-taskiq: + name: instrumentation-taskiq + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-taskiq + + lint-instrumentation-threading: + name: instrumentation-threading + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-threading + + lint-instrumentation-tornado: + name: instrumentation-tornado + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-tornado + + lint-instrumentation-tortoiseorm: + name: instrumentation-tortoiseorm + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-tortoiseorm + + lint-instrumentation-httpx: + name: instrumentation-httpx + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-httpx + + lint-util-http: + name: util-http + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-util-http + + lint-exporter-credential-provider-gcp: + name: exporter-credential-provider-gcp + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-exporter-credential-provider-gcp + + lint-util-genai: + name: util-genai + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-util-genai + + lint-propagator-aws-xray: + name: propagator-aws-xray + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-propagator-aws-xray + + lint-propagator-ot-trace: + name: propagator-ot-trace + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-propagator-ot-trace + + lint-instrumentation-sio-pika: + name: instrumentation-sio-pika + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-sio-pika + + lint-instrumentation-aio-pika: + name: instrumentation-aio-pika + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aio-pika + + lint-instrumentation-aiokafka: + name: instrumentation-aiokafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-aiokafka + + lint-instrumentation-kafka-python: + name: instrumentation-kafka-python + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-kafka-python + + lint-instrumentation-confluent-kafka: + name: instrumentation-confluent-kafka + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-confluent-kafka + + lint-instrumentation-asyncio: + name: instrumentation-asyncio + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-asyncio + + lint-instrumentation-cassandra: + name: instrumentation-cassandra + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-cassandra + + lint-processor-baggage: + name: processor-baggage + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-processor-baggage diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml index aa10d5809d..d3d510bbc4 100644 --- a/.github/workflows/test_1.yml +++ b/.github/workflows/test_1.yml @@ -1,4897 +1,4897 @@ -# Do not edit this file. -# This file is generated automatically by executing tox -e generate-workflows - -name: Test 1 - -on: - push: - branches-ignore: - - 'release/*' - - 'otelbot/*' - pull_request: - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -env: - # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' - # For PRs you can change the inner fallback ('main') - # For pushes you change the outer fallback ('main') - # The logic below is used during releases and depends on having an equivalent branch name in the core repo. - CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( - contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || - contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || - 'main' - ) || 'main' }} - CONTRIB_REPO_SHA: main - PIP_EXISTS_ACTION: w - -jobs: - - py39-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-logging -- -ra - - py310-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-logging -- -ra - - py311-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-logging -- -ra - - py312-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-logging -- -ra - - py313-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-logging -- -ra - - pypy3-test-instrumentation-logging_ubuntu-latest: - name: instrumentation-logging pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-logging -- -ra - - py39-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-richconsole -- -ra - - py310-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-exporter-richconsole -- -ra - - py311-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-exporter-richconsole -- -ra - - py312-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-exporter-richconsole -- -ra - - py313-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-exporter-richconsole -- -ra - - pypy3-test-exporter-richconsole_ubuntu-latest: - name: exporter-richconsole pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-exporter-richconsole -- -ra - - py39-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-prometheus-remote-write -- -ra - - py310-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-exporter-prometheus-remote-write -- -ra - - py311-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-exporter-prometheus-remote-write -- -ra - - py312-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-exporter-prometheus-remote-write -- -ra - - py313-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-exporter-prometheus-remote-write -- -ra - - pypy310-test-exporter-prometheus-remote-write_ubuntu-latest: - name: exporter-prometheus-remote-write pypy-3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.10 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy310-test-exporter-prometheus-remote-write -- -ra - - py39-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-0 -- -ra - - py39-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysql-1 -- -ra - - py310-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-mysql-0 -- -ra - - py310-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-mysql-1 -- -ra - - py311-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-mysql-0 -- -ra - - py311-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-mysql-1 -- -ra - - py312-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-mysql-0 -- -ra - - py312-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-mysql-1 -- -ra - - py313-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-mysql-0 -- -ra - - py313-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-mysql-1 -- -ra - - pypy3-test-instrumentation-mysql-0_ubuntu-latest: - name: instrumentation-mysql-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-mysql-0 -- -ra - - pypy3-test-instrumentation-mysql-1_ubuntu-latest: - name: instrumentation-mysql-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-mysql-1 -- -ra - - py39-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-mysqlclient -- -ra - - py310-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-mysqlclient -- -ra - - py311-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-mysqlclient -- -ra - - py312-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-mysqlclient -- -ra - - py313-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-mysqlclient -- -ra - - pypy3-test-instrumentation-mysqlclient_ubuntu-latest: - name: instrumentation-mysqlclient pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-mysqlclient -- -ra - - py39-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2 -- -ra - - py310-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-psycopg2 -- -ra - - py311-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-psycopg2 -- -ra - - py312-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-psycopg2 -- -ra - - py313-test-instrumentation-psycopg2_ubuntu-latest: - name: instrumentation-psycopg2 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-psycopg2 -- -ra - - py39-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra - - py310-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-psycopg2-binary -- -ra - - py311-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-psycopg2-binary -- -ra - - py312-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-psycopg2-binary -- -ra - - py313-test-instrumentation-psycopg2-binary_ubuntu-latest: - name: instrumentation-psycopg2-binary 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-psycopg2-binary -- -ra - - py39-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-psycopg -- -ra - - py310-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-psycopg -- -ra - - py311-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-psycopg -- -ra - - py312-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-psycopg -- -ra - - py313-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-psycopg -- -ra - - pypy3-test-instrumentation-psycopg_ubuntu-latest: - name: instrumentation-psycopg pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-psycopg -- -ra - - py39-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra - - py39-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra - - py39-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra - - py39-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra - - py39-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra - - py310-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-0 -- -ra - - py310-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-1 -- -ra - - py310-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-2 -- -ra - - py310-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-3 -- -ra - - py310-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymemcache-4 -- -ra - - py311-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-0 -- -ra - - py311-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-1 -- -ra - - py311-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-2 -- -ra - - py311-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-3 -- -ra - - py311-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymemcache-4 -- -ra - - py312-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-0 -- -ra - - py312-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-1 -- -ra - - py312-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-2 -- -ra - - py312-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-3 -- -ra - - py312-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymemcache-4 -- -ra - - py313-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-0 -- -ra - - py313-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-1 -- -ra - - py313-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-2 -- -ra - - py313-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-3 -- -ra - - py313-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymemcache-4 -- -ra - - pypy3-test-instrumentation-pymemcache-0_ubuntu-latest: - name: instrumentation-pymemcache-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-0 -- -ra - - pypy3-test-instrumentation-pymemcache-1_ubuntu-latest: - name: instrumentation-pymemcache-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-1 -- -ra - - pypy3-test-instrumentation-pymemcache-2_ubuntu-latest: - name: instrumentation-pymemcache-2 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-2 -- -ra - - pypy3-test-instrumentation-pymemcache-3_ubuntu-latest: - name: instrumentation-pymemcache-3 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-3 -- -ra - - pypy3-test-instrumentation-pymemcache-4_ubuntu-latest: - name: instrumentation-pymemcache-4 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymemcache-4 -- -ra - - py39-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymongo -- -ra - - py310-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymongo -- -ra - - py311-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymongo -- -ra - - py312-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymongo -- -ra - - py313-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymongo -- -ra - - pypy3-test-instrumentation-pymongo_ubuntu-latest: - name: instrumentation-pymongo pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymongo -- -ra - - py39-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymysql -- -ra - - py310-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymysql -- -ra - - py311-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymysql -- -ra - - py312-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymysql -- -ra - - py313-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymysql -- -ra - - pypy3-test-instrumentation-pymysql_ubuntu-latest: - name: instrumentation-pymysql pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pymysql -- -ra - - py39-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pymssql -- -ra - - py310-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pymssql -- -ra - - py311-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pymssql -- -ra - - py312-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pymssql -- -ra - - py313-test-instrumentation-pymssql_ubuntu-latest: - name: instrumentation-pymssql 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-pymssql -- -ra - - py39-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-pyramid -- -ra - - py310-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-pyramid -- -ra - - py311-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-pyramid -- -ra - - py312-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-pyramid -- -ra - - pypy3-test-instrumentation-pyramid_ubuntu-latest: - name: instrumentation-pyramid pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-pyramid -- -ra - - py39-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asgi -- -ra - - py310-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-asgi -- -ra - - py311-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-asgi -- -ra - - py312-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-asgi -- -ra - - py313-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-asgi -- -ra - - pypy3-test-instrumentation-asgi_ubuntu-latest: - name: instrumentation-asgi pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-asgi -- -ra - - py39-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-asyncpg -- -ra - - py310-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-asyncpg -- -ra - - py311-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-asyncpg -- -ra - - py312-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-asyncpg -- -ra - - py313-test-instrumentation-asyncpg_ubuntu-latest: - name: instrumentation-asyncpg 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-asyncpg -- -ra - - py39-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlite3 -- -ra - - py310-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sqlite3 -- -ra - - py311-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sqlite3 -- -ra - - py312-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sqlite3 -- -ra - - py313-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sqlite3 -- -ra - - pypy3-test-instrumentation-sqlite3_ubuntu-latest: - name: instrumentation-sqlite3 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlite3 -- -ra - - py39-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-wsgi -- -ra - - py310-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-wsgi -- -ra - - py311-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-wsgi -- -ra - - py312-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-wsgi -- -ra - - py313-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-wsgi -- -ra - - pypy3-test-instrumentation-wsgi_ubuntu-latest: - name: instrumentation-wsgi pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-wsgi -- -ra - - py39-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-0 -- -ra - - py39-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-grpc-1 -- -ra - - py310-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-grpc-0 -- -ra - - py310-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-grpc-1 -- -ra - - py311-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-grpc-0 -- -ra - - py311-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-grpc-1 -- -ra - - py312-test-instrumentation-grpc-0_ubuntu-latest: - name: instrumentation-grpc-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-grpc-0 -- -ra - - py312-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-grpc-1 -- -ra - - py313-test-instrumentation-grpc-1_ubuntu-latest: - name: instrumentation-grpc-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-grpc-1 -- -ra - - py39-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra - - py39-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra - - py310-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sqlalchemy-1 -- -ra - - py310-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sqlalchemy-2 -- -ra - - py311-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sqlalchemy-1 -- -ra - - py311-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sqlalchemy-2 -- -ra - - py312-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sqlalchemy-1 -- -ra - - py312-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sqlalchemy-2 -- -ra - - py313-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sqlalchemy-1 -- -ra - - py313-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sqlalchemy-2 -- -ra - - pypy3-test-instrumentation-sqlalchemy-0_ubuntu-latest: - name: instrumentation-sqlalchemy-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlalchemy-0 -- -ra - - pypy3-test-instrumentation-sqlalchemy-1_ubuntu-latest: - name: instrumentation-sqlalchemy-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlalchemy-1 -- -ra - - pypy3-test-instrumentation-sqlalchemy-2_ubuntu-latest: - name: instrumentation-sqlalchemy-2 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sqlalchemy-2 -- -ra - - py39-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-redis -- -ra - - py310-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-redis -- -ra - - py311-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-redis -- -ra - - py312-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-redis -- -ra - - py313-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-redis -- -ra - - pypy3-test-instrumentation-redis_ubuntu-latest: - name: instrumentation-redis pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-redis -- -ra - - py39-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-remoulade -- -ra - - py310-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-remoulade -- -ra - - py311-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-remoulade -- -ra - - py312-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-remoulade -- -ra - - py313-test-instrumentation-remoulade_ubuntu-latest: - name: instrumentation-remoulade 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-remoulade -- -ra - - py39-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-celery -- -ra - - py310-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-celery -- -ra - - py311-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-celery -- -ra - - py312-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-celery -- -ra - - py313-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-celery -- -ra - - pypy3-test-instrumentation-celery_ubuntu-latest: - name: instrumentation-celery pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-celery -- -ra - - py39-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-system-metrics -- -ra - - py310-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-system-metrics -- -ra - - py311-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-system-metrics -- -ra - - py312-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-system-metrics -- -ra - - py313-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-system-metrics -- -ra - - pypy3-test-instrumentation-system-metrics_ubuntu-latest: - name: instrumentation-system-metrics pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-system-metrics -- -ra - - py39-test-instrumentation-taskiq_ubuntu-latest: - name: instrumentation-taskiq 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-taskiq -- -ra - - py310-test-instrumentation-taskiq_ubuntu-latest: - name: instrumentation-taskiq 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-taskiq -- -ra - - py311-test-instrumentation-taskiq_ubuntu-latest: - name: instrumentation-taskiq 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-taskiq -- -ra - - py312-test-instrumentation-taskiq_ubuntu-latest: - name: instrumentation-taskiq 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-taskiq -- -ra - - py313-test-instrumentation-taskiq_ubuntu-latest: - name: instrumentation-taskiq 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-taskiq -- -ra - - pypy3-test-instrumentation-taskiq_ubuntu-latest: - name: instrumentation-taskiq pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-taskiq -- -ra - - py39-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-threading -- -ra - - py310-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-threading -- -ra - - py311-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-threading -- -ra - - py312-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-threading -- -ra - - py313-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-threading -- -ra - - pypy3-test-instrumentation-threading_ubuntu-latest: - name: instrumentation-threading pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-threading -- -ra - - py39-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tornado -- -ra - - py310-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-tornado -- -ra - - py311-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-tornado -- -ra - - py312-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-tornado -- -ra - - py313-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-tornado -- -ra - - pypy3-test-instrumentation-tornado_ubuntu-latest: - name: instrumentation-tornado pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-tornado -- -ra - - py39-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-tortoiseorm -- -ra - - py310-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-tortoiseorm -- -ra - - py311-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-tortoiseorm -- -ra - - py312-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-tortoiseorm -- -ra - - py313-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-tortoiseorm -- -ra - - pypy3-test-instrumentation-tortoiseorm_ubuntu-latest: - name: instrumentation-tortoiseorm pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-tortoiseorm -- -ra - - py39-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-0 -- -ra - - py39-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-httpx-1 -- -ra - - py310-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-httpx-0 -- -ra - - py310-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-httpx-1 -- -ra - - py311-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-httpx-0 -- -ra - - py311-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-httpx-1 -- -ra - - py312-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-httpx-0 -- -ra - - py312-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-httpx-1 -- -ra - - py313-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-httpx-1 -- -ra - - pypy3-test-instrumentation-httpx-0_ubuntu-latest: - name: instrumentation-httpx-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-httpx-0 -- -ra - - pypy3-test-instrumentation-httpx-1_ubuntu-latest: - name: instrumentation-httpx-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-httpx-1 -- -ra - - py39-test-util-http_ubuntu-latest: - name: util-http 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-http -- -ra - - py310-test-util-http_ubuntu-latest: - name: util-http 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-util-http -- -ra - - py311-test-util-http_ubuntu-latest: - name: util-http 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-util-http -- -ra - - py312-test-util-http_ubuntu-latest: - name: util-http 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-util-http -- -ra - - py313-test-util-http_ubuntu-latest: - name: util-http 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-util-http -- -ra - - pypy3-test-util-http_ubuntu-latest: - name: util-http pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-util-http -- -ra - - py39-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-exporter-credential-provider-gcp -- -ra - - py310-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-exporter-credential-provider-gcp -- -ra - - py311-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-exporter-credential-provider-gcp -- -ra - - py312-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-exporter-credential-provider-gcp -- -ra - - py313-test-exporter-credential-provider-gcp_ubuntu-latest: - name: exporter-credential-provider-gcp 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-exporter-credential-provider-gcp -- -ra - - py39-test-util-genai_ubuntu-latest: - name: util-genai 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-util-genai -- -ra - - py310-test-util-genai_ubuntu-latest: - name: util-genai 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-util-genai -- -ra - - py311-test-util-genai_ubuntu-latest: - name: util-genai 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-util-genai -- -ra - - py312-test-util-genai_ubuntu-latest: - name: util-genai 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-util-genai -- -ra - - py313-test-util-genai_ubuntu-latest: - name: util-genai 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-util-genai -- -ra - - pypy3-test-util-genai_ubuntu-latest: - name: util-genai pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-util-genai -- -ra - - py39-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-0 -- -ra - - py39-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-aws-xray-1 -- -ra - - py310-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-propagator-aws-xray-0 -- -ra - - py310-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-propagator-aws-xray-1 -- -ra - - py311-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-propagator-aws-xray-0 -- -ra - - py311-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-propagator-aws-xray-1 -- -ra - - py312-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-propagator-aws-xray-0 -- -ra - - py312-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-propagator-aws-xray-1 -- -ra - - py313-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-propagator-aws-xray-0 -- -ra - - py313-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-propagator-aws-xray-1 -- -ra - - pypy3-test-propagator-aws-xray-0_ubuntu-latest: - name: propagator-aws-xray-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-propagator-aws-xray-0 -- -ra - - pypy3-test-propagator-aws-xray-1_ubuntu-latest: - name: propagator-aws-xray-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-propagator-aws-xray-1 -- -ra - - py39-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-propagator-ot-trace -- -ra - - py310-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-propagator-ot-trace -- -ra - - py311-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-propagator-ot-trace -- -ra - - py312-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-propagator-ot-trace -- -ra - - py313-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-propagator-ot-trace -- -ra - - pypy3-test-propagator-ot-trace_ubuntu-latest: - name: propagator-ot-trace pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-propagator-ot-trace -- -ra - - py39-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra - - py39-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra - - py310-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sio-pika-0 -- -ra - - py310-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-sio-pika-1 -- -ra - - py311-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sio-pika-0 -- -ra - - py311-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-sio-pika-1 -- -ra - - py312-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sio-pika-0 -- -ra - - py312-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sio-pika-1 -- -ra - - py313-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sio-pika-0 -- -ra - - py313-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sio-pika-1 -- -ra - - pypy3-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sio-pika-0 -- -ra - - pypy3-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sio-pika-1 -- -ra - - py39-test-instrumentation-aio-pika-0_ubuntu-latest: - name: instrumentation-aio-pika-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra - - py39-test-instrumentation-aio-pika-1_ubuntu-latest: - name: instrumentation-aio-pika-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra +# Do not edit this file. +# This file is generated automatically by executing tox -e generate-workflows + +name: Test 1 + +on: + push: + branches-ignore: + - 'release/*' + - 'otelbot/*' + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + # Set the SHA to the branch name if the PR has a label 'prepare-release' or 'backport' otherwise, set it to 'main' + # For PRs you can change the inner fallback ('main') + # For pushes you change the outer fallback ('main') + # The logic below is used during releases and depends on having an equivalent branch name in the core repo. + CORE_REPO_SHA: ${{ github.event_name == 'pull_request' && ( + contains(github.event.pull_request.labels.*.name, 'prepare-release') && github.event.pull_request.head.ref || + contains(github.event.pull_request.labels.*.name, 'backport') && github.event.pull_request.base.ref || + 'main' + ) || 'main' }} + CONTRIB_REPO_SHA: main + PIP_EXISTS_ACTION: w + +jobs: + + py39-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-logging -- -ra + + py310-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-logging -- -ra + + py311-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-logging -- -ra + + py312-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-logging -- -ra + + py313-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-logging -- -ra + + pypy3-test-instrumentation-logging_ubuntu-latest: + name: instrumentation-logging pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-logging -- -ra + + py39-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-richconsole -- -ra + + py310-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-exporter-richconsole -- -ra + + py311-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-exporter-richconsole -- -ra + + py312-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-exporter-richconsole -- -ra + + py313-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-exporter-richconsole -- -ra + + pypy3-test-exporter-richconsole_ubuntu-latest: + name: exporter-richconsole pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-exporter-richconsole -- -ra + + py39-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-prometheus-remote-write -- -ra + + py310-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-exporter-prometheus-remote-write -- -ra + + py311-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-exporter-prometheus-remote-write -- -ra + + py312-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-exporter-prometheus-remote-write -- -ra + + py313-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-exporter-prometheus-remote-write -- -ra + + pypy310-test-exporter-prometheus-remote-write_ubuntu-latest: + name: exporter-prometheus-remote-write pypy-3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.10 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy310-test-exporter-prometheus-remote-write -- -ra + + py39-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-0 -- -ra + + py39-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysql-1 -- -ra + + py310-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mysql-0 -- -ra + + py310-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mysql-1 -- -ra + + py311-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mysql-0 -- -ra + + py311-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mysql-1 -- -ra + + py312-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mysql-0 -- -ra + + py312-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mysql-1 -- -ra + + py313-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mysql-0 -- -ra + + py313-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mysql-1 -- -ra + + pypy3-test-instrumentation-mysql-0_ubuntu-latest: + name: instrumentation-mysql-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-mysql-0 -- -ra + + pypy3-test-instrumentation-mysql-1_ubuntu-latest: + name: instrumentation-mysql-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-mysql-1 -- -ra + + py39-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-mysqlclient -- -ra + + py310-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mysqlclient -- -ra + + py311-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mysqlclient -- -ra + + py312-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mysqlclient -- -ra + + py313-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mysqlclient -- -ra + + pypy3-test-instrumentation-mysqlclient_ubuntu-latest: + name: instrumentation-mysqlclient pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-mysqlclient -- -ra + + py39-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2 -- -ra + + py310-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-psycopg2 -- -ra + + py311-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-psycopg2 -- -ra + + py312-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-psycopg2 -- -ra + + py313-test-instrumentation-psycopg2_ubuntu-latest: + name: instrumentation-psycopg2 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-psycopg2 -- -ra + + py39-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg2-binary -- -ra + + py310-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-psycopg2-binary -- -ra + + py311-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-psycopg2-binary -- -ra + + py312-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-psycopg2-binary -- -ra + + py313-test-instrumentation-psycopg2-binary_ubuntu-latest: + name: instrumentation-psycopg2-binary 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-psycopg2-binary -- -ra + + py39-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-psycopg -- -ra + + py310-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-psycopg -- -ra + + py311-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-psycopg -- -ra + + py312-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-psycopg -- -ra + + py313-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-psycopg -- -ra + + pypy3-test-instrumentation-psycopg_ubuntu-latest: + name: instrumentation-psycopg pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-psycopg -- -ra + + py39-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-0 -- -ra + + py39-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-1 -- -ra + + py39-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-2 -- -ra + + py39-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-3 -- -ra + + py39-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymemcache-4 -- -ra + + py310-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-0 -- -ra + + py310-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-1 -- -ra + + py310-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-2 -- -ra + + py310-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-3 -- -ra + + py310-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymemcache-4 -- -ra + + py311-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-0 -- -ra + + py311-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-1 -- -ra + + py311-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-2 -- -ra + + py311-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-3 -- -ra + + py311-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymemcache-4 -- -ra + + py312-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-0 -- -ra + + py312-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-1 -- -ra + + py312-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-2 -- -ra + + py312-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-3 -- -ra + + py312-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymemcache-4 -- -ra + + py313-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-0 -- -ra + + py313-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-1 -- -ra + + py313-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-2 -- -ra + + py313-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-3 -- -ra + + py313-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymemcache-4 -- -ra + + pypy3-test-instrumentation-pymemcache-0_ubuntu-latest: + name: instrumentation-pymemcache-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-0 -- -ra + + pypy3-test-instrumentation-pymemcache-1_ubuntu-latest: + name: instrumentation-pymemcache-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-1 -- -ra + + pypy3-test-instrumentation-pymemcache-2_ubuntu-latest: + name: instrumentation-pymemcache-2 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-2 -- -ra + + pypy3-test-instrumentation-pymemcache-3_ubuntu-latest: + name: instrumentation-pymemcache-3 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-3 -- -ra + + pypy3-test-instrumentation-pymemcache-4_ubuntu-latest: + name: instrumentation-pymemcache-4 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymemcache-4 -- -ra + + py39-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymongo -- -ra + + py310-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymongo -- -ra + + py311-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymongo -- -ra + + py312-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymongo -- -ra + + py313-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymongo -- -ra + + pypy3-test-instrumentation-pymongo_ubuntu-latest: + name: instrumentation-pymongo pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymongo -- -ra + + py39-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymysql -- -ra + + py310-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymysql -- -ra + + py311-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymysql -- -ra + + py312-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymysql -- -ra + + py313-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymysql -- -ra + + pypy3-test-instrumentation-pymysql_ubuntu-latest: + name: instrumentation-pymysql pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pymysql -- -ra + + py39-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pymssql -- -ra + + py310-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pymssql -- -ra + + py311-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pymssql -- -ra + + py312-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pymssql -- -ra + + py313-test-instrumentation-pymssql_ubuntu-latest: + name: instrumentation-pymssql 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-pymssql -- -ra + + py39-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-pyramid -- -ra + + py310-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-pyramid -- -ra + + py311-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-pyramid -- -ra + + py312-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-pyramid -- -ra + + pypy3-test-instrumentation-pyramid_ubuntu-latest: + name: instrumentation-pyramid pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-pyramid -- -ra + + py39-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asgi -- -ra + + py310-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-asgi -- -ra + + py311-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-asgi -- -ra + + py312-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-asgi -- -ra + + py313-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-asgi -- -ra + + pypy3-test-instrumentation-asgi_ubuntu-latest: + name: instrumentation-asgi pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-asgi -- -ra + + py39-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-asyncpg -- -ra + + py310-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-asyncpg -- -ra + + py311-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-asyncpg -- -ra + + py312-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-asyncpg -- -ra + + py313-test-instrumentation-asyncpg_ubuntu-latest: + name: instrumentation-asyncpg 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-asyncpg -- -ra + + py39-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlite3 -- -ra + + py310-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sqlite3 -- -ra + + py311-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sqlite3 -- -ra + + py312-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sqlite3 -- -ra + + py313-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sqlite3 -- -ra + + pypy3-test-instrumentation-sqlite3_ubuntu-latest: + name: instrumentation-sqlite3 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlite3 -- -ra + + py39-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-wsgi -- -ra + + py310-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-wsgi -- -ra + + py311-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-wsgi -- -ra + + py312-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-wsgi -- -ra + + py313-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-wsgi -- -ra + + pypy3-test-instrumentation-wsgi_ubuntu-latest: + name: instrumentation-wsgi pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-wsgi -- -ra + + py39-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-0 -- -ra + + py39-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-grpc-1 -- -ra + + py310-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-grpc-0 -- -ra + + py310-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-grpc-1 -- -ra + + py311-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-grpc-0 -- -ra + + py311-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-grpc-1 -- -ra + + py312-test-instrumentation-grpc-0_ubuntu-latest: + name: instrumentation-grpc-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-grpc-0 -- -ra + + py312-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-grpc-1 -- -ra + + py313-test-instrumentation-grpc-1_ubuntu-latest: + name: instrumentation-grpc-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-grpc-1 -- -ra + + py39-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-1 -- -ra + + py39-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sqlalchemy-2 -- -ra + + py310-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sqlalchemy-1 -- -ra + + py310-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sqlalchemy-2 -- -ra + + py311-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sqlalchemy-1 -- -ra + + py311-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sqlalchemy-2 -- -ra + + py312-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sqlalchemy-1 -- -ra + + py312-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sqlalchemy-2 -- -ra + + py313-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sqlalchemy-1 -- -ra + + py313-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sqlalchemy-2 -- -ra + + pypy3-test-instrumentation-sqlalchemy-0_ubuntu-latest: + name: instrumentation-sqlalchemy-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlalchemy-0 -- -ra + + pypy3-test-instrumentation-sqlalchemy-1_ubuntu-latest: + name: instrumentation-sqlalchemy-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlalchemy-1 -- -ra + + pypy3-test-instrumentation-sqlalchemy-2_ubuntu-latest: + name: instrumentation-sqlalchemy-2 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sqlalchemy-2 -- -ra + + py39-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-redis -- -ra + + py310-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-redis -- -ra + + py311-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-redis -- -ra + + py312-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-redis -- -ra + + py313-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-redis -- -ra + + pypy3-test-instrumentation-redis_ubuntu-latest: + name: instrumentation-redis pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-redis -- -ra + + py39-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-remoulade -- -ra + + py310-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-remoulade -- -ra + + py311-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-remoulade -- -ra + + py312-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-remoulade -- -ra + + py313-test-instrumentation-remoulade_ubuntu-latest: + name: instrumentation-remoulade 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-remoulade -- -ra + + py39-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-celery -- -ra + + py310-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-celery -- -ra + + py311-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-celery -- -ra + + py312-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-celery -- -ra + + py313-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-celery -- -ra + + pypy3-test-instrumentation-celery_ubuntu-latest: + name: instrumentation-celery pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-celery -- -ra + + py39-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-system-metrics -- -ra + + py310-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-system-metrics -- -ra + + py311-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-system-metrics -- -ra + + py312-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-system-metrics -- -ra + + py313-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-system-metrics -- -ra + + pypy3-test-instrumentation-system-metrics_ubuntu-latest: + name: instrumentation-system-metrics pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-system-metrics -- -ra + + py39-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-taskiq -- -ra + + py310-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-taskiq -- -ra + + py311-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-taskiq -- -ra + + py312-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-taskiq -- -ra + + py313-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-taskiq -- -ra + + pypy3-test-instrumentation-taskiq_ubuntu-latest: + name: instrumentation-taskiq pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-taskiq -- -ra + + py39-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-threading -- -ra + + py310-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-threading -- -ra + + py311-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-threading -- -ra + + py312-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-threading -- -ra + + py313-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-threading -- -ra + + pypy3-test-instrumentation-threading_ubuntu-latest: + name: instrumentation-threading pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-threading -- -ra + + py39-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tornado -- -ra + + py310-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-tornado -- -ra + + py311-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-tornado -- -ra + + py312-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-tornado -- -ra + + py313-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-tornado -- -ra + + pypy3-test-instrumentation-tornado_ubuntu-latest: + name: instrumentation-tornado pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-tornado -- -ra + + py39-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-tortoiseorm -- -ra + + py310-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-tortoiseorm -- -ra + + py311-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-tortoiseorm -- -ra + + py312-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-tortoiseorm -- -ra + + py313-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-tortoiseorm -- -ra + + pypy3-test-instrumentation-tortoiseorm_ubuntu-latest: + name: instrumentation-tortoiseorm pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-tortoiseorm -- -ra + + py39-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-0 -- -ra + + py39-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-httpx-1 -- -ra + + py310-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-httpx-0 -- -ra + + py310-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-httpx-1 -- -ra + + py311-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-httpx-0 -- -ra + + py311-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-httpx-1 -- -ra + + py312-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-httpx-0 -- -ra + + py312-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-httpx-1 -- -ra + + py313-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-httpx-1 -- -ra + + pypy3-test-instrumentation-httpx-0_ubuntu-latest: + name: instrumentation-httpx-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-httpx-0 -- -ra + + pypy3-test-instrumentation-httpx-1_ubuntu-latest: + name: instrumentation-httpx-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-httpx-1 -- -ra + + py39-test-util-http_ubuntu-latest: + name: util-http 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-http -- -ra + + py310-test-util-http_ubuntu-latest: + name: util-http 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-util-http -- -ra + + py311-test-util-http_ubuntu-latest: + name: util-http 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-util-http -- -ra + + py312-test-util-http_ubuntu-latest: + name: util-http 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-util-http -- -ra + + py313-test-util-http_ubuntu-latest: + name: util-http 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-util-http -- -ra + + pypy3-test-util-http_ubuntu-latest: + name: util-http pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-util-http -- -ra + + py39-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-exporter-credential-provider-gcp -- -ra + + py310-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-exporter-credential-provider-gcp -- -ra + + py311-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-exporter-credential-provider-gcp -- -ra + + py312-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-exporter-credential-provider-gcp -- -ra + + py313-test-exporter-credential-provider-gcp_ubuntu-latest: + name: exporter-credential-provider-gcp 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-exporter-credential-provider-gcp -- -ra + + py39-test-util-genai_ubuntu-latest: + name: util-genai 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-util-genai -- -ra + + py310-test-util-genai_ubuntu-latest: + name: util-genai 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-util-genai -- -ra + + py311-test-util-genai_ubuntu-latest: + name: util-genai 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-util-genai -- -ra + + py312-test-util-genai_ubuntu-latest: + name: util-genai 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-util-genai -- -ra + + py313-test-util-genai_ubuntu-latest: + name: util-genai 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-util-genai -- -ra + + pypy3-test-util-genai_ubuntu-latest: + name: util-genai pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-util-genai -- -ra + + py39-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-0 -- -ra + + py39-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-aws-xray-1 -- -ra + + py310-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-propagator-aws-xray-0 -- -ra + + py310-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-propagator-aws-xray-1 -- -ra + + py311-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-propagator-aws-xray-0 -- -ra + + py311-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-propagator-aws-xray-1 -- -ra + + py312-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-propagator-aws-xray-0 -- -ra + + py312-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-propagator-aws-xray-1 -- -ra + + py313-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-propagator-aws-xray-0 -- -ra + + py313-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-propagator-aws-xray-1 -- -ra + + pypy3-test-propagator-aws-xray-0_ubuntu-latest: + name: propagator-aws-xray-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-propagator-aws-xray-0 -- -ra + + pypy3-test-propagator-aws-xray-1_ubuntu-latest: + name: propagator-aws-xray-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-propagator-aws-xray-1 -- -ra + + py39-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-propagator-ot-trace -- -ra + + py310-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-propagator-ot-trace -- -ra + + py311-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-propagator-ot-trace -- -ra + + py312-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-propagator-ot-trace -- -ra + + py313-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-propagator-ot-trace -- -ra + + pypy3-test-propagator-ot-trace_ubuntu-latest: + name: propagator-ot-trace pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-propagator-ot-trace -- -ra + + py39-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-0 -- -ra + + py39-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-sio-pika-1 -- -ra + + py310-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sio-pika-0 -- -ra + + py310-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-sio-pika-1 -- -ra + + py311-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sio-pika-0 -- -ra + + py311-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-sio-pika-1 -- -ra + + py312-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sio-pika-0 -- -ra + + py312-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sio-pika-1 -- -ra + + py313-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sio-pika-0 -- -ra + + py313-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sio-pika-1 -- -ra + + pypy3-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sio-pika-0 -- -ra + + pypy3-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sio-pika-1 -- -ra + + py39-test-instrumentation-aio-pika-0_ubuntu-latest: + name: instrumentation-aio-pika-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra + + py39-test-instrumentation-aio-pika-1_ubuntu-latest: + name: instrumentation-aio-pika-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra diff --git a/instrumentation/README.md b/instrumentation/README.md index fa3b91e6ef..f598afec9d 100644 --- a/instrumentation/README.md +++ b/instrumentation/README.md @@ -1,55 +1,55 @@ - -| Instrumentation | Supported Packages | Metrics support | Semconv status | -| --------------- | ------------------ | --------------- | -------------- | -| [opentelemetry-instrumentation-aio-pika](./opentelemetry-instrumentation-aio-pika) | aio_pika >= 7.2.0, < 10.0.0 | No | development -| [opentelemetry-instrumentation-aiohttp-client](./opentelemetry-instrumentation-aiohttp-client) | aiohttp ~= 3.0 | Yes | migration -| [opentelemetry-instrumentation-aiohttp-server](./opentelemetry-instrumentation-aiohttp-server) | aiohttp ~= 3.0 | Yes | development -| [opentelemetry-instrumentation-aiokafka](./opentelemetry-instrumentation-aiokafka) | aiokafka >= 0.8, < 1.0 | No | development -| [opentelemetry-instrumentation-aiopg](./opentelemetry-instrumentation-aiopg) | aiopg >= 0.13.0, < 2.0.0 | No | development -| [opentelemetry-instrumentation-asgi](./opentelemetry-instrumentation-asgi) | asgiref ~= 3.0 | Yes | migration -| [opentelemetry-instrumentation-asyncclick](./opentelemetry-instrumentation-asyncclick) | asyncclick ~= 8.0 | No | development -| [opentelemetry-instrumentation-asyncio](./opentelemetry-instrumentation-asyncio) | asyncio | No | development -| [opentelemetry-instrumentation-asyncpg](./opentelemetry-instrumentation-asyncpg) | asyncpg >= 0.12.0 | No | development -| [opentelemetry-instrumentation-aws-lambda](./opentelemetry-instrumentation-aws-lambda) | aws_lambda | No | development -| [opentelemetry-instrumentation-boto](./opentelemetry-instrumentation-boto) | boto~=2.0 | No | development -| [opentelemetry-instrumentation-boto3sqs](./opentelemetry-instrumentation-boto3sqs) | boto3 ~= 1.0 | No | development -| [opentelemetry-instrumentation-botocore](./opentelemetry-instrumentation-botocore) | botocore ~= 1.0 | No | development -| [opentelemetry-instrumentation-cassandra](./opentelemetry-instrumentation-cassandra) | cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | No | development -| [opentelemetry-instrumentation-celery](./opentelemetry-instrumentation-celery) | celery >= 4.0, < 6.0 | No | development -| [opentelemetry-instrumentation-click](./opentelemetry-instrumentation-click) | click >= 8.1.3, < 9.0.0 | No | development -| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.11.0 | No | development -| [opentelemetry-instrumentation-dbapi](./opentelemetry-instrumentation-dbapi) | dbapi | No | development -| [opentelemetry-instrumentation-django](./opentelemetry-instrumentation-django) | django >= 1.10 | Yes | development -| [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 6.0 | No | development -| [opentelemetry-instrumentation-falcon](./opentelemetry-instrumentation-falcon) | falcon >= 1.4.1, < 5.0.0 | Yes | migration -| [opentelemetry-instrumentation-fastapi](./opentelemetry-instrumentation-fastapi) | fastapi ~= 0.92 | Yes | migration -| [opentelemetry-instrumentation-flask](./opentelemetry-instrumentation-flask) | flask >= 1.0 | Yes | migration -| [opentelemetry-instrumentation-grpc](./opentelemetry-instrumentation-grpc) | grpcio >= 1.42.0 | No | development -| [opentelemetry-instrumentation-httpx](./opentelemetry-instrumentation-httpx) | httpx >= 0.18.0 | Yes | migration -| [opentelemetry-instrumentation-jinja2](./opentelemetry-instrumentation-jinja2) | jinja2 >= 2.7, < 4.0 | No | development -| [opentelemetry-instrumentation-kafka-python](./opentelemetry-instrumentation-kafka-python) | kafka-python >= 2.0, < 3.0,kafka-python-ng >= 2.0, < 3.0 | No | development -| [opentelemetry-instrumentation-logging](./opentelemetry-instrumentation-logging) | logging | No | development -| [opentelemetry-instrumentation-mysql](./opentelemetry-instrumentation-mysql) | mysql-connector-python >= 8.0, < 10.0 | No | development -| [opentelemetry-instrumentation-mysqlclient](./opentelemetry-instrumentation-mysqlclient) | mysqlclient < 3 | No | development -| [opentelemetry-instrumentation-pika](./opentelemetry-instrumentation-pika) | pika >= 0.12.0 | No | development -| [opentelemetry-instrumentation-psycopg](./opentelemetry-instrumentation-psycopg) | psycopg >= 3.1.0 | No | development -| [opentelemetry-instrumentation-psycopg2](./opentelemetry-instrumentation-psycopg2) | psycopg2 >= 2.7.3.1,psycopg2-binary >= 2.7.3.1 | No | development -| [opentelemetry-instrumentation-pymemcache](./opentelemetry-instrumentation-pymemcache) | pymemcache >= 1.3.5, < 5 | No | development -| [opentelemetry-instrumentation-pymongo](./opentelemetry-instrumentation-pymongo) | pymongo >= 3.1, < 5.0 | No | development -| [opentelemetry-instrumentation-pymssql](./opentelemetry-instrumentation-pymssql) | pymssql >= 2.1.5, < 3 | No | development -| [opentelemetry-instrumentation-pymysql](./opentelemetry-instrumentation-pymysql) | PyMySQL < 2 | No | development -| [opentelemetry-instrumentation-pyramid](./opentelemetry-instrumentation-pyramid) | pyramid >= 1.7 | Yes | development -| [opentelemetry-instrumentation-redis](./opentelemetry-instrumentation-redis) | redis >= 2.6 | No | development -| [opentelemetry-instrumentation-remoulade](./opentelemetry-instrumentation-remoulade) | remoulade >= 0.50 | No | development -| [opentelemetry-instrumentation-requests](./opentelemetry-instrumentation-requests) | requests ~= 2.0 | Yes | migration -| [opentelemetry-instrumentation-sqlalchemy](./opentelemetry-instrumentation-sqlalchemy) | sqlalchemy >= 1.0.0, < 2.1.0 | Yes | development -| [opentelemetry-instrumentation-sqlite3](./opentelemetry-instrumentation-sqlite3) | sqlite3 | No | development -| [opentelemetry-instrumentation-starlette](./opentelemetry-instrumentation-starlette) | starlette >= 0.13 | Yes | development -| [opentelemetry-instrumentation-system-metrics](./opentelemetry-instrumentation-system-metrics) | psutil >= 5 | No | development -| [opentelemetry-instrumentation-taskiq](./opentelemetry-instrumentation-taskiq) | taskiq >= 0.11 | No | development -| [opentelemetry-instrumentation-threading](./opentelemetry-instrumentation-threading) | threading | No | development -| [opentelemetry-instrumentation-tornado](./opentelemetry-instrumentation-tornado) | tornado >= 5.1.1 | Yes | development -| [opentelemetry-instrumentation-tortoiseorm](./opentelemetry-instrumentation-tortoiseorm) | tortoise-orm >= 0.17.0 | No | development -| [opentelemetry-instrumentation-urllib](./opentelemetry-instrumentation-urllib) | urllib | Yes | migration -| [opentelemetry-instrumentation-urllib3](./opentelemetry-instrumentation-urllib3) | urllib3 >= 1.0.0, < 3.0.0 | Yes | migration + +| Instrumentation | Supported Packages | Metrics support | Semconv status | +| --------------- | ------------------ | --------------- | -------------- | +| [opentelemetry-instrumentation-aio-pika](./opentelemetry-instrumentation-aio-pika) | aio_pika >= 7.2.0, < 10.0.0 | No | development +| [opentelemetry-instrumentation-aiohttp-client](./opentelemetry-instrumentation-aiohttp-client) | aiohttp ~= 3.0 | Yes | migration +| [opentelemetry-instrumentation-aiohttp-server](./opentelemetry-instrumentation-aiohttp-server) | aiohttp ~= 3.0 | Yes | development +| [opentelemetry-instrumentation-aiokafka](./opentelemetry-instrumentation-aiokafka) | aiokafka >= 0.8, < 1.0 | No | development +| [opentelemetry-instrumentation-aiopg](./opentelemetry-instrumentation-aiopg) | aiopg >= 0.13.0, < 2.0.0 | No | development +| [opentelemetry-instrumentation-asgi](./opentelemetry-instrumentation-asgi) | asgiref ~= 3.0 | Yes | migration +| [opentelemetry-instrumentation-asyncclick](./opentelemetry-instrumentation-asyncclick) | asyncclick ~= 8.0 | No | development +| [opentelemetry-instrumentation-asyncio](./opentelemetry-instrumentation-asyncio) | asyncio | No | development +| [opentelemetry-instrumentation-asyncpg](./opentelemetry-instrumentation-asyncpg) | asyncpg >= 0.12.0 | No | development +| [opentelemetry-instrumentation-aws-lambda](./opentelemetry-instrumentation-aws-lambda) | aws_lambda | No | development +| [opentelemetry-instrumentation-boto](./opentelemetry-instrumentation-boto) | boto~=2.0 | No | development +| [opentelemetry-instrumentation-boto3sqs](./opentelemetry-instrumentation-boto3sqs) | boto3 ~= 1.0 | No | development +| [opentelemetry-instrumentation-botocore](./opentelemetry-instrumentation-botocore) | botocore ~= 1.0 | No | development +| [opentelemetry-instrumentation-cassandra](./opentelemetry-instrumentation-cassandra) | cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | No | development +| [opentelemetry-instrumentation-celery](./opentelemetry-instrumentation-celery) | celery >= 4.0, < 6.0 | No | development +| [opentelemetry-instrumentation-click](./opentelemetry-instrumentation-click) | click >= 8.1.3, < 9.0.0 | No | development +| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.11.0 | No | development +| [opentelemetry-instrumentation-dbapi](./opentelemetry-instrumentation-dbapi) | dbapi | No | development +| [opentelemetry-instrumentation-django](./opentelemetry-instrumentation-django) | django >= 1.10 | Yes | development +| [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 6.0 | No | development +| [opentelemetry-instrumentation-falcon](./opentelemetry-instrumentation-falcon) | falcon >= 1.4.1, < 5.0.0 | Yes | migration +| [opentelemetry-instrumentation-fastapi](./opentelemetry-instrumentation-fastapi) | fastapi ~= 0.92 | Yes | migration +| [opentelemetry-instrumentation-flask](./opentelemetry-instrumentation-flask) | flask >= 1.0 | Yes | migration +| [opentelemetry-instrumentation-grpc](./opentelemetry-instrumentation-grpc) | grpcio >= 1.42.0 | No | development +| [opentelemetry-instrumentation-httpx](./opentelemetry-instrumentation-httpx) | httpx >= 0.18.0 | Yes | migration +| [opentelemetry-instrumentation-jinja2](./opentelemetry-instrumentation-jinja2) | jinja2 >= 2.7, < 4.0 | No | development +| [opentelemetry-instrumentation-kafka-python](./opentelemetry-instrumentation-kafka-python) | kafka-python >= 2.0, < 3.0,kafka-python-ng >= 2.0, < 3.0 | No | development +| [opentelemetry-instrumentation-logging](./opentelemetry-instrumentation-logging) | logging | No | development +| [opentelemetry-instrumentation-mysql](./opentelemetry-instrumentation-mysql) | mysql-connector-python >= 8.0, < 10.0 | No | development +| [opentelemetry-instrumentation-mysqlclient](./opentelemetry-instrumentation-mysqlclient) | mysqlclient < 3 | No | development +| [opentelemetry-instrumentation-pika](./opentelemetry-instrumentation-pika) | pika >= 0.12.0 | No | development +| [opentelemetry-instrumentation-psycopg](./opentelemetry-instrumentation-psycopg) | psycopg >= 3.1.0 | No | development +| [opentelemetry-instrumentation-psycopg2](./opentelemetry-instrumentation-psycopg2) | psycopg2 >= 2.7.3.1,psycopg2-binary >= 2.7.3.1 | No | development +| [opentelemetry-instrumentation-pymemcache](./opentelemetry-instrumentation-pymemcache) | pymemcache >= 1.3.5, < 5 | No | development +| [opentelemetry-instrumentation-pymongo](./opentelemetry-instrumentation-pymongo) | pymongo >= 3.1, < 5.0 | No | development +| [opentelemetry-instrumentation-pymssql](./opentelemetry-instrumentation-pymssql) | pymssql >= 2.1.5, < 3 | No | development +| [opentelemetry-instrumentation-pymysql](./opentelemetry-instrumentation-pymysql) | PyMySQL < 2 | No | development +| [opentelemetry-instrumentation-pyramid](./opentelemetry-instrumentation-pyramid) | pyramid >= 1.7 | Yes | development +| [opentelemetry-instrumentation-redis](./opentelemetry-instrumentation-redis) | redis >= 2.6 | No | development +| [opentelemetry-instrumentation-remoulade](./opentelemetry-instrumentation-remoulade) | remoulade >= 0.50 | No | development +| [opentelemetry-instrumentation-requests](./opentelemetry-instrumentation-requests) | requests ~= 2.0 | Yes | migration +| [opentelemetry-instrumentation-sqlalchemy](./opentelemetry-instrumentation-sqlalchemy) | sqlalchemy >= 1.0.0, < 2.1.0 | Yes | development +| [opentelemetry-instrumentation-sqlite3](./opentelemetry-instrumentation-sqlite3) | sqlite3 | No | development +| [opentelemetry-instrumentation-starlette](./opentelemetry-instrumentation-starlette) | starlette >= 0.13 | Yes | development +| [opentelemetry-instrumentation-system-metrics](./opentelemetry-instrumentation-system-metrics) | psutil >= 5 | No | development +| [opentelemetry-instrumentation-taskiq](./opentelemetry-instrumentation-taskiq) | taskiq >= 0.11 | No | development +| [opentelemetry-instrumentation-threading](./opentelemetry-instrumentation-threading) | threading | No | development +| [opentelemetry-instrumentation-tornado](./opentelemetry-instrumentation-tornado) | tornado >= 5.1.1 | Yes | development +| [opentelemetry-instrumentation-tortoiseorm](./opentelemetry-instrumentation-tortoiseorm) | tortoise-orm >= 0.17.0 | No | development +| [opentelemetry-instrumentation-urllib](./opentelemetry-instrumentation-urllib) | urllib | Yes | migration +| [opentelemetry-instrumentation-urllib3](./opentelemetry-instrumentation-urllib3) | urllib3 >= 1.0.0, < 3.0.0 | Yes | migration | [opentelemetry-instrumentation-wsgi](./opentelemetry-instrumentation-wsgi) | wsgi | Yes | migration \ No newline at end of file diff --git a/opentelemetry-contrib-instrumentations/pyproject.toml b/opentelemetry-contrib-instrumentations/pyproject.toml index a33193422e..5854a27847 100644 --- a/opentelemetry-contrib-instrumentations/pyproject.toml +++ b/opentelemetry-contrib-instrumentations/pyproject.toml @@ -1,101 +1,101 @@ -[build-system] -requires = [ - "hatchling", -] -build-backend = "hatchling.build" - -[project] -name = "opentelemetry-contrib-instrumentations" -dynamic = [ - "version", -] -description = "OpenTelemetry Contrib Instrumentation Packages" -readme = "README.rst" -license = "Apache-2.0" -requires-python = ">=3.9" -authors = [ - { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, -] -classifiers = [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: Apache Software License", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", -] -dependencies = [ - "opentelemetry-instrumentation-aio-pika==0.59b0.dev", - "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", - "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", - "opentelemetry-instrumentation-aiokafka==0.59b0.dev", - "opentelemetry-instrumentation-aiopg==0.59b0.dev", - "opentelemetry-instrumentation-asgi==0.59b0.dev", - "opentelemetry-instrumentation-asyncclick==0.59b0.dev", - "opentelemetry-instrumentation-asyncio==0.59b0.dev", - "opentelemetry-instrumentation-asyncpg==0.59b0.dev", - "opentelemetry-instrumentation-aws-lambda==0.59b0.dev", - "opentelemetry-instrumentation-boto==0.59b0.dev", - "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", - "opentelemetry-instrumentation-botocore==0.59b0.dev", - "opentelemetry-instrumentation-cassandra==0.59b0.dev", - "opentelemetry-instrumentation-celery==0.59b0.dev", - "opentelemetry-instrumentation-click==0.59b0.dev", - "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", - "opentelemetry-instrumentation-dbapi==0.59b0.dev", - "opentelemetry-instrumentation-django==0.59b0.dev", - "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", - "opentelemetry-instrumentation-falcon==0.59b0.dev", - "opentelemetry-instrumentation-fastapi==0.59b0.dev", - "opentelemetry-instrumentation-flask==0.59b0.dev", - "opentelemetry-instrumentation-grpc==0.59b0.dev", - "opentelemetry-instrumentation-httpx==0.59b0.dev", - "opentelemetry-instrumentation-jinja2==0.59b0.dev", - "opentelemetry-instrumentation-kafka-python==0.59b0.dev", - "opentelemetry-instrumentation-logging==0.59b0.dev", - "opentelemetry-instrumentation-mysql==0.59b0.dev", - "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", - "opentelemetry-instrumentation-pika==0.59b0.dev", - "opentelemetry-instrumentation-psycopg==0.59b0.dev", - "opentelemetry-instrumentation-psycopg2==0.59b0.dev", - "opentelemetry-instrumentation-pymemcache==0.59b0.dev", - "opentelemetry-instrumentation-pymongo==0.59b0.dev", - "opentelemetry-instrumentation-pymssql==0.59b0.dev", - "opentelemetry-instrumentation-pymysql==0.59b0.dev", - "opentelemetry-instrumentation-pyramid==0.59b0.dev", - "opentelemetry-instrumentation-redis==0.59b0.dev", - "opentelemetry-instrumentation-remoulade==0.59b0.dev", - "opentelemetry-instrumentation-requests==0.59b0.dev", - "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", - "opentelemetry-instrumentation-sqlite3==0.59b0.dev", - "opentelemetry-instrumentation-starlette==0.59b0.dev", - "opentelemetry-instrumentation-system-metrics==0.59b0.dev", - "opentelemetry-instrumentation-taskiq==0.59b0.dev", - "opentelemetry-instrumentation-threading==0.59b0.dev", - "opentelemetry-instrumentation-tornado==0.59b0.dev", - "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", - "opentelemetry-instrumentation-urllib==0.59b0.dev", - "opentelemetry-instrumentation-urllib3==0.59b0.dev", - "opentelemetry-instrumentation-wsgi==0.59b0.dev", -] - -[project.urls] -Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-contrib-instrumentations" -Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" - -[tool.hatch.version] -path = "src/opentelemetry/contrib-instrumentations/version.py" - -[tool.hatch.build.targets.sdist] -include = [ - "/src", -] - -[tool.hatch.build.targets.wheel] -packages = [ - "src/opentelemetry", -] +[build-system] +requires = [ + "hatchling", +] +build-backend = "hatchling.build" + +[project] +name = "opentelemetry-contrib-instrumentations" +dynamic = [ + "version", +] +description = "OpenTelemetry Contrib Instrumentation Packages" +readme = "README.rst" +license = "Apache-2.0" +requires-python = ">=3.9" +authors = [ + { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", +] +dependencies = [ + "opentelemetry-instrumentation-aio-pika==0.59b0.dev", + "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", + "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", + "opentelemetry-instrumentation-aiokafka==0.59b0.dev", + "opentelemetry-instrumentation-aiopg==0.59b0.dev", + "opentelemetry-instrumentation-asgi==0.59b0.dev", + "opentelemetry-instrumentation-asyncclick==0.59b0.dev", + "opentelemetry-instrumentation-asyncio==0.59b0.dev", + "opentelemetry-instrumentation-asyncpg==0.59b0.dev", + "opentelemetry-instrumentation-aws-lambda==0.59b0.dev", + "opentelemetry-instrumentation-boto==0.59b0.dev", + "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", + "opentelemetry-instrumentation-botocore==0.59b0.dev", + "opentelemetry-instrumentation-cassandra==0.59b0.dev", + "opentelemetry-instrumentation-celery==0.59b0.dev", + "opentelemetry-instrumentation-click==0.59b0.dev", + "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", + "opentelemetry-instrumentation-dbapi==0.59b0.dev", + "opentelemetry-instrumentation-django==0.59b0.dev", + "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", + "opentelemetry-instrumentation-falcon==0.59b0.dev", + "opentelemetry-instrumentation-fastapi==0.59b0.dev", + "opentelemetry-instrumentation-flask==0.59b0.dev", + "opentelemetry-instrumentation-grpc==0.59b0.dev", + "opentelemetry-instrumentation-httpx==0.59b0.dev", + "opentelemetry-instrumentation-jinja2==0.59b0.dev", + "opentelemetry-instrumentation-kafka-python==0.59b0.dev", + "opentelemetry-instrumentation-logging==0.59b0.dev", + "opentelemetry-instrumentation-mysql==0.59b0.dev", + "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", + "opentelemetry-instrumentation-pika==0.59b0.dev", + "opentelemetry-instrumentation-psycopg==0.59b0.dev", + "opentelemetry-instrumentation-psycopg2==0.59b0.dev", + "opentelemetry-instrumentation-pymemcache==0.59b0.dev", + "opentelemetry-instrumentation-pymongo==0.59b0.dev", + "opentelemetry-instrumentation-pymssql==0.59b0.dev", + "opentelemetry-instrumentation-pymysql==0.59b0.dev", + "opentelemetry-instrumentation-pyramid==0.59b0.dev", + "opentelemetry-instrumentation-redis==0.59b0.dev", + "opentelemetry-instrumentation-remoulade==0.59b0.dev", + "opentelemetry-instrumentation-requests==0.59b0.dev", + "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", + "opentelemetry-instrumentation-sqlite3==0.59b0.dev", + "opentelemetry-instrumentation-starlette==0.59b0.dev", + "opentelemetry-instrumentation-system-metrics==0.59b0.dev", + "opentelemetry-instrumentation-taskiq==0.59b0.dev", + "opentelemetry-instrumentation-threading==0.59b0.dev", + "opentelemetry-instrumentation-tornado==0.59b0.dev", + "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", + "opentelemetry-instrumentation-urllib==0.59b0.dev", + "opentelemetry-instrumentation-urllib3==0.59b0.dev", + "opentelemetry-instrumentation-wsgi==0.59b0.dev", +] + +[project.urls] +Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-contrib-instrumentations" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" + +[tool.hatch.version] +path = "src/opentelemetry/contrib-instrumentations/version.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/src", +] + +[tool.hatch.build.targets.wheel] +packages = [ + "src/opentelemetry", +] diff --git a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py index 3bdae2bef4..2c973ffda4 100644 --- a/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py +++ b/opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py @@ -1,228 +1,228 @@ -# Copyright The OpenTelemetry Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# DO NOT EDIT. THIS FILE WAS AUTOGENERATED FROM INSTRUMENTATION PACKAGES. -# RUN `python scripts/generate_instrumentation_bootstrap.py` TO REGENERATE. - -libraries = [ - { - "library": "openai >= 1.26.0", - "instrumentation": "opentelemetry-instrumentation-openai-v2", - }, - { - "library": "google-cloud-aiplatform >= 1.64", - "instrumentation": "opentelemetry-instrumentation-vertexai>=2.0b0", - }, - { - "library": "aio_pika >= 7.2.0, < 10.0.0", - "instrumentation": "opentelemetry-instrumentation-aio-pika==0.59b0.dev", - }, - { - "library": "aiohttp ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", - }, - { - "library": "aiohttp ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", - }, - { - "library": "aiokafka >= 0.8, < 1.0", - "instrumentation": "opentelemetry-instrumentation-aiokafka==0.59b0.dev", - }, - { - "library": "aiopg >= 0.13.0, < 2.0.0", - "instrumentation": "opentelemetry-instrumentation-aiopg==0.59b0.dev", - }, - { - "library": "asgiref ~= 3.0", - "instrumentation": "opentelemetry-instrumentation-asgi==0.59b0.dev", - }, - { - "library": "asyncclick ~= 8.0", - "instrumentation": "opentelemetry-instrumentation-asyncclick==0.59b0.dev", - }, - { - "library": "asyncpg >= 0.12.0", - "instrumentation": "opentelemetry-instrumentation-asyncpg==0.59b0.dev", - }, - { - "library": "boto~=2.0", - "instrumentation": "opentelemetry-instrumentation-boto==0.59b0.dev", - }, - { - "library": "boto3 ~= 1.0", - "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", - }, - { - "library": "botocore ~= 1.0", - "instrumentation": "opentelemetry-instrumentation-botocore==0.59b0.dev", - }, - { - "library": "cassandra-driver ~= 3.25", - "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", - }, - { - "library": "scylla-driver ~= 3.25", - "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", - }, - { - "library": "celery >= 4.0, < 6.0", - "instrumentation": "opentelemetry-instrumentation-celery==0.59b0.dev", - }, - { - "library": "click >= 8.1.3, < 9.0.0", - "instrumentation": "opentelemetry-instrumentation-click==0.59b0.dev", - }, - { - "library": "confluent-kafka >= 1.8.2, <= 2.11.0", - "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", - }, - { - "library": "django >= 1.10", - "instrumentation": "opentelemetry-instrumentation-django==0.59b0.dev", - }, - { - "library": "elasticsearch >= 6.0", - "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", - }, - { - "library": "falcon >= 1.4.1, < 5.0.0", - "instrumentation": "opentelemetry-instrumentation-falcon==0.59b0.dev", - }, - { - "library": "fastapi ~= 0.92", - "instrumentation": "opentelemetry-instrumentation-fastapi==0.59b0.dev", - }, - { - "library": "flask >= 1.0", - "instrumentation": "opentelemetry-instrumentation-flask==0.59b0.dev", - }, - { - "library": "grpcio >= 1.42.0", - "instrumentation": "opentelemetry-instrumentation-grpc==0.59b0.dev", - }, - { - "library": "httpx >= 0.18.0", - "instrumentation": "opentelemetry-instrumentation-httpx==0.59b0.dev", - }, - { - "library": "jinja2 >= 2.7, < 4.0", - "instrumentation": "opentelemetry-instrumentation-jinja2==0.59b0.dev", - }, - { - "library": "kafka-python >= 2.0, < 3.0", - "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", - }, - { - "library": "kafka-python-ng >= 2.0, < 3.0", - "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", - }, - { - "library": "mysql-connector-python >= 8.0, < 10.0", - "instrumentation": "opentelemetry-instrumentation-mysql==0.59b0.dev", - }, - { - "library": "mysqlclient < 3", - "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", - }, - { - "library": "pika >= 0.12.0", - "instrumentation": "opentelemetry-instrumentation-pika==0.59b0.dev", - }, - { - "library": "psycopg >= 3.1.0", - "instrumentation": "opentelemetry-instrumentation-psycopg==0.59b0.dev", - }, - { - "library": "psycopg2 >= 2.7.3.1", - "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", - }, - { - "library": "psycopg2-binary >= 2.7.3.1", - "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", - }, - { - "library": "pymemcache >= 1.3.5, < 5", - "instrumentation": "opentelemetry-instrumentation-pymemcache==0.59b0.dev", - }, - { - "library": "pymongo >= 3.1, < 5.0", - "instrumentation": "opentelemetry-instrumentation-pymongo==0.59b0.dev", - }, - { - "library": "pymssql >= 2.1.5, < 3", - "instrumentation": "opentelemetry-instrumentation-pymssql==0.59b0.dev", - }, - { - "library": "PyMySQL < 2", - "instrumentation": "opentelemetry-instrumentation-pymysql==0.59b0.dev", - }, - { - "library": "pyramid >= 1.7", - "instrumentation": "opentelemetry-instrumentation-pyramid==0.59b0.dev", - }, - { - "library": "redis >= 2.6", - "instrumentation": "opentelemetry-instrumentation-redis==0.59b0.dev", - }, - { - "library": "remoulade >= 0.50", - "instrumentation": "opentelemetry-instrumentation-remoulade==0.59b0.dev", - }, - { - "library": "requests ~= 2.0", - "instrumentation": "opentelemetry-instrumentation-requests==0.59b0.dev", - }, - { - "library": "sqlalchemy >= 1.0.0, < 2.1.0", - "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", - }, - { - "library": "starlette >= 0.13", - "instrumentation": "opentelemetry-instrumentation-starlette==0.59b0.dev", - }, - { - "library": "psutil >= 5", - "instrumentation": "opentelemetry-instrumentation-system-metrics==0.59b0.dev", - }, - { - "library": "taskiq >= 0.11", - "instrumentation": "opentelemetry-instrumentation-taskiq==0.59b0.dev", - }, - { - "library": "tornado >= 5.1.1", - "instrumentation": "opentelemetry-instrumentation-tornado==0.59b0.dev", - }, - { - "library": "tortoise-orm >= 0.17.0", - "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", - }, - { - "library": "pydantic >= 1.10.2", - "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", - }, - { - "library": "urllib3 >= 1.0.0, < 3.0.0", - "instrumentation": "opentelemetry-instrumentation-urllib3==0.59b0.dev", - }, -] -default_instrumentations = [ - "opentelemetry-instrumentation-asyncio==0.59b0.dev", - "opentelemetry-instrumentation-dbapi==0.59b0.dev", - "opentelemetry-instrumentation-logging==0.59b0.dev", - "opentelemetry-instrumentation-sqlite3==0.59b0.dev", - "opentelemetry-instrumentation-threading==0.59b0.dev", - "opentelemetry-instrumentation-urllib==0.59b0.dev", - "opentelemetry-instrumentation-wsgi==0.59b0.dev", -] +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# DO NOT EDIT. THIS FILE WAS AUTOGENERATED FROM INSTRUMENTATION PACKAGES. +# RUN `python scripts/generate_instrumentation_bootstrap.py` TO REGENERATE. + +libraries = [ + { + "library": "openai >= 1.26.0", + "instrumentation": "opentelemetry-instrumentation-openai-v2", + }, + { + "library": "google-cloud-aiplatform >= 1.64", + "instrumentation": "opentelemetry-instrumentation-vertexai>=2.0b0", + }, + { + "library": "aio_pika >= 7.2.0, < 10.0.0", + "instrumentation": "opentelemetry-instrumentation-aio-pika==0.59b0.dev", + }, + { + "library": "aiohttp ~= 3.0", + "instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.59b0.dev", + }, + { + "library": "aiohttp ~= 3.0", + "instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.59b0.dev", + }, + { + "library": "aiokafka >= 0.8, < 1.0", + "instrumentation": "opentelemetry-instrumentation-aiokafka==0.59b0.dev", + }, + { + "library": "aiopg >= 0.13.0, < 2.0.0", + "instrumentation": "opentelemetry-instrumentation-aiopg==0.59b0.dev", + }, + { + "library": "asgiref ~= 3.0", + "instrumentation": "opentelemetry-instrumentation-asgi==0.59b0.dev", + }, + { + "library": "asyncclick ~= 8.0", + "instrumentation": "opentelemetry-instrumentation-asyncclick==0.59b0.dev", + }, + { + "library": "asyncpg >= 0.12.0", + "instrumentation": "opentelemetry-instrumentation-asyncpg==0.59b0.dev", + }, + { + "library": "boto~=2.0", + "instrumentation": "opentelemetry-instrumentation-boto==0.59b0.dev", + }, + { + "library": "boto3 ~= 1.0", + "instrumentation": "opentelemetry-instrumentation-boto3sqs==0.59b0.dev", + }, + { + "library": "botocore ~= 1.0", + "instrumentation": "opentelemetry-instrumentation-botocore==0.59b0.dev", + }, + { + "library": "cassandra-driver ~= 3.25", + "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", + }, + { + "library": "scylla-driver ~= 3.25", + "instrumentation": "opentelemetry-instrumentation-cassandra==0.59b0.dev", + }, + { + "library": "celery >= 4.0, < 6.0", + "instrumentation": "opentelemetry-instrumentation-celery==0.59b0.dev", + }, + { + "library": "click >= 8.1.3, < 9.0.0", + "instrumentation": "opentelemetry-instrumentation-click==0.59b0.dev", + }, + { + "library": "confluent-kafka >= 1.8.2, <= 2.11.0", + "instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.59b0.dev", + }, + { + "library": "django >= 1.10", + "instrumentation": "opentelemetry-instrumentation-django==0.59b0.dev", + }, + { + "library": "elasticsearch >= 6.0", + "instrumentation": "opentelemetry-instrumentation-elasticsearch==0.59b0.dev", + }, + { + "library": "falcon >= 1.4.1, < 5.0.0", + "instrumentation": "opentelemetry-instrumentation-falcon==0.59b0.dev", + }, + { + "library": "fastapi ~= 0.92", + "instrumentation": "opentelemetry-instrumentation-fastapi==0.59b0.dev", + }, + { + "library": "flask >= 1.0", + "instrumentation": "opentelemetry-instrumentation-flask==0.59b0.dev", + }, + { + "library": "grpcio >= 1.42.0", + "instrumentation": "opentelemetry-instrumentation-grpc==0.59b0.dev", + }, + { + "library": "httpx >= 0.18.0", + "instrumentation": "opentelemetry-instrumentation-httpx==0.59b0.dev", + }, + { + "library": "jinja2 >= 2.7, < 4.0", + "instrumentation": "opentelemetry-instrumentation-jinja2==0.59b0.dev", + }, + { + "library": "kafka-python >= 2.0, < 3.0", + "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", + }, + { + "library": "kafka-python-ng >= 2.0, < 3.0", + "instrumentation": "opentelemetry-instrumentation-kafka-python==0.59b0.dev", + }, + { + "library": "mysql-connector-python >= 8.0, < 10.0", + "instrumentation": "opentelemetry-instrumentation-mysql==0.59b0.dev", + }, + { + "library": "mysqlclient < 3", + "instrumentation": "opentelemetry-instrumentation-mysqlclient==0.59b0.dev", + }, + { + "library": "pika >= 0.12.0", + "instrumentation": "opentelemetry-instrumentation-pika==0.59b0.dev", + }, + { + "library": "psycopg >= 3.1.0", + "instrumentation": "opentelemetry-instrumentation-psycopg==0.59b0.dev", + }, + { + "library": "psycopg2 >= 2.7.3.1", + "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", + }, + { + "library": "psycopg2-binary >= 2.7.3.1", + "instrumentation": "opentelemetry-instrumentation-psycopg2==0.59b0.dev", + }, + { + "library": "pymemcache >= 1.3.5, < 5", + "instrumentation": "opentelemetry-instrumentation-pymemcache==0.59b0.dev", + }, + { + "library": "pymongo >= 3.1, < 5.0", + "instrumentation": "opentelemetry-instrumentation-pymongo==0.59b0.dev", + }, + { + "library": "pymssql >= 2.1.5, < 3", + "instrumentation": "opentelemetry-instrumentation-pymssql==0.59b0.dev", + }, + { + "library": "PyMySQL < 2", + "instrumentation": "opentelemetry-instrumentation-pymysql==0.59b0.dev", + }, + { + "library": "pyramid >= 1.7", + "instrumentation": "opentelemetry-instrumentation-pyramid==0.59b0.dev", + }, + { + "library": "redis >= 2.6", + "instrumentation": "opentelemetry-instrumentation-redis==0.59b0.dev", + }, + { + "library": "remoulade >= 0.50", + "instrumentation": "opentelemetry-instrumentation-remoulade==0.59b0.dev", + }, + { + "library": "requests ~= 2.0", + "instrumentation": "opentelemetry-instrumentation-requests==0.59b0.dev", + }, + { + "library": "sqlalchemy >= 1.0.0, < 2.1.0", + "instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.59b0.dev", + }, + { + "library": "starlette >= 0.13", + "instrumentation": "opentelemetry-instrumentation-starlette==0.59b0.dev", + }, + { + "library": "psutil >= 5", + "instrumentation": "opentelemetry-instrumentation-system-metrics==0.59b0.dev", + }, + { + "library": "taskiq >= 0.11", + "instrumentation": "opentelemetry-instrumentation-taskiq==0.59b0.dev", + }, + { + "library": "tornado >= 5.1.1", + "instrumentation": "opentelemetry-instrumentation-tornado==0.59b0.dev", + }, + { + "library": "tortoise-orm >= 0.17.0", + "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", + }, + { + "library": "pydantic >= 1.10.2", + "instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.59b0.dev", + }, + { + "library": "urllib3 >= 1.0.0, < 3.0.0", + "instrumentation": "opentelemetry-instrumentation-urllib3==0.59b0.dev", + }, +] +default_instrumentations = [ + "opentelemetry-instrumentation-asyncio==0.59b0.dev", + "opentelemetry-instrumentation-dbapi==0.59b0.dev", + "opentelemetry-instrumentation-logging==0.59b0.dev", + "opentelemetry-instrumentation-sqlite3==0.59b0.dev", + "opentelemetry-instrumentation-threading==0.59b0.dev", + "opentelemetry-instrumentation-urllib==0.59b0.dev", + "opentelemetry-instrumentation-wsgi==0.59b0.dev", +] diff --git a/pyproject.toml b/pyproject.toml index a59a1e15d0..b2695a4926 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,225 +1,225 @@ -# Used for local development, not to be published. -[project] -name = "opentelemetry-python-contrib" -version = "0.0.0" # This is not used. -requires-python = ">=3.9" -dependencies = [ - "opentelemetry-api", - "opentelemetry-sdk", - "opentelemetry-semantic-conventions", - "opentelemetry-test-utils", - "opentelemetry-exporter-prometheus-remote-write", - "opentelemetry-exporter-richconsole", - "opentelemetry-instrumentation", - "opentelemetry-instrumentation-aio-pika[instruments]", - "opentelemetry-instrumentation-aiohttp-client[instruments]", - "opentelemetry-instrumentation-aiohttp-server[instruments]", - "opentelemetry-instrumentation-aiokafka[instruments]", - "opentelemetry-instrumentation-aiopg[instruments]", - "opentelemetry-instrumentation-asgi[instruments]", - "opentelemetry-instrumentation-asyncio", - "opentelemetry-instrumentation-asyncpg[instruments]", - "opentelemetry-instrumentation-aws-lambda[instruments]", - "opentelemetry-instrumentation-boto[instruments]", - "opentelemetry-instrumentation-boto3sqs[instruments]", - "opentelemetry-instrumentation-botocore[instruments]", - "opentelemetry-instrumentation-cassandra[instruments]", - "opentelemetry-instrumentation-celery[instruments]", - "opentelemetry-instrumentation-click[instruments]", - "opentelemetry-instrumentation-confluent-kafka[instruments]", - "opentelemetry-instrumentation-dbapi", - "opentelemetry-instrumentation-django[instruments]", - "opentelemetry-instrumentation-elasticsearch[instruments]", - "opentelemetry-instrumentation-falcon[instruments]", - "opentelemetry-instrumentation-fastapi[instruments]", - "opentelemetry-instrumentation-flask[instruments]", - "opentelemetry-instrumentation-grpc[instruments]", - "opentelemetry-instrumentation-httpx[instruments]", - "opentelemetry-instrumentation-jinja2[instruments]", - "opentelemetry-instrumentation-kafka-python[instruments]", - "opentelemetry-instrumentation-kafka-python[instruments-any]", - "opentelemetry-instrumentation-logging", - "opentelemetry-instrumentation-mysql[instruments]", - "opentelemetry-instrumentation-mysqlclient[instruments]", - "opentelemetry-instrumentation-pika[instruments]", - "opentelemetry-instrumentation-psycopg[instruments]", - "opentelemetry-instrumentation-psycopg2[instruments]", - "opentelemetry-instrumentation-psycopg2[instruments-any]", - "opentelemetry-instrumentation-pymemcache[instruments]", - "opentelemetry-instrumentation-pymongo[instruments]", - "opentelemetry-instrumentation-pymysql[instruments]", - "opentelemetry-instrumentation-pyramid[instruments]", - "opentelemetry-instrumentation-redis[instruments]", - "opentelemetry-instrumentation-remoulade[instruments]", - "opentelemetry-instrumentation-requests[instruments]", - "opentelemetry-instrumentation-sqlalchemy[instruments]", - "opentelemetry-instrumentation-sqlite3", - "opentelemetry-instrumentation-system-metrics", - "opentelemetry-instrumentation-taskiq[instruments]", - "opentelemetry-instrumentation-threading", - "opentelemetry-instrumentation-tornado", - "opentelemetry-instrumentation-tortoiseorm", - "opentelemetry-instrumentation-urllib", - "opentelemetry-instrumentation-urllib3[instruments]", - "opentelemetry-instrumentation-wsgi", - "opentelemetry-propagator-ot-trace", - "opentelemetry-propagator-aws-xray", - "opentelemetry-util-http", - "opentelemetry-util-genai", - "opentelemetry-instrumentation-vertexai[instruments]", - "opentelemetry-instrumentation-openai-v2[instruments]", -] - - -# https://docs.astral.sh/uv/reference/settings/ -[tool.uv] -package = false # https://docs.astral.sh/uv/reference/settings/#package -required-version = ">=0.6.0" - -# https://docs.astral.sh/uv/reference/settings/#sources -[tool.uv.sources] -opentelemetry-api = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-api" } -opentelemetry-sdk = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-sdk" } -opentelemetry-semantic-conventions = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-semantic-conventions" } -opentelemetry-test-utils = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "tests/opentelemetry-test-utils" } -opentelemetry-exporter-prometheus-remote-write = { workspace = true } -opentelemetry-exporter-richconsole = { workspace = true } -opentelemetry-instrumentation = { workspace = true } -opentelemetry-instrumentation-aio-pika = { workspace = true } -opentelemetry-instrumentation-aiohttp-client = { workspace = true } -opentelemetry-instrumentation-aiohttp-server = { workspace = true } -opentelemetry-instrumentation-aiokafka = { workspace = true } -opentelemetry-instrumentation-aiopg = { workspace = true } -opentelemetry-instrumentation-asgi = { workspace = true } -opentelemetry-instrumentation-asyncio = { workspace = true } -opentelemetry-instrumentation-asyncpg = { workspace = true } -opentelemetry-instrumentation-aws-lambda = { workspace = true } -opentelemetry-instrumentation-boto = { workspace = true } -opentelemetry-instrumentation-boto3sqs = { workspace = true } -opentelemetry-instrumentation-botocore = { workspace = true } -opentelemetry-instrumentation-cassandra = { workspace = true } -opentelemetry-instrumentation-celery = { workspace = true } -opentelemetry-instrumentation-click = { workspace = true } -opentelemetry-instrumentation-confluent-kafka = { workspace = true } -opentelemetry-instrumentation-dbapi = { workspace = true } -opentelemetry-instrumentation-django = { workspace = true } -opentelemetry-instrumentation-elasticsearch = { workspace = true } -opentelemetry-instrumentation-falcon = { workspace = true } -opentelemetry-instrumentation-fastapi = { workspace = true } -opentelemetry-instrumentation-flask = { workspace = true } -opentelemetry-instrumentation-grpc = { workspace = true } -opentelemetry-instrumentation-httpx = { workspace = true } -opentelemetry-instrumentation-jinja2 = { workspace = true } -opentelemetry-instrumentation-kafka-python = { workspace = true } -opentelemetry-instrumentation-logging = { workspace = true } -opentelemetry-instrumentation-mysql = { workspace = true } -opentelemetry-instrumentation-mysqlclient = { workspace = true } -opentelemetry-instrumentation-pika = { workspace = true } -opentelemetry-instrumentation-psycopg = { workspace = true } -opentelemetry-instrumentation-psycopg2 = { workspace = true } -opentelemetry-instrumentation-pymemcache = { workspace = true } -opentelemetry-instrumentation-pymongo = { workspace = true } -opentelemetry-instrumentation-pymysql = { workspace = true } -opentelemetry-instrumentation-pyramid = { workspace = true } -opentelemetry-instrumentation-redis = { workspace = true } -opentelemetry-instrumentation-remoulade = { workspace = true } -opentelemetry-instrumentation-requests = { workspace = true } -opentelemetry-instrumentation-sqlalchemy = { workspace = true } -opentelemetry-instrumentation-sqlite3 = { workspace = true } -opentelemetry-instrumentation-system-metrics = { workspace = true } -opentelemetry-instrumentation-taskiq = { workspace = true } -opentelemetry-instrumentation-threading = { workspace = true } -opentelemetry-instrumentation-tornado = { workspace = true } -opentelemetry-instrumentation-tortoiseorm = { workspace = true } -opentelemetry-instrumentation-urllib = { workspace = true } -opentelemetry-instrumentation-urllib3 = { workspace = true } -opentelemetry-instrumentation-wsgi = { workspace = true } -opentelemetry-propagator-ot-trace = { workspace = true } -opentelemetry-propagator-aws-xray = { workspace = true } -opentelemetry-util-http = { workspace = true } -opentelemetry-util-genai = { workspace = true } -opentelemetry-instrumentation-vertexai = { workspace = true } -opentelemetry-instrumentation-openai-v2 = { workspace = true } - -# https://docs.astral.sh/uv/reference/settings/#workspace -[tool.uv.workspace] -members = [ - "instrumentation/*", - "instrumentation-genai/*", - "exporter/*", - "opentelemetry-instrumentation", - "propagator/*", - "util/*", -] - -[tool.ruff] -# https://docs.astral.sh/ruff/configuration/ -target-version = "py39" -line-length = 79 -extend-exclude = ["_template", "*_pb2*.py*"] -output-format = "concise" - -[tool.ruff.lint] -# https://docs.astral.sh/ruff/linter/#rule-selection -# pylint: https://github.com/astral-sh/ruff/issues/970 -select = [ - "I", # isort - "F", # pyflakes - "E", # pycodestyle errors - "W", # pycodestyle warnings - "PLC", # pylint convention - "PLE", # pylint error - "Q", # flake8-quotes - "A", # flake8-builtins -] -ignore = [ - "E501", # line-too-long -] - -[tool.ruff.lint.per-file-ignores] -"docs/**/*.*" = ["A001"] - -[tool.ruff.lint.isort] -detect-same-package = false # to not consider instrumentation packages as first-party -known-first-party = ["opentelemetry"] -known-third-party = [ - "psutil", - "pytest", - "redis", - "redis_opentracing", - "opencensus", -] - - -# https://github.com/microsoft/pyright/blob/main/docs/configuration.md#type-check-rule-overrides -[tool.pyright] -typeCheckingMode = "strict" -reportUnnecessaryTypeIgnoreComment = true -reportMissingTypeStubs = false -pythonVersion = "3.9" -reportPrivateUsage = false # Ignore private attributes added by instrumentation packages. -# Add progressively instrumentation packages here. -include = [ - "instrumentation/opentelemetry-instrumentation-aiokafka", - "instrumentation/opentelemetry-instrumentation-asyncclick", - "instrumentation/opentelemetry-instrumentation-threading", - "instrumentation-genai/opentelemetry-instrumentation-vertexai", - "instrumentation-genai/opentelemetry-instrumentation-langchain", - "instrumentation-genai/opentelemetry-instrumentation-weaviate", - "util/opentelemetry-util-genai", - "exporter/opentelemetry-exporter-credential-provider-gcp", -] -# We should also add type hints to the test suite - It helps on finding bugs. -# We are excluding for now because it's easier, and more important to add to the instrumentation packages. -exclude = [ - "instrumentation/opentelemetry-instrumentation-aiokafka/tests/**/*.py", - "instrumentation/opentelemetry-instrumentation-asyncclick/tests/**/*.py", - "instrumentation/opentelemetry-instrumentation-threading/tests/**", - "instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-vertexai/examples/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-langchain/tests/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-langchain/examples/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-weaviate/tests/**/*.py", - "instrumentation-genai/opentelemetry-instrumentation-weaviate/examples/**/*.py", - "util/opentelemetry-util-genai/tests/**/*.py", -] +# Used for local development, not to be published. +[project] +name = "opentelemetry-python-contrib" +version = "0.0.0" # This is not used. +requires-python = ">=3.9" +dependencies = [ + "opentelemetry-api", + "opentelemetry-sdk", + "opentelemetry-semantic-conventions", + "opentelemetry-test-utils", + "opentelemetry-exporter-prometheus-remote-write", + "opentelemetry-exporter-richconsole", + "opentelemetry-instrumentation", + "opentelemetry-instrumentation-aio-pika[instruments]", + "opentelemetry-instrumentation-aiohttp-client[instruments]", + "opentelemetry-instrumentation-aiohttp-server[instruments]", + "opentelemetry-instrumentation-aiokafka[instruments]", + "opentelemetry-instrumentation-aiopg[instruments]", + "opentelemetry-instrumentation-asgi[instruments]", + "opentelemetry-instrumentation-asyncio", + "opentelemetry-instrumentation-asyncpg[instruments]", + "opentelemetry-instrumentation-aws-lambda[instruments]", + "opentelemetry-instrumentation-boto[instruments]", + "opentelemetry-instrumentation-boto3sqs[instruments]", + "opentelemetry-instrumentation-botocore[instruments]", + "opentelemetry-instrumentation-cassandra[instruments]", + "opentelemetry-instrumentation-celery[instruments]", + "opentelemetry-instrumentation-click[instruments]", + "opentelemetry-instrumentation-confluent-kafka[instruments]", + "opentelemetry-instrumentation-dbapi", + "opentelemetry-instrumentation-django[instruments]", + "opentelemetry-instrumentation-elasticsearch[instruments]", + "opentelemetry-instrumentation-falcon[instruments]", + "opentelemetry-instrumentation-fastapi[instruments]", + "opentelemetry-instrumentation-flask[instruments]", + "opentelemetry-instrumentation-grpc[instruments]", + "opentelemetry-instrumentation-httpx[instruments]", + "opentelemetry-instrumentation-jinja2[instruments]", + "opentelemetry-instrumentation-kafka-python[instruments]", + "opentelemetry-instrumentation-kafka-python[instruments-any]", + "opentelemetry-instrumentation-logging", + "opentelemetry-instrumentation-mysql[instruments]", + "opentelemetry-instrumentation-mysqlclient[instruments]", + "opentelemetry-instrumentation-pika[instruments]", + "opentelemetry-instrumentation-psycopg[instruments]", + "opentelemetry-instrumentation-psycopg2[instruments]", + "opentelemetry-instrumentation-psycopg2[instruments-any]", + "opentelemetry-instrumentation-pymemcache[instruments]", + "opentelemetry-instrumentation-pymongo[instruments]", + "opentelemetry-instrumentation-pymysql[instruments]", + "opentelemetry-instrumentation-pyramid[instruments]", + "opentelemetry-instrumentation-redis[instruments]", + "opentelemetry-instrumentation-remoulade[instruments]", + "opentelemetry-instrumentation-requests[instruments]", + "opentelemetry-instrumentation-sqlalchemy[instruments]", + "opentelemetry-instrumentation-sqlite3", + "opentelemetry-instrumentation-system-metrics", + "opentelemetry-instrumentation-taskiq[instruments]", + "opentelemetry-instrumentation-threading", + "opentelemetry-instrumentation-tornado", + "opentelemetry-instrumentation-tortoiseorm", + "opentelemetry-instrumentation-urllib", + "opentelemetry-instrumentation-urllib3[instruments]", + "opentelemetry-instrumentation-wsgi", + "opentelemetry-propagator-ot-trace", + "opentelemetry-propagator-aws-xray", + "opentelemetry-util-http", + "opentelemetry-util-genai", + "opentelemetry-instrumentation-vertexai[instruments]", + "opentelemetry-instrumentation-openai-v2[instruments]", +] + + +# https://docs.astral.sh/uv/reference/settings/ +[tool.uv] +package = false # https://docs.astral.sh/uv/reference/settings/#package +required-version = ">=0.6.0" + +# https://docs.astral.sh/uv/reference/settings/#sources +[tool.uv.sources] +opentelemetry-api = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-api" } +opentelemetry-sdk = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-sdk" } +opentelemetry-semantic-conventions = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "opentelemetry-semantic-conventions" } +opentelemetry-test-utils = { git = "https://github.com/open-telemetry/opentelemetry-python", branch = "main", subdirectory = "tests/opentelemetry-test-utils" } +opentelemetry-exporter-prometheus-remote-write = { workspace = true } +opentelemetry-exporter-richconsole = { workspace = true } +opentelemetry-instrumentation = { workspace = true } +opentelemetry-instrumentation-aio-pika = { workspace = true } +opentelemetry-instrumentation-aiohttp-client = { workspace = true } +opentelemetry-instrumentation-aiohttp-server = { workspace = true } +opentelemetry-instrumentation-aiokafka = { workspace = true } +opentelemetry-instrumentation-aiopg = { workspace = true } +opentelemetry-instrumentation-asgi = { workspace = true } +opentelemetry-instrumentation-asyncio = { workspace = true } +opentelemetry-instrumentation-asyncpg = { workspace = true } +opentelemetry-instrumentation-aws-lambda = { workspace = true } +opentelemetry-instrumentation-boto = { workspace = true } +opentelemetry-instrumentation-boto3sqs = { workspace = true } +opentelemetry-instrumentation-botocore = { workspace = true } +opentelemetry-instrumentation-cassandra = { workspace = true } +opentelemetry-instrumentation-celery = { workspace = true } +opentelemetry-instrumentation-click = { workspace = true } +opentelemetry-instrumentation-confluent-kafka = { workspace = true } +opentelemetry-instrumentation-dbapi = { workspace = true } +opentelemetry-instrumentation-django = { workspace = true } +opentelemetry-instrumentation-elasticsearch = { workspace = true } +opentelemetry-instrumentation-falcon = { workspace = true } +opentelemetry-instrumentation-fastapi = { workspace = true } +opentelemetry-instrumentation-flask = { workspace = true } +opentelemetry-instrumentation-grpc = { workspace = true } +opentelemetry-instrumentation-httpx = { workspace = true } +opentelemetry-instrumentation-jinja2 = { workspace = true } +opentelemetry-instrumentation-kafka-python = { workspace = true } +opentelemetry-instrumentation-logging = { workspace = true } +opentelemetry-instrumentation-mysql = { workspace = true } +opentelemetry-instrumentation-mysqlclient = { workspace = true } +opentelemetry-instrumentation-pika = { workspace = true } +opentelemetry-instrumentation-psycopg = { workspace = true } +opentelemetry-instrumentation-psycopg2 = { workspace = true } +opentelemetry-instrumentation-pymemcache = { workspace = true } +opentelemetry-instrumentation-pymongo = { workspace = true } +opentelemetry-instrumentation-pymysql = { workspace = true } +opentelemetry-instrumentation-pyramid = { workspace = true } +opentelemetry-instrumentation-redis = { workspace = true } +opentelemetry-instrumentation-remoulade = { workspace = true } +opentelemetry-instrumentation-requests = { workspace = true } +opentelemetry-instrumentation-sqlalchemy = { workspace = true } +opentelemetry-instrumentation-sqlite3 = { workspace = true } +opentelemetry-instrumentation-system-metrics = { workspace = true } +opentelemetry-instrumentation-taskiq = { workspace = true } +opentelemetry-instrumentation-threading = { workspace = true } +opentelemetry-instrumentation-tornado = { workspace = true } +opentelemetry-instrumentation-tortoiseorm = { workspace = true } +opentelemetry-instrumentation-urllib = { workspace = true } +opentelemetry-instrumentation-urllib3 = { workspace = true } +opentelemetry-instrumentation-wsgi = { workspace = true } +opentelemetry-propagator-ot-trace = { workspace = true } +opentelemetry-propagator-aws-xray = { workspace = true } +opentelemetry-util-http = { workspace = true } +opentelemetry-util-genai = { workspace = true } +opentelemetry-instrumentation-vertexai = { workspace = true } +opentelemetry-instrumentation-openai-v2 = { workspace = true } + +# https://docs.astral.sh/uv/reference/settings/#workspace +[tool.uv.workspace] +members = [ + "instrumentation/*", + "instrumentation-genai/*", + "exporter/*", + "opentelemetry-instrumentation", + "propagator/*", + "util/*", +] + +[tool.ruff] +# https://docs.astral.sh/ruff/configuration/ +target-version = "py39" +line-length = 79 +extend-exclude = ["_template", "*_pb2*.py*"] +output-format = "concise" + +[tool.ruff.lint] +# https://docs.astral.sh/ruff/linter/#rule-selection +# pylint: https://github.com/astral-sh/ruff/issues/970 +select = [ + "I", # isort + "F", # pyflakes + "E", # pycodestyle errors + "W", # pycodestyle warnings + "PLC", # pylint convention + "PLE", # pylint error + "Q", # flake8-quotes + "A", # flake8-builtins +] +ignore = [ + "E501", # line-too-long +] + +[tool.ruff.lint.per-file-ignores] +"docs/**/*.*" = ["A001"] + +[tool.ruff.lint.isort] +detect-same-package = false # to not consider instrumentation packages as first-party +known-first-party = ["opentelemetry"] +known-third-party = [ + "psutil", + "pytest", + "redis", + "redis_opentracing", + "opencensus", +] + + +# https://github.com/microsoft/pyright/blob/main/docs/configuration.md#type-check-rule-overrides +[tool.pyright] +typeCheckingMode = "strict" +reportUnnecessaryTypeIgnoreComment = true +reportMissingTypeStubs = false +pythonVersion = "3.9" +reportPrivateUsage = false # Ignore private attributes added by instrumentation packages. +# Add progressively instrumentation packages here. +include = [ + "instrumentation/opentelemetry-instrumentation-aiokafka", + "instrumentation/opentelemetry-instrumentation-asyncclick", + "instrumentation/opentelemetry-instrumentation-threading", + "instrumentation-genai/opentelemetry-instrumentation-vertexai", + "instrumentation-genai/opentelemetry-instrumentation-langchain", + "instrumentation-genai/opentelemetry-instrumentation-weaviate", + "util/opentelemetry-util-genai", + "exporter/opentelemetry-exporter-credential-provider-gcp", +] +# We should also add type hints to the test suite - It helps on finding bugs. +# We are excluding for now because it's easier, and more important to add to the instrumentation packages. +exclude = [ + "instrumentation/opentelemetry-instrumentation-aiokafka/tests/**/*.py", + "instrumentation/opentelemetry-instrumentation-asyncclick/tests/**/*.py", + "instrumentation/opentelemetry-instrumentation-threading/tests/**", + "instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-vertexai/examples/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-langchain/tests/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-langchain/examples/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-weaviate/tests/**/*.py", + "instrumentation-genai/opentelemetry-instrumentation-weaviate/examples/**/*.py", + "util/opentelemetry-util-genai/tests/**/*.py", +] diff --git a/tox.ini b/tox.ini index 8a2a344fe0..1943e7f1f4 100644 --- a/tox.ini +++ b/tox.ini @@ -1,1096 +1,1096 @@ -[tox] -requires = - tox-uv>=1 -isolated_build = True -skipsdist = True -skip_missing_interpreters = True -envlist = - ; Environments are organized by individual package, allowing - ; for specifying supported Python versions per package. - - ; instrumentation-openai - py3{9,10,11,12,13}-test-instrumentation-openai-v2-{oldest,latest} - pypy3-test-instrumentation-openai-v2-{oldest,latest} - lint-instrumentation-openai-v2 - - ; instrumentation-vertexai - py3{9,10,11,12,13}-test-instrumentation-vertexai-{oldest,latest} - # Disabling pypy3 as shapely does not have wheels and fails to compile - # pypy3-test-instrumentation-vertexai-{oldest,latest} - lint-instrumentation-vertexai - - ; instrumentation-google-genai - py3{9,10,11,12,13}-test-instrumentation-google-genai-{oldest,latest} - # Disabling pypy3 as shapely does not have wheels and fails to compile - # pypy3-test-instrumentation-google-genai-{0,1} - lint-instrumentation-google-genai - - ; opentelemetry-resource-detector-containerid - py3{9,10,11,12,13}-test-resource-detector-containerid - pypy3-test-resource-detector-containerid - lint-resource-detector-containerid - - ; opentelemetry-resource-detector-azure - py3{9,10,11,12,13}-test-resource-detector-azure-{0,1} - pypy3-test-resource-detector-azure-{0,1} - lint-resource-detector-azure - - ; opentelemetry-sdk-extension-aws - py3{9,10,11,12,13}-test-sdk-extension-aws-{0,1} - pypy3-test-sdk-extension-aws-{0,1} - lint-sdk-extension-aws - benchmark-sdk-extension-aws - - ; opentelemetry-distro - py3{9,10,11,12,13}-test-distro - pypy3-test-distro - lint-distro - - ; opentelemetry-instrumentation - py3{9,10,11,12,13}-test-opentelemetry-instrumentation - pypy3-test-opentelemetry-instrumentation - lint-opentelemetry-instrumentation - - ; opentelemetry-instrumentation-aiohttp-client - py3{9,10,11,12,13}-test-instrumentation-aiohttp-client - pypy3-test-instrumentation-aiohttp-client - lint-instrumentation-aiohttp-client - - ; opentelemetry-instrumentation-aiohttp-server - py3{9,10,11,12,13}-test-instrumentation-aiohttp-server - pypy3-test-instrumentation-aiohttp-server - lint-instrumentation-aiohttp-server - - ; opentelemetry-instrumentation-aiopg - py3{9,10,11,12,13}-test-instrumentation-aiopg - ; instrumentation-aiopg intentionally excluded from pypy3 - lint-instrumentation-aiopg - - ; opentelemetry-instrumentation-aws-lambda - py3{9,10,11,12,13}-test-instrumentation-aws-lambda - pypy3-test-instrumentation-aws-lambda - lint-instrumentation-aws-lambda - - ; opentelemetry-instrumentation-botocore - py3{9,10,11,12,13}-test-instrumentation-botocore-{0,1} - ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 - ; pypy3-test-instrumentation-botocore - lint-instrumentation-botocore - - ; opentelemetry-instrumentation-boto3sqs - py3{9,10,11,12,13}-test-instrumentation-boto3sqs - pypy3-test-instrumentation-boto3sqs - lint-instrumentation-boto3sqs - - ; opentelemetry-instrumentation-django - ; Only officially supported Python versions are tested for each Django - ; major release. Updated list can be found at: - ; https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: django~=2.0 - ; 1: django~=3.0 - ; 2: django>=4.0b1,<5.0 backports.zoneinfo==0.2.1 - ; 3: django>=4.0b1,<5.0 - py3{9}-test-instrumentation-django-{0,1,2} - py3{10,11,12}-test-instrumentation-django-{1,3} - py313-test-instrumentation-django-3 - pypy3-test-instrumentation-django-{0,1} - lint-instrumentation-django - - ; opentelemetry-instrumentation-dbapi - py3{9,10,11,12,13}-test-instrumentation-dbapi - pypy3-test-instrumentation-dbapi - lint-instrumentation-dbapi - - ; opentelemetry-instrumentation-boto - py3{9,10,11}-test-instrumentation-boto - ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 - ; pypy3-test-instrumentation-boto - lint-instrumentation-boto - - ; opentelemetry-instrumentation-asyncclick - py3{9,10,11,12,13}-test-instrumentation-asyncclick - pypy3-test-instrumentation-asyncclick - lint-instrumentation-asyncclick - - ; opentelemetry-instrumentation-click - py3{9,10,11,12,13}-test-instrumentation-click - pypy3-test-instrumentation-click - lint-instrumentation-click - - ; opentelemetry-instrumentation-elasticsearch - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: elasticsearch-dsl==6.4.0 elasticsearch==6.8.2 - ; 1: elasticsearch-dsl==7.4.1 elasticsearch==7.17.9 - ; 2: elasticsearch-dsl==8.13.1 elasticsearch==8.13.1 - py3{9,10,11,12,13}-test-instrumentation-elasticsearch-{0,1,2} - pypy3-test-instrumentation-elasticsearch-{0,1,2} - lint-instrumentation-elasticsearch - - ; opentelemetry-instrumentation-falcon - ; py310 does not work with falcon 1 - ; py3{9} will be dropped for falcon 4 - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: falcon ==1.4.1 - ; 1: falcon >=2.0.0,<3.0.0 - ; 2: falcon >=3.0.0,<3.1.2 - ; 3: falcon >=3.1.2,<4.0.0 - ; 4: falcon >=4.0.0,<5.0.0 - py3{9}-test-instrumentation-falcon-{0,1,2,3} - py3{10,11,12}-test-instrumentation-falcon-{1,2,3,4} - py313-test-instrumentation-falcon-4 - pypy3-test-instrumentation-falcon-{0,1,2,3,4} - lint-instrumentation-falcon - - ; opentelemetry-instrumentation-fastapi - py3{9,10,11,12,13}-test-instrumentation-fastapi - pypy3-test-instrumentation-fastapi - lint-instrumentation-fastapi - - ; opentelemetry-instrumentation-flask - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: Flask ==2.1.3 Werkzeug <3.0.0 - ; 1: Flask ==2.2.0 Werkzeug <3.0.0 - ; 2: Flask >=3.0.0 Werkzeug >=3.0.0 - py3{9,10,11,12,13}-test-instrumentation-flask-{0,1,2} - pypy3-test-instrumentation-flask-{0,1} - lint-instrumentation-flask - - ; opentelemetry-instrumentation-urllib - py3{9,10,11,12,13}-test-instrumentation-urllib - pypy3-test-instrumentation-urllib - lint-instrumentation-urllib - - ; opentelemetry-instrumentation-urllib3 - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: urllib3 >=1.0.0,<2.0.0 - ; 1: urllib3 >=2.0.0,<3.0.0 - py3{9,10,11,12,13}-test-instrumentation-urllib3-{0,1} - pypy3-test-instrumentation-urllib3-{0,1} - lint-instrumentation-urllib3 - - ; opentelemetry-instrumentation-requests - py3{9,10,11,12,13}-test-instrumentation-requests - ;pypy3-test-instrumentation-requests - lint-instrumentation-requests - - ; opentelemetry-instrumentation-starlette - py3{9,10,11,12,13}-test-instrumentation-starlette-{oldest,latest} - pypy3-test-instrumentation-starlette-{oldest,latest} - lint-instrumentation-starlette - - ; opentelemetry-instrumentation-jinja2 - py3{9,10,11,12,13}-test-instrumentation-jinja2 - pypy3-test-instrumentation-jinja2 - lint-instrumentation-jinja2 - - ; opentelemetry-instrumentation-logging - py3{9,10,11,12,13}-test-instrumentation-logging - pypy3-test-instrumentation-logging - lint-instrumentation-logging - - ; opentelemetry-exporter-richconsole - py3{9,10,11,12,13}-test-exporter-richconsole - pypy3-test-exporter-richconsole - lint-exporter-richconsole - - ; opentelemetry-exporter-prometheus-remote-write - py3{9,10,11,12,13}-test-exporter-prometheus-remote-write - # excluded from pypy3 due to missing wheel - pypy310-test-exporter-prometheus-remote-write - lint-exporter-prometheus-remote-write - - ; opentelemetry-instrumentation-mysql - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: mysql-connector-python >=8.0.0,<9.0.0 - ; 1: mysql-connector-python ~=9.0.0 - py3{9,10,11,12,13}-test-instrumentation-mysql-{0,1} - pypy3-test-instrumentation-mysql-{0,1} - lint-instrumentation-mysql - - ; opentelemetry-instrumentation-mysqlclient - py3{9,10,11,12,13}-test-instrumentation-mysqlclient - pypy3-test-instrumentation-mysqlclient - ; prerequisite: follow the instructions here - ; https://github.com/PyMySQL/mysqlclient#install - ; for your OS to install the required dependencies - lint-instrumentation-mysqlclient - - ; opentelemetry-instrumentation-psycopg2 - py3{9,10,11,12,13}-test-instrumentation-psycopg2 - py3{9,10,11,12,13}-test-instrumentation-psycopg2-binary - ; ext-psycopg2 intentionally excluded from pypy3 - lint-instrumentation-psycopg2 - - ; opentelemetry-instrumentation-psycopg - py3{9,10,11,12,13}-test-instrumentation-psycopg - pypy3-test-instrumentation-psycopg - lint-instrumentation-psycopg - - ; opentelemetry-instrumentation-pymemcache - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: pymemcache ==1.3.5 - ; 1: pymemcache >2.0.0,<3.0.0 - ; 2: pymemcache >3.0.0,<3.4.2 - ; 3: pymemcache ==3.4.2 - ; 4: pymemcache ==4.0.0 - py3{9,10,11,12,13}-test-instrumentation-pymemcache-{0,1,2,3,4} - pypy3-test-instrumentation-pymemcache-{0,1,2,3,4} - lint-instrumentation-pymemcache - - ; opentelemetry-instrumentation-pymongo - py3{9,10,11,12,13}-test-instrumentation-pymongo - pypy3-test-instrumentation-pymongo - lint-instrumentation-pymongo - - ; opentelemetry-instrumentation-pymysql - py3{9,10,11,12,13}-test-instrumentation-pymysql - pypy3-test-instrumentation-pymysql - lint-instrumentation-pymysql - - ; opentelemetry-instrumentation-pymssql - py3{9,10,11,12,13}-test-instrumentation-pymssql - ; pymssql has no support for pypy: see https://github.com/pymssql/pymssql/pull/517 - ; pypy3-test-instrumentation-pymssql - lint-instrumentation-pymssql - - ; opentelemetry-instrumentation-pyramid - ; TODO: add py313 when supported by pyramid - py3{9,10,11,12}-test-instrumentation-pyramid - pypy3-test-instrumentation-pyramid - lint-instrumentation-pyramid - - ; opentelemetry-instrumentation-asgi - py3{9,10,11,12,13}-test-instrumentation-asgi - pypy3-test-instrumentation-asgi - lint-instrumentation-asgi - - ; opentelemetry-instrumentation-asyncpg - py3{9,10,11,12,13}-test-instrumentation-asyncpg - ; ext-asyncpg intentionally excluded from pypy3 - lint-instrumentation-asyncpg - - ; opentelemetry-instrumentation-sqlite3 - py3{9,10,11,12,13}-test-instrumentation-sqlite3 - pypy3-test-instrumentation-sqlite3 - lint-instrumentation-sqlite3 - - ; opentelemetry-instrumentation-wsgi - py3{9,10,11,12,13}-test-instrumentation-wsgi - pypy3-test-instrumentation-wsgi - lint-instrumentation-wsgi - - ; opentelemetry-instrumentation-grpc - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: grpcio==1.62.0 - ; 1: grpcio==1.66.2 - py3{9,10,11,12}-test-instrumentation-grpc-{0,1} - py313-test-instrumentation-grpc-1 - lint-instrumentation-grpc - - ; opentelemetry-instrumentation-sqlalchemy - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: sqlalchemy>=1.1,<1.2 - ; 1: sqlalchemy~=1.4 aiosqlite - ; 2: sqlalchemy~=2.0.0 - py3{9,10,11,12,13}-test-instrumentation-sqlalchemy-{1,2} - pypy3-test-instrumentation-sqlalchemy-{0,1,2} - lint-instrumentation-sqlalchemy - - ; opentelemetry-instrumentation-redis - py3{9,10,11,12,13}-test-instrumentation-redis - pypy3-test-instrumentation-redis - lint-instrumentation-redis - - ; opentelemetry-instrumentation-remoulade - py3{9,10,11,12,13}-test-instrumentation-remoulade - ; instrumentation-remoulade intentionally excluded from pypy3 - lint-instrumentation-remoulade - - ; opentelemetry-instrumentation-celery - py3{9,10,11,12,13}-test-instrumentation-celery - pypy3-test-instrumentation-celery - lint-instrumentation-celery - - ; opentelemetry-instrumentation-system-metrics - py3{9,10,11,12,13}-test-instrumentation-system-metrics - pypy3-test-instrumentation-system-metrics - lint-instrumentation-system-metrics - - ; opentelemetry-instrumentation-taskiq - py3{9,10,11,12,13}-test-instrumentation-taskiq - pypy3-test-instrumentation-taskiq - lint-instrumentation-taskiq - - ; opentelemetry-instrumentation-threading - py3{9,10,11,12,13}-test-instrumentation-threading - pypy3-test-instrumentation-threading - lint-instrumentation-threading - - ; opentelemetry-instrumentation-tornado - py3{9,10,11,12,13}-test-instrumentation-tornado - pypy3-test-instrumentation-tornado - lint-instrumentation-tornado - - ; opentelemetry-instrumentation-tortoiseorm - py3{9,10,11,12,13}-test-instrumentation-tortoiseorm - pypy3-test-instrumentation-tortoiseorm - lint-instrumentation-tortoiseorm - - ; opentelemetry-instrumentation-httpx - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: httpx>=0.18.0,<0.19.0 respx~=0.17.0 - ; 1: httpx>=0.19.0 respx~=0.20.1 - py3{9,10,11,12}-test-instrumentation-httpx-{0,1} - py313-test-instrumentation-httpx-1 - pypy3-test-instrumentation-httpx-{0,1} - lint-instrumentation-httpx - - ; opentelemetry-util-http - py3{9,10,11,12,13}-test-util-http - pypy3-test-util-http - lint-util-http - - ; opentelemetry-exporter-credential-provider-gcp - py3{9,10,11,12,13}-test-exporter-credential-provider-gcp - lint-exporter-credential-provider-gcp - - ; opentelemetry-util-genai - py3{9,10,11,12,13}-test-util-genai - pypy3-test-util-genai - lint-util-genai - - ; opentelemetry-propagator-aws-xray - py3{9,10,11,12,13}-test-propagator-aws-xray-{0,1} - pypy3-test-propagator-aws-xray-{0,1} - lint-propagator-aws-xray - benchmark-propagator-aws-xray - - ; opentelemetry-propagator-ot-trace - py3{9,10,11,12,13}-test-propagator-ot-trace - pypy3-test-propagator-ot-trace - lint-propagator-ot-trace - - ; opentelemetry-instrumentation-sio-pika - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: pika>=0.12.0,<1.0.0 - ; 1: pika>=1.0.0 - py3{9,10,11,12,13}-test-instrumentation-sio-pika-{0,1} - pypy3-test-instrumentation-sio-pika-{0,1} - lint-instrumentation-sio-pika - - ; opentelemetry-instrumentation-aio-pika - ; The numbers at the end of the environment names - ; below mean these dependencies are being used: - ; 0: aio_pika==7.2.0 - ; 1: aio_pika==8.3.0 - ; 2: aio_pika==9.0.5 - ; 3: aio_pika==9.4.1 - py3{9,10,11,12,13}-test-instrumentation-aio-pika-{0,1,2,3} - pypy3-test-instrumentation-aio-pika-{0,1,2,3} - lint-instrumentation-aio-pika - - ; opentelemetry-instrumentation-aiokafka - py3{9,10,11,12,13}-test-instrumentation-aiokafka - pypy3-test-instrumentation-aiokafka - lint-instrumentation-aiokafka - - ; opentelemetry-instrumentation-kafka-python - py3{9,10,11}-test-instrumentation-kafka-python - py3{9,10,11,12,13}-test-instrumentation-kafka-pythonng - pypy3-test-instrumentation-kafka-python - pypy3-test-instrumentation-kafka-pythonng - lint-instrumentation-kafka-python - - ; opentelemetry-instrumentation-confluent-kafka - py3{9,10,11,12,13}-test-instrumentation-confluent-kafka - lint-instrumentation-confluent-kafka - - ; opentelemetry-instrumentation-asyncio - py3{9,10,11,12,13}-test-instrumentation-asyncio - lint-instrumentation-asyncio - - ; opentelemetry-instrumentation-cassandra - py3{9,10,11,12,13}-test-instrumentation-cassandra - pypy3-test-instrumentation-cassandra - lint-instrumentation-cassandra - - ; opentelemetry-processor-baggage - py3{9,10,11,12,13}-test-processor-baggage - pypy3-test-processor-baggage - ; requires snappy headers to be available on the system - lint-processor-baggage - - spellcheck - docker-tests - docs - generate - generate-workflows - shellcheck - precommit - typecheck - -[testenv] -test_deps = - opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api - opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions - opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk - opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils -deps = - lint: -r dev-requirements.txt - coverage: pytest - coverage: pytest-cov - - opentelemetry-instrumentation: {[testenv]test_deps} - opentelemetry-instrumentation: -r {toxinidir}/opentelemetry-instrumentation/test-requirements.txt - - distro: {[testenv]test_deps} - distro: -r {toxinidir}/opentelemetry-distro/test-requirements.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - openai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt - # and the latest version of OTel API and SDK - openai-latest: {[testenv]test_deps} - openai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.latest.txt - lint-instrumentation-openai-v2: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt - - vertexai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt - vertexai-latest: {[testenv]test_deps} - vertexai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.latest.txt - lint-instrumentation-vertexai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt - - google-genai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt - google-genai-latest: {[testenv]test_deps} - google-genai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.latest.txt - lint-instrumentation-google-genai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt - - asgi: {[testenv]test_deps} - asgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt - - celery: {[testenv]test_deps} - py3{9}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt - py3{10,11,12,13}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - pypy3-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - lint-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt - - taskiq: {[testenv]test_deps} - py3{9,10,11,12,13}-test-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt - pypy3-test-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt - lint-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt - - asyncclick: {[testenv]test_deps} - asyncclick: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/test-requirements.txt - - click: {[testenv]test_deps} - click: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-click/test-requirements.txt - - sio-pika: {[testenv]test_deps} - sio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt - sio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt - lint-instrumentation-sio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt - - aio-pika: {[testenv]test_deps} - aio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt - aio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt - aio-pika-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt - aio-pika-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt - lint-instrumentation-aio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt - - aiokafka: {[testenv]test_deps} - aiokafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/test-requirements.txt - - kafka-python: {[testenv]test_deps} - kafka-python: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt - - kafka-pythonng: {[testenv]test_deps} - kafka-pythonng: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt - - confluent-kafka: {[testenv]test_deps} - confluent-kafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt - - grpc: {[testenv]test_deps} - grpc-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt - grpc-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt - lint-instrumentation-grpc: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt - - wsgi: {[testenv]test_deps} - wsgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt - - asyncpg: {[testenv]test_deps} - asyncpg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt - - aws-lambda: {[testenv]test_deps} - aws-lambda: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt - - boto: {[testenv]test_deps} - boto: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt - - boto3sqs: {[testenv]test_deps} - boto3sqs: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt - - falcon: {[testenv]test_deps} - falcon-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt - falcon-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt - falcon-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt - falcon-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-3.txt - falcon-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt - lint-instrumentation-falcon: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt - - flask: {[testenv]test_deps} - flask-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt - flask-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt - flask-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt - lint-instrumentation-flask: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt - - urllib: {[testenv]test_deps} - urllib: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt - - urllib3: {[testenv]test_deps} - urllib3-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt - urllib3-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt - lint-instrumentation-urllib3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt - - botocore: {[testenv]test_deps} - botocore-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-0.txt - botocore-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt - lint-instrumentation-botocore: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt - - cassandra: {[testenv]test_deps} - cassandra: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt - - dbapi: {[testenv]test_deps} - dbapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt - - django: {[testenv]test_deps} - py3{9}-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt - py3{9}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - py3{9}-test-instrumentation-django-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt - py3{10,11,12}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - py3{10,11,12,13}-test-instrumentation-django-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt - pypy3-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt - pypy3-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt - lint-instrumentation-django: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt - - fastapi: {[testenv]test_deps} - fastapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt - - mysql: {[testenv]test_deps} - mysql-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt - mysql-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt - lint-instrumentation-mysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt - - mysqlclient: {[testenv]test_deps} - mysqlclient: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt - - pymemcache: {[testenv]test_deps} - pymemcache-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt - pymemcache-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt - pymemcache-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt - pymemcache-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt - pymemcache-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt - lint-instrumentation-pymemcache: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt - - pymongo: {[testenv]test_deps} - pymongo: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt - - psycopg: {[testenv]test_deps} - py3{9}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt - py3{10,11,12,13}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - pypy3-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - lint-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt - - psycopg2: {[testenv]test_deps} - psycopg2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt - - psycopg2-binary: {[testenv]test_deps} - psycopg2-binary: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements-binary.txt - - pymysql: {[testenv]test_deps} - pymysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt - - pymssql: {[testenv]test_deps} - pymssql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/test-requirements.txt - - pyramid: {[testenv]test_deps} - pyramid: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt - - sqlite3: {[testenv]test_deps} - sqlite3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt - - redis: {[testenv]test_deps} - redis: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt - - remoulade: {[testenv]test_deps} - remoulade: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt - - requests: {[testenv]test_deps} - requests: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt - - starlette: {[testenv]test_deps} - starlette-{oldest,lint}: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.oldest.txt - starlette-latest: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.latest.txt - - system-metrics: {[testenv]test_deps} - system-metrics: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt - - threading: {[testenv]test_deps} - threading: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt - - tornado: {[testenv]test_deps} - tornado: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt - - tortoiseorm: {[testenv]test_deps} - tortoiseorm: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt - - jinja2: {[testenv]test_deps} - jinja2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt - - logging: {[testenv]test_deps} - logging: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt - - aiohttp-client: {[testenv]test_deps} - aiohttp-client: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt - - aiohttp-server: {[testenv]test_deps} - aiohttp-server: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt - - aiopg: {[testenv]test_deps} - aiopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt - - richconsole: {[testenv]test_deps} - richconsole: -r {toxinidir}/exporter/opentelemetry-exporter-richconsole/test-requirements.txt - - prometheus: {[testenv]test_deps} - prometheus: -r {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt - - sqlalchemy: {[testenv]test_deps} - sqlalchemy-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt - sqlalchemy-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt - sqlalchemy-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt - lint-instrumentation-sqlalchemy: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt - - elasticsearch: {[testenv]test_deps} - elasticsearch-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt - elasticsearch-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt - elasticsearch-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt - lint-instrumentation-elasticsearch: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt - - asyncio: {[testenv]test_deps} - asyncio: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt - - httpx: {[testenv]test_deps} - httpx-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt - httpx-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt - lint-instrumentation-httpx: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - sdk-extension-aws-0: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt - # and the latest version of OTel API and SDK - sdk-extension-aws-1: {[testenv]test_deps} - sdk-extension-aws-1: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-1.txt - lint-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt - benchmark-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmark-requirements.txt - - resource-detector-containerid: {[testenv]test_deps} - resource-detector-containerid: -r {toxinidir}/resource/opentelemetry-resource-detector-containerid/test-requirements.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - resource-detector-azure-0: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt - # and the latest version of OTel API and SDK - resource-detector-azure-1: {[testenv]test_deps} - resource-detector-azure-1: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-1.txt - lint-resource-detector-azure: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt - - propagator-ot-trace: {[testenv]test_deps} - propagator-ot-trace: -r {toxinidir}/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt - - # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API - # and SDK supported to test we are honoring it - propagator-aws-xray-0: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt - # and the latest version of OTel API and SDK - propagator-aws-xray-1: {[testenv]test_deps} - propagator-aws-xray-1: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-1.txt - lint-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt - benchmark-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmark-requirements.txt - - processor-baggage: {[testenv]test_deps} - processor-baggage: -r {toxinidir}/processor/opentelemetry-processor-baggage/test-requirements.txt - - util-http: {[testenv]test_deps} - util-http: -r {toxinidir}/util/opentelemetry-util-http/test-requirements.txt - util-http: {toxinidir}/util/opentelemetry-util-http - - exporter-credential-provider-gcp: -r {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/test-requirements.txt - exporter-credential-provider-gcp: {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp - - util-genai: {[testenv]test_deps} - util-genai: -r {toxinidir}/util/opentelemetry-util-genai/test-requirements.txt - util-genai: {toxinidir}/util/opentelemetry-util-genai - - ; FIXME: add coverage testing -allowlist_externals = - sh - pytest - -setenv = - ; override CORE_REPO_SHA via env variable when testing other branches/commits than main - ; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e - CORE_REPO_SHA={env:CORE_REPO_SHA:main} - CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA} - UV_CONFIG_FILE={toxinidir}/tox-uv.toml - -commands_pre = -; In order to get a health coverage report, -; we have to install packages in editable mode. - coverage: python {toxinidir}/scripts/eachdist.py install --editable - -commands = - test-distro: pytest {toxinidir}/opentelemetry-distro/tests {posargs} - lint-distro: pylint {toxinidir}/opentelemetry-distro - - test-opentelemetry-instrumentation: pytest {toxinidir}/opentelemetry-instrumentation/tests {posargs} - lint-opentelemetry-instrumentation: pylint {toxinidir}/opentelemetry-instrumentation - - test-instrumentation-aiohttp-client: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests {posargs} - lint-instrumentation-aiohttp-client: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-client" - - test-instrumentation-aiohttp-server: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/tests {posargs} - lint-instrumentation-aiohttp-server: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-server" - - test-instrumentation-aiopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/tests {posargs} - lint-instrumentation-aiopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiopg" - - test-instrumentation-asgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/tests {posargs} - lint-instrumentation-asgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asgi" - - test-instrumentation-asyncclick: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/tests {posargs} - lint-instrumentation-asyncclick: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncclick" - - test-instrumentation-asyncpg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/tests {posargs} - lint-instrumentation-asyncpg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncpg" - - test-instrumentation-aws-lambda: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/tests {posargs} - lint-instrumentation-aws-lambda: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aws-lambda" - - test-instrumentation-boto: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/tests {posargs} - lint-instrumentation-boto: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto" - - test-instrumentation-botocore: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/tests {posargs} - lint-instrumentation-botocore: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-botocore" - - test-instrumentation-boto3sqs: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/tests {posargs} - lint-instrumentation-boto3sqs: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto3sqs" - - test-instrumentation-cassandra: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/tests {posargs} - lint-instrumentation-cassandra: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-cassandra" - - test-instrumentation-celery: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/tests {posargs} - lint-instrumentation-celery: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-celery" - - test-instrumentation-click: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-click/tests {posargs} - lint-instrumentation-click: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-click" - - test-instrumentation-dbapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/tests {posargs} - lint-instrumentation-dbapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-dbapi" - - test-instrumentation-django: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-django/tests {posargs} - lint-instrumentation-django: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-django" - - test-instrumentation-elasticsearch: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/tests {posargs} - lint-instrumentation-elasticsearch: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-elasticsearch" - - test-instrumentation-falcon: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/tests {posargs} - lint-instrumentation-falcon: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-falcon" - - test-instrumentation-fastapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/tests {posargs} - lint-instrumentation-fastapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-fastapi" - - test-instrumentation-flask: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/tests {posargs} - lint-instrumentation-flask: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-flask" - - test-instrumentation-urllib: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/tests {posargs} - lint-instrumentation-urllib: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib" - - test-instrumentation-urllib3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/tests {posargs} - lint-instrumentation-urllib3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib3" - - test-instrumentation-grpc: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/tests {posargs} - lint-instrumentation-grpc: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-grpc" - - test-instrumentation-jinja2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/tests {posargs} - lint-instrumentation-jinja2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-jinja2" - - test-instrumentation-aiokafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/tests {posargs} - lint-instrumentation-aiokafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiokafka" - - test-instrumentation-kafka-python: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} - lint-instrumentation-kafka-python: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-kafka-python" - - ; Test only for kafka-pythonng instrumentation as the only difference between kafka-python and kafka-pythonng is the version of kafka-python - test-instrumentation-kafka-pythonng: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} - - test-instrumentation-confluent-kafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/tests {posargs} - lint-instrumentation-confluent-kafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-confluent-kafka" - - test-instrumentation-logging: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/tests {posargs} - lint-instrumentation-logging: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-logging" - - test-instrumentation-mysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/tests {posargs} - lint-instrumentation-mysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysql" - - test-instrumentation-mysqlclient: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/tests {posargs} - lint-instrumentation-mysqlclient: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysqlclient" - - test-instrumentation-openai-v2: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests {posargs} - lint-instrumentation-openai-v2: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2" - - test-instrumentation-vertexai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests --vcr-record=none {posargs} - lint-instrumentation-vertexai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-vertexai" - - test-instrumentation-google-genai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests --vcr-record=none {posargs} - lint-instrumentation-google-genai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-google-genai" - - test-instrumentation-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs} - lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika" - - test-instrumentation-aio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/tests {posargs} - lint-instrumentation-aio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aio-pika" - - test-instrumentation-psycopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/tests {posargs} - lint-instrumentation-psycopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg" - - test-instrumentation-psycopg2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} - lint-instrumentation-psycopg2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg2" - - ; Test only for psycopg2-binary instrumentation as the only difference between psycopg2 and psycopg2-binary is the install method - test-instrumentation-psycopg2-binary: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} - - test-instrumentation-pymemcache: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/tests {posargs} - lint-instrumentation-pymemcache: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymemcache" - - test-instrumentation-pymongo: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/tests {posargs} - lint-instrumentation-pymongo: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymongo" - - test-instrumentation-pymysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/tests {posargs} - lint-instrumentation-pymysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymysql" - - test-instrumentation-pymssql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/tests {posargs} - lint-instrumentation-pymssql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymssql" - - test-instrumentation-pyramid: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/tests {posargs} - lint-instrumentation-pyramid: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pyramid" - - test-instrumentation-redis: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/tests {posargs} - lint-instrumentation-redis: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-redis" - - test-instrumentation-remoulade: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/tests {posargs} - lint-instrumentation-remoulade: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-remoulade" - - test-instrumentation-requests: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/tests {posargs} - lint-instrumentation-requests: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-requests" - - test-instrumentation-sqlalchemy: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/tests {posargs} - lint-instrumentation-sqlalchemy: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlalchemy" - - test-instrumentation-sqlite3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/tests {posargs} - lint-instrumentation-sqlite3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlite3" - - test-instrumentation-starlette: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/tests {posargs} - lint-instrumentation-starlette: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-starlette" - - test-instrumentation-system-metrics: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/tests {posargs} - lint-instrumentation-system-metrics: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-system-metrics" - - test-instrumentation-taskiq: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/tests {posargs} - lint-instrumentation-taskiq: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-taskiq" - - test-instrumentation-threading: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/tests {posargs} - lint-instrumentation-threading: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-threading" - - test-instrumentation-tornado: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/tests {posargs} - lint-instrumentation-tornado: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tornado" - - test-instrumentation-tortoiseorm: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/tests {posargs} - lint-instrumentation-tortoiseorm: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tortoiseorm" - - test-instrumentation-wsgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/tests {posargs} - lint-instrumentation-wsgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-wsgi" - - test-instrumentation-httpx: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/tests {posargs} - lint-instrumentation-httpx: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-httpx" - - test-instrumentation-asyncio: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/tests {posargs} - lint-instrumentation-asyncio: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncio" - - test-util-http: pytest {toxinidir}/util/opentelemetry-util-http/tests {posargs} - lint-util-http: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-http" - - test-exporter-credential-provider-gcp: pytest {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/tests {posargs} - lint-exporter-credential-provider-gcp: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-credential-provider-gcp" - - test-util-genai: pytest {toxinidir}/util/opentelemetry-util-genai/tests {posargs} - lint-util-genai: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-genai" - - test-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/tests {posargs} - lint-sdk-extension-aws: sh -c "cd sdk-extension && pylint --rcfile ../.pylintrc opentelemetry-sdk-extension-aws" - benchmark-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmarks {posargs} --benchmark-json=sdk-extension-aws-benchmark.json - - test-resource-detector-containerid: pytest {toxinidir}/resource/opentelemetry-resource-detector-containerid/tests {posargs} - lint-resource-detector-containerid: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-containerid" - - test-resource-detector-azure: pytest {toxinidir}/resource/opentelemetry-resource-detector-azure/tests {posargs} - lint-resource-detector-azure: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-azure" - - test-processor-baggage: pytest {toxinidir}/processor/opentelemetry-processor-baggage/tests {posargs} - lint-processor-baggage: sh -c "cd processor && pylint --rcfile ../.pylintrc opentelemetry-processor-baggage" - - test-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/tests {posargs} - lint-propagator-aws-xray: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-aws-xray" - benchmark-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmarks {posargs} --benchmark-json=propagator-aws-xray-benchmark.json - - test-propagator-ot-trace: pytest {toxinidir}/propagator/opentelemetry-propagator-ot-trace/tests {posargs} - lint-propagator-ot-trace: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-ot-trace" - - test-exporter-richconsole: pytest {toxinidir}/exporter/opentelemetry-exporter-richconsole/tests {posargs} - lint-exporter-richconsole: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-richconsole" - - test-exporter-prometheus-remote-write: pytest {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/tests {posargs} - lint-exporter-prometheus-remote-write: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-prometheus-remote-write" - - coverage: {toxinidir}/scripts/coverage.sh - -[testenv:docs] -deps = - -c {toxinidir}/dev-requirements.txt - -r {toxinidir}/docs-requirements.txt - pytest - {[testenv]test_deps} - {toxinidir}/opentelemetry-instrumentation - {toxinidir}/util/opentelemetry-util-http - {toxinidir}/util/opentelemetry-util-genai - {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp - -changedir = docs - -commands = - sphinx-build -E -a -W -b html -T . _build/html - -[testenv:spellcheck] -basepython: python3 -recreate = True -deps = - codespell==2.2.6 - -commands = - codespell - -[testenv:docker-tests] -basepython: python3 -deps = - {[testenv]test_deps} - -r {toxinidir}/tests/opentelemetry-docker-tests/tests/test-requirements.txt - -e {toxinidir}/opentelemetry-instrumentation - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis - -e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade - opentelemetry-exporter-opencensus@{env:CORE_REPO}\#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus - -changedir = - tests/opentelemetry-docker-tests/tests - -commands_pre = - sh -c "sudo apt update -y && sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev unixodbc" - python -c "import pyodbc; print(pyodbc.drivers())" - docker-compose up -d - python check_availability.py - -commands = - pytest {posargs} - -commands_post = - docker-compose down -v - -[testenv:generate] -deps = - -r {toxinidir}/gen-requirements.txt - -allowlist_externals = - {toxinidir}/scripts/generate_instrumentation_bootstrap.py - {toxinidir}/scripts/generate_instrumentation_readme.py - {toxinidir}/scripts/generate_instrumentation_metapackage.py - pytest - -commands = - {toxinidir}/scripts/generate_instrumentation_bootstrap.py - {toxinidir}/scripts/generate_instrumentation_readme.py - {toxinidir}/scripts/generate_instrumentation_metapackage.py - -[testenv:generate-workflows] -recreate = True -deps = - {toxinidir}/.github/workflows/generate_workflows_lib - -commands = - python {toxinidir}/.github/workflows/generate_workflows.py - -[testenv:shellcheck] - -commands_pre = - sh -c "sudo apt update -y && sudo apt install --assume-yes shellcheck" - -commands = - sh -c "find {toxinidir} -name \*.sh | xargs shellcheck --severity=warning" - -[testenv:{precommit,ruff}] -basepython: python3 -deps = - -c {toxinidir}/dev-requirements.txt - pre-commit -commands = - pre-commit run --color=always --all-files {posargs} - -[testenv:typecheck] -deps = - -c {toxinidir}/dev-requirements.txt - pyright - {[testenv]test_deps} - {toxinidir}/opentelemetry-instrumentation - {toxinidir}/util/opentelemetry-util-http - {toxinidir}/util/opentelemetry-util-genai[upload] - {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai[instruments] - {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai[instruments] - {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka[instruments] - {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick[instruments] - {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp - -commands = - pyright +[tox] +requires = + tox-uv>=1 +isolated_build = True +skipsdist = True +skip_missing_interpreters = True +envlist = + ; Environments are organized by individual package, allowing + ; for specifying supported Python versions per package. + + ; instrumentation-openai + py3{9,10,11,12,13}-test-instrumentation-openai-v2-{oldest,latest} + pypy3-test-instrumentation-openai-v2-{oldest,latest} + lint-instrumentation-openai-v2 + + ; instrumentation-vertexai + py3{9,10,11,12,13}-test-instrumentation-vertexai-{oldest,latest} + # Disabling pypy3 as shapely does not have wheels and fails to compile + # pypy3-test-instrumentation-vertexai-{oldest,latest} + lint-instrumentation-vertexai + + ; instrumentation-google-genai + py3{9,10,11,12,13}-test-instrumentation-google-genai-{oldest,latest} + # Disabling pypy3 as shapely does not have wheels and fails to compile + # pypy3-test-instrumentation-google-genai-{0,1} + lint-instrumentation-google-genai + + ; opentelemetry-resource-detector-containerid + py3{9,10,11,12,13}-test-resource-detector-containerid + pypy3-test-resource-detector-containerid + lint-resource-detector-containerid + + ; opentelemetry-resource-detector-azure + py3{9,10,11,12,13}-test-resource-detector-azure-{0,1} + pypy3-test-resource-detector-azure-{0,1} + lint-resource-detector-azure + + ; opentelemetry-sdk-extension-aws + py3{9,10,11,12,13}-test-sdk-extension-aws-{0,1} + pypy3-test-sdk-extension-aws-{0,1} + lint-sdk-extension-aws + benchmark-sdk-extension-aws + + ; opentelemetry-distro + py3{9,10,11,12,13}-test-distro + pypy3-test-distro + lint-distro + + ; opentelemetry-instrumentation + py3{9,10,11,12,13}-test-opentelemetry-instrumentation + pypy3-test-opentelemetry-instrumentation + lint-opentelemetry-instrumentation + + ; opentelemetry-instrumentation-aiohttp-client + py3{9,10,11,12,13}-test-instrumentation-aiohttp-client + pypy3-test-instrumentation-aiohttp-client + lint-instrumentation-aiohttp-client + + ; opentelemetry-instrumentation-aiohttp-server + py3{9,10,11,12,13}-test-instrumentation-aiohttp-server + pypy3-test-instrumentation-aiohttp-server + lint-instrumentation-aiohttp-server + + ; opentelemetry-instrumentation-aiopg + py3{9,10,11,12,13}-test-instrumentation-aiopg + ; instrumentation-aiopg intentionally excluded from pypy3 + lint-instrumentation-aiopg + + ; opentelemetry-instrumentation-aws-lambda + py3{9,10,11,12,13}-test-instrumentation-aws-lambda + pypy3-test-instrumentation-aws-lambda + lint-instrumentation-aws-lambda + + ; opentelemetry-instrumentation-botocore + py3{9,10,11,12,13}-test-instrumentation-botocore-{0,1} + ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 + ; pypy3-test-instrumentation-botocore + lint-instrumentation-botocore + + ; opentelemetry-instrumentation-boto3sqs + py3{9,10,11,12,13}-test-instrumentation-boto3sqs + pypy3-test-instrumentation-boto3sqs + lint-instrumentation-boto3sqs + + ; opentelemetry-instrumentation-django + ; Only officially supported Python versions are tested for each Django + ; major release. Updated list can be found at: + ; https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: django~=2.0 + ; 1: django~=3.0 + ; 2: django>=4.0b1,<5.0 backports.zoneinfo==0.2.1 + ; 3: django>=4.0b1,<5.0 + py3{9}-test-instrumentation-django-{0,1,2} + py3{10,11,12}-test-instrumentation-django-{1,3} + py313-test-instrumentation-django-3 + pypy3-test-instrumentation-django-{0,1} + lint-instrumentation-django + + ; opentelemetry-instrumentation-dbapi + py3{9,10,11,12,13}-test-instrumentation-dbapi + pypy3-test-instrumentation-dbapi + lint-instrumentation-dbapi + + ; opentelemetry-instrumentation-boto + py3{9,10,11}-test-instrumentation-boto + ; FIXME: see https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1736 + ; pypy3-test-instrumentation-boto + lint-instrumentation-boto + + ; opentelemetry-instrumentation-asyncclick + py3{9,10,11,12,13}-test-instrumentation-asyncclick + pypy3-test-instrumentation-asyncclick + lint-instrumentation-asyncclick + + ; opentelemetry-instrumentation-click + py3{9,10,11,12,13}-test-instrumentation-click + pypy3-test-instrumentation-click + lint-instrumentation-click + + ; opentelemetry-instrumentation-elasticsearch + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: elasticsearch-dsl==6.4.0 elasticsearch==6.8.2 + ; 1: elasticsearch-dsl==7.4.1 elasticsearch==7.17.9 + ; 2: elasticsearch-dsl==8.13.1 elasticsearch==8.13.1 + py3{9,10,11,12,13}-test-instrumentation-elasticsearch-{0,1,2} + pypy3-test-instrumentation-elasticsearch-{0,1,2} + lint-instrumentation-elasticsearch + + ; opentelemetry-instrumentation-falcon + ; py310 does not work with falcon 1 + ; py3{9} will be dropped for falcon 4 + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: falcon ==1.4.1 + ; 1: falcon >=2.0.0,<3.0.0 + ; 2: falcon >=3.0.0,<3.1.2 + ; 3: falcon >=3.1.2,<4.0.0 + ; 4: falcon >=4.0.0,<5.0.0 + py3{9}-test-instrumentation-falcon-{0,1,2,3} + py3{10,11,12}-test-instrumentation-falcon-{1,2,3,4} + py313-test-instrumentation-falcon-4 + pypy3-test-instrumentation-falcon-{0,1,2,3,4} + lint-instrumentation-falcon + + ; opentelemetry-instrumentation-fastapi + py3{9,10,11,12,13}-test-instrumentation-fastapi + pypy3-test-instrumentation-fastapi + lint-instrumentation-fastapi + + ; opentelemetry-instrumentation-flask + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: Flask ==2.1.3 Werkzeug <3.0.0 + ; 1: Flask ==2.2.0 Werkzeug <3.0.0 + ; 2: Flask >=3.0.0 Werkzeug >=3.0.0 + py3{9,10,11,12,13}-test-instrumentation-flask-{0,1,2} + pypy3-test-instrumentation-flask-{0,1} + lint-instrumentation-flask + + ; opentelemetry-instrumentation-urllib + py3{9,10,11,12,13}-test-instrumentation-urllib + pypy3-test-instrumentation-urllib + lint-instrumentation-urllib + + ; opentelemetry-instrumentation-urllib3 + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: urllib3 >=1.0.0,<2.0.0 + ; 1: urllib3 >=2.0.0,<3.0.0 + py3{9,10,11,12,13}-test-instrumentation-urllib3-{0,1} + pypy3-test-instrumentation-urllib3-{0,1} + lint-instrumentation-urllib3 + + ; opentelemetry-instrumentation-requests + py3{9,10,11,12,13}-test-instrumentation-requests + ;pypy3-test-instrumentation-requests + lint-instrumentation-requests + + ; opentelemetry-instrumentation-starlette + py3{9,10,11,12,13}-test-instrumentation-starlette-{oldest,latest} + pypy3-test-instrumentation-starlette-{oldest,latest} + lint-instrumentation-starlette + + ; opentelemetry-instrumentation-jinja2 + py3{9,10,11,12,13}-test-instrumentation-jinja2 + pypy3-test-instrumentation-jinja2 + lint-instrumentation-jinja2 + + ; opentelemetry-instrumentation-logging + py3{9,10,11,12,13}-test-instrumentation-logging + pypy3-test-instrumentation-logging + lint-instrumentation-logging + + ; opentelemetry-exporter-richconsole + py3{9,10,11,12,13}-test-exporter-richconsole + pypy3-test-exporter-richconsole + lint-exporter-richconsole + + ; opentelemetry-exporter-prometheus-remote-write + py3{9,10,11,12,13}-test-exporter-prometheus-remote-write + # excluded from pypy3 due to missing wheel + pypy310-test-exporter-prometheus-remote-write + lint-exporter-prometheus-remote-write + + ; opentelemetry-instrumentation-mysql + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: mysql-connector-python >=8.0.0,<9.0.0 + ; 1: mysql-connector-python ~=9.0.0 + py3{9,10,11,12,13}-test-instrumentation-mysql-{0,1} + pypy3-test-instrumentation-mysql-{0,1} + lint-instrumentation-mysql + + ; opentelemetry-instrumentation-mysqlclient + py3{9,10,11,12,13}-test-instrumentation-mysqlclient + pypy3-test-instrumentation-mysqlclient + ; prerequisite: follow the instructions here + ; https://github.com/PyMySQL/mysqlclient#install + ; for your OS to install the required dependencies + lint-instrumentation-mysqlclient + + ; opentelemetry-instrumentation-psycopg2 + py3{9,10,11,12,13}-test-instrumentation-psycopg2 + py3{9,10,11,12,13}-test-instrumentation-psycopg2-binary + ; ext-psycopg2 intentionally excluded from pypy3 + lint-instrumentation-psycopg2 + + ; opentelemetry-instrumentation-psycopg + py3{9,10,11,12,13}-test-instrumentation-psycopg + pypy3-test-instrumentation-psycopg + lint-instrumentation-psycopg + + ; opentelemetry-instrumentation-pymemcache + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: pymemcache ==1.3.5 + ; 1: pymemcache >2.0.0,<3.0.0 + ; 2: pymemcache >3.0.0,<3.4.2 + ; 3: pymemcache ==3.4.2 + ; 4: pymemcache ==4.0.0 + py3{9,10,11,12,13}-test-instrumentation-pymemcache-{0,1,2,3,4} + pypy3-test-instrumentation-pymemcache-{0,1,2,3,4} + lint-instrumentation-pymemcache + + ; opentelemetry-instrumentation-pymongo + py3{9,10,11,12,13}-test-instrumentation-pymongo + pypy3-test-instrumentation-pymongo + lint-instrumentation-pymongo + + ; opentelemetry-instrumentation-pymysql + py3{9,10,11,12,13}-test-instrumentation-pymysql + pypy3-test-instrumentation-pymysql + lint-instrumentation-pymysql + + ; opentelemetry-instrumentation-pymssql + py3{9,10,11,12,13}-test-instrumentation-pymssql + ; pymssql has no support for pypy: see https://github.com/pymssql/pymssql/pull/517 + ; pypy3-test-instrumentation-pymssql + lint-instrumentation-pymssql + + ; opentelemetry-instrumentation-pyramid + ; TODO: add py313 when supported by pyramid + py3{9,10,11,12}-test-instrumentation-pyramid + pypy3-test-instrumentation-pyramid + lint-instrumentation-pyramid + + ; opentelemetry-instrumentation-asgi + py3{9,10,11,12,13}-test-instrumentation-asgi + pypy3-test-instrumentation-asgi + lint-instrumentation-asgi + + ; opentelemetry-instrumentation-asyncpg + py3{9,10,11,12,13}-test-instrumentation-asyncpg + ; ext-asyncpg intentionally excluded from pypy3 + lint-instrumentation-asyncpg + + ; opentelemetry-instrumentation-sqlite3 + py3{9,10,11,12,13}-test-instrumentation-sqlite3 + pypy3-test-instrumentation-sqlite3 + lint-instrumentation-sqlite3 + + ; opentelemetry-instrumentation-wsgi + py3{9,10,11,12,13}-test-instrumentation-wsgi + pypy3-test-instrumentation-wsgi + lint-instrumentation-wsgi + + ; opentelemetry-instrumentation-grpc + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: grpcio==1.62.0 + ; 1: grpcio==1.66.2 + py3{9,10,11,12}-test-instrumentation-grpc-{0,1} + py313-test-instrumentation-grpc-1 + lint-instrumentation-grpc + + ; opentelemetry-instrumentation-sqlalchemy + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: sqlalchemy>=1.1,<1.2 + ; 1: sqlalchemy~=1.4 aiosqlite + ; 2: sqlalchemy~=2.0.0 + py3{9,10,11,12,13}-test-instrumentation-sqlalchemy-{1,2} + pypy3-test-instrumentation-sqlalchemy-{0,1,2} + lint-instrumentation-sqlalchemy + + ; opentelemetry-instrumentation-redis + py3{9,10,11,12,13}-test-instrumentation-redis + pypy3-test-instrumentation-redis + lint-instrumentation-redis + + ; opentelemetry-instrumentation-remoulade + py3{9,10,11,12,13}-test-instrumentation-remoulade + ; instrumentation-remoulade intentionally excluded from pypy3 + lint-instrumentation-remoulade + + ; opentelemetry-instrumentation-celery + py3{9,10,11,12,13}-test-instrumentation-celery + pypy3-test-instrumentation-celery + lint-instrumentation-celery + + ; opentelemetry-instrumentation-system-metrics + py3{9,10,11,12,13}-test-instrumentation-system-metrics + pypy3-test-instrumentation-system-metrics + lint-instrumentation-system-metrics + + ; opentelemetry-instrumentation-taskiq + py3{9,10,11,12,13}-test-instrumentation-taskiq + pypy3-test-instrumentation-taskiq + lint-instrumentation-taskiq + + ; opentelemetry-instrumentation-threading + py3{9,10,11,12,13}-test-instrumentation-threading + pypy3-test-instrumentation-threading + lint-instrumentation-threading + + ; opentelemetry-instrumentation-tornado + py3{9,10,11,12,13}-test-instrumentation-tornado + pypy3-test-instrumentation-tornado + lint-instrumentation-tornado + + ; opentelemetry-instrumentation-tortoiseorm + py3{9,10,11,12,13}-test-instrumentation-tortoiseorm + pypy3-test-instrumentation-tortoiseorm + lint-instrumentation-tortoiseorm + + ; opentelemetry-instrumentation-httpx + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: httpx>=0.18.0,<0.19.0 respx~=0.17.0 + ; 1: httpx>=0.19.0 respx~=0.20.1 + py3{9,10,11,12}-test-instrumentation-httpx-{0,1} + py313-test-instrumentation-httpx-1 + pypy3-test-instrumentation-httpx-{0,1} + lint-instrumentation-httpx + + ; opentelemetry-util-http + py3{9,10,11,12,13}-test-util-http + pypy3-test-util-http + lint-util-http + + ; opentelemetry-exporter-credential-provider-gcp + py3{9,10,11,12,13}-test-exporter-credential-provider-gcp + lint-exporter-credential-provider-gcp + + ; opentelemetry-util-genai + py3{9,10,11,12,13}-test-util-genai + pypy3-test-util-genai + lint-util-genai + + ; opentelemetry-propagator-aws-xray + py3{9,10,11,12,13}-test-propagator-aws-xray-{0,1} + pypy3-test-propagator-aws-xray-{0,1} + lint-propagator-aws-xray + benchmark-propagator-aws-xray + + ; opentelemetry-propagator-ot-trace + py3{9,10,11,12,13}-test-propagator-ot-trace + pypy3-test-propagator-ot-trace + lint-propagator-ot-trace + + ; opentelemetry-instrumentation-sio-pika + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: pika>=0.12.0,<1.0.0 + ; 1: pika>=1.0.0 + py3{9,10,11,12,13}-test-instrumentation-sio-pika-{0,1} + pypy3-test-instrumentation-sio-pika-{0,1} + lint-instrumentation-sio-pika + + ; opentelemetry-instrumentation-aio-pika + ; The numbers at the end of the environment names + ; below mean these dependencies are being used: + ; 0: aio_pika==7.2.0 + ; 1: aio_pika==8.3.0 + ; 2: aio_pika==9.0.5 + ; 3: aio_pika==9.4.1 + py3{9,10,11,12,13}-test-instrumentation-aio-pika-{0,1,2,3} + pypy3-test-instrumentation-aio-pika-{0,1,2,3} + lint-instrumentation-aio-pika + + ; opentelemetry-instrumentation-aiokafka + py3{9,10,11,12,13}-test-instrumentation-aiokafka + pypy3-test-instrumentation-aiokafka + lint-instrumentation-aiokafka + + ; opentelemetry-instrumentation-kafka-python + py3{9,10,11}-test-instrumentation-kafka-python + py3{9,10,11,12,13}-test-instrumentation-kafka-pythonng + pypy3-test-instrumentation-kafka-python + pypy3-test-instrumentation-kafka-pythonng + lint-instrumentation-kafka-python + + ; opentelemetry-instrumentation-confluent-kafka + py3{9,10,11,12,13}-test-instrumentation-confluent-kafka + lint-instrumentation-confluent-kafka + + ; opentelemetry-instrumentation-asyncio + py3{9,10,11,12,13}-test-instrumentation-asyncio + lint-instrumentation-asyncio + + ; opentelemetry-instrumentation-cassandra + py3{9,10,11,12,13}-test-instrumentation-cassandra + pypy3-test-instrumentation-cassandra + lint-instrumentation-cassandra + + ; opentelemetry-processor-baggage + py3{9,10,11,12,13}-test-processor-baggage + pypy3-test-processor-baggage + ; requires snappy headers to be available on the system + lint-processor-baggage + + spellcheck + docker-tests + docs + generate + generate-workflows + shellcheck + precommit + typecheck + +[testenv] +test_deps = + opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api + opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions + opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk + opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils +deps = + lint: -r dev-requirements.txt + coverage: pytest + coverage: pytest-cov + + opentelemetry-instrumentation: {[testenv]test_deps} + opentelemetry-instrumentation: -r {toxinidir}/opentelemetry-instrumentation/test-requirements.txt + + distro: {[testenv]test_deps} + distro: -r {toxinidir}/opentelemetry-distro/test-requirements.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + openai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt + # and the latest version of OTel API and SDK + openai-latest: {[testenv]test_deps} + openai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.latest.txt + lint-instrumentation-openai-v2: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests/requirements.oldest.txt + + vertexai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt + vertexai-latest: {[testenv]test_deps} + vertexai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.latest.txt + lint-instrumentation-vertexai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt + + google-genai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt + google-genai-latest: {[testenv]test_deps} + google-genai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.latest.txt + lint-instrumentation-google-genai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt + + asgi: {[testenv]test_deps} + asgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt + + celery: {[testenv]test_deps} + py3{9}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-0.txt + py3{10,11,12,13}-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + pypy3-test-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + lint-instrumentation-celery: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/test-requirements-1.txt + + taskiq: {[testenv]test_deps} + py3{9,10,11,12,13}-test-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt + pypy3-test-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt + lint-instrumentation-taskiq: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/test-requirements.txt + + asyncclick: {[testenv]test_deps} + asyncclick: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/test-requirements.txt + + click: {[testenv]test_deps} + click: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-click/test-requirements.txt + + sio-pika: {[testenv]test_deps} + sio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-0.txt + sio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt + lint-instrumentation-sio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/test-requirements-1.txt + + aio-pika: {[testenv]test_deps} + aio-pika-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-0.txt + aio-pika-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-1.txt + aio-pika-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-2.txt + aio-pika-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt + lint-instrumentation-aio-pika: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/test-requirements-3.txt + + aiokafka: {[testenv]test_deps} + aiokafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/test-requirements.txt + + kafka-python: {[testenv]test_deps} + kafka-python: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements.txt + + kafka-pythonng: {[testenv]test_deps} + kafka-pythonng: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/test-requirements-ng.txt + + confluent-kafka: {[testenv]test_deps} + confluent-kafka: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/test-requirements.txt + + grpc: {[testenv]test_deps} + grpc-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-0.txt + grpc-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt + lint-instrumentation-grpc: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/test-requirements-1.txt + + wsgi: {[testenv]test_deps} + wsgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/test-requirements.txt + + asyncpg: {[testenv]test_deps} + asyncpg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/test-requirements.txt + + aws-lambda: {[testenv]test_deps} + aws-lambda: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/test-requirements.txt + + boto: {[testenv]test_deps} + boto: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/test-requirements.txt + + boto3sqs: {[testenv]test_deps} + boto3sqs: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/test-requirements.txt + + falcon: {[testenv]test_deps} + falcon-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-0.txt + falcon-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-1.txt + falcon-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-2.txt + falcon-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-3.txt + falcon-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt + lint-instrumentation-falcon: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/test-requirements-4.txt + + flask: {[testenv]test_deps} + flask-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-0.txt + flask-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-1.txt + flask-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt + lint-instrumentation-flask: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/test-requirements-2.txt + + urllib: {[testenv]test_deps} + urllib: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/test-requirements.txt + + urllib3: {[testenv]test_deps} + urllib3-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-0.txt + urllib3-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt + lint-instrumentation-urllib3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/test-requirements-1.txt + + botocore: {[testenv]test_deps} + botocore-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-0.txt + botocore-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt + lint-instrumentation-botocore: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/test-requirements-1.txt + + cassandra: {[testenv]test_deps} + cassandra: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/test-requirements.txt + + dbapi: {[testenv]test_deps} + dbapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/test-requirements.txt + + django: {[testenv]test_deps} + py3{9}-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt + py3{9}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + py3{9}-test-instrumentation-django-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-2.txt + py3{10,11,12}-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + py3{10,11,12,13}-test-instrumentation-django-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt + pypy3-test-instrumentation-django-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-0.txt + pypy3-test-instrumentation-django-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-1.txt + lint-instrumentation-django: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-django/test-requirements-3.txt + + fastapi: {[testenv]test_deps} + fastapi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/test-requirements.txt + + mysql: {[testenv]test_deps} + mysql-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-0.txt + mysql-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt + lint-instrumentation-mysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/test-requirements-1.txt + + mysqlclient: {[testenv]test_deps} + mysqlclient: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/test-requirements.txt + + pymemcache: {[testenv]test_deps} + pymemcache-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-0.txt + pymemcache-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-1.txt + pymemcache-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-2.txt + pymemcache-3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-3.txt + pymemcache-4: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt + lint-instrumentation-pymemcache: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/test-requirements-4.txt + + pymongo: {[testenv]test_deps} + pymongo: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/test-requirements.txt + + psycopg: {[testenv]test_deps} + py3{9}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-0.txt + py3{10,11,12,13}-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + pypy3-test-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + lint-instrumentation-psycopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/test-requirements-1.txt + + psycopg2: {[testenv]test_deps} + psycopg2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements.txt + + psycopg2-binary: {[testenv]test_deps} + psycopg2-binary: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/test-requirements-binary.txt + + pymysql: {[testenv]test_deps} + pymysql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/test-requirements.txt + + pymssql: {[testenv]test_deps} + pymssql: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/test-requirements.txt + + pyramid: {[testenv]test_deps} + pyramid: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/test-requirements.txt + + sqlite3: {[testenv]test_deps} + sqlite3: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/test-requirements.txt + + redis: {[testenv]test_deps} + redis: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/test-requirements.txt + + remoulade: {[testenv]test_deps} + remoulade: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/test-requirements.txt + + requests: {[testenv]test_deps} + requests: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/test-requirements.txt + + starlette: {[testenv]test_deps} + starlette-{oldest,lint}: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.oldest.txt + starlette-latest: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/test-requirements.latest.txt + + system-metrics: {[testenv]test_deps} + system-metrics: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/test-requirements.txt + + threading: {[testenv]test_deps} + threading: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/test-requirements.txt + + tornado: {[testenv]test_deps} + tornado: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/test-requirements.txt + + tortoiseorm: {[testenv]test_deps} + tortoiseorm: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/test-requirements.txt + + jinja2: {[testenv]test_deps} + jinja2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/test-requirements.txt + + logging: {[testenv]test_deps} + logging: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/test-requirements.txt + + aiohttp-client: {[testenv]test_deps} + aiohttp-client: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/test-requirements.txt + + aiohttp-server: {[testenv]test_deps} + aiohttp-server: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/test-requirements.txt + + aiopg: {[testenv]test_deps} + aiopg: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/test-requirements.txt + + richconsole: {[testenv]test_deps} + richconsole: -r {toxinidir}/exporter/opentelemetry-exporter-richconsole/test-requirements.txt + + prometheus: {[testenv]test_deps} + prometheus: -r {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/test-requirements.txt + + sqlalchemy: {[testenv]test_deps} + sqlalchemy-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-0.txt + sqlalchemy-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-1.txt + sqlalchemy-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt + lint-instrumentation-sqlalchemy: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/test-requirements-2.txt + + elasticsearch: {[testenv]test_deps} + elasticsearch-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-0.txt + elasticsearch-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-1.txt + elasticsearch-2: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt + lint-instrumentation-elasticsearch: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/test-requirements-2.txt + + asyncio: {[testenv]test_deps} + asyncio: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/test-requirements.txt + + httpx: {[testenv]test_deps} + httpx-0: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-0.txt + httpx-1: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt + lint-instrumentation-httpx: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/test-requirements-1.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + sdk-extension-aws-0: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt + # and the latest version of OTel API and SDK + sdk-extension-aws-1: {[testenv]test_deps} + sdk-extension-aws-1: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-1.txt + lint-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/test-requirements-0.txt + benchmark-sdk-extension-aws: -r {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmark-requirements.txt + + resource-detector-containerid: {[testenv]test_deps} + resource-detector-containerid: -r {toxinidir}/resource/opentelemetry-resource-detector-containerid/test-requirements.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + resource-detector-azure-0: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt + # and the latest version of OTel API and SDK + resource-detector-azure-1: {[testenv]test_deps} + resource-detector-azure-1: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-1.txt + lint-resource-detector-azure: -r {toxinidir}/resource/opentelemetry-resource-detector-azure/test-requirements-0.txt + + propagator-ot-trace: {[testenv]test_deps} + propagator-ot-trace: -r {toxinidir}/propagator/opentelemetry-propagator-ot-trace/test-requirements.txt + + # packages that are released individually should provide a test-requirements.txt with the lowest version of OTel API + # and SDK supported to test we are honoring it + propagator-aws-xray-0: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt + # and the latest version of OTel API and SDK + propagator-aws-xray-1: {[testenv]test_deps} + propagator-aws-xray-1: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-1.txt + lint-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/test-requirements-0.txt + benchmark-propagator-aws-xray: -r {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmark-requirements.txt + + processor-baggage: {[testenv]test_deps} + processor-baggage: -r {toxinidir}/processor/opentelemetry-processor-baggage/test-requirements.txt + + util-http: {[testenv]test_deps} + util-http: -r {toxinidir}/util/opentelemetry-util-http/test-requirements.txt + util-http: {toxinidir}/util/opentelemetry-util-http + + exporter-credential-provider-gcp: -r {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/test-requirements.txt + exporter-credential-provider-gcp: {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp + + util-genai: {[testenv]test_deps} + util-genai: -r {toxinidir}/util/opentelemetry-util-genai/test-requirements.txt + util-genai: {toxinidir}/util/opentelemetry-util-genai + + ; FIXME: add coverage testing +allowlist_externals = + sh + pytest + +setenv = + ; override CORE_REPO_SHA via env variable when testing other branches/commits than main + ; i.e: CORE_REPO_SHA=dde62cebffe519c35875af6d06fae053b3be65ec tox -e + CORE_REPO_SHA={env:CORE_REPO_SHA:main} + CORE_REPO=git+https://github.com/open-telemetry/opentelemetry-python.git@{env:CORE_REPO_SHA} + UV_CONFIG_FILE={toxinidir}/tox-uv.toml + +commands_pre = +; In order to get a health coverage report, +; we have to install packages in editable mode. + coverage: python {toxinidir}/scripts/eachdist.py install --editable + +commands = + test-distro: pytest {toxinidir}/opentelemetry-distro/tests {posargs} + lint-distro: pylint {toxinidir}/opentelemetry-distro + + test-opentelemetry-instrumentation: pytest {toxinidir}/opentelemetry-instrumentation/tests {posargs} + lint-opentelemetry-instrumentation: pylint {toxinidir}/opentelemetry-instrumentation + + test-instrumentation-aiohttp-client: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client/tests {posargs} + lint-instrumentation-aiohttp-client: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-client" + + test-instrumentation-aiohttp-server: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-server/tests {posargs} + lint-instrumentation-aiohttp-server: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiohttp-server" + + test-instrumentation-aiopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg/tests {posargs} + lint-instrumentation-aiopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiopg" + + test-instrumentation-asgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/tests {posargs} + lint-instrumentation-asgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asgi" + + test-instrumentation-asyncclick: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick/tests {posargs} + lint-instrumentation-asyncclick: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncclick" + + test-instrumentation-asyncpg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg/tests {posargs} + lint-instrumentation-asyncpg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncpg" + + test-instrumentation-aws-lambda: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aws-lambda/tests {posargs} + lint-instrumentation-aws-lambda: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aws-lambda" + + test-instrumentation-boto: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto/tests {posargs} + lint-instrumentation-boto: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto" + + test-instrumentation-botocore: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore/tests {posargs} + lint-instrumentation-botocore: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-botocore" + + test-instrumentation-boto3sqs: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-boto3sqs/tests {posargs} + lint-instrumentation-boto3sqs: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-boto3sqs" + + test-instrumentation-cassandra: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-cassandra/tests {posargs} + lint-instrumentation-cassandra: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-cassandra" + + test-instrumentation-celery: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-celery/tests {posargs} + lint-instrumentation-celery: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-celery" + + test-instrumentation-click: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-click/tests {posargs} + lint-instrumentation-click: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-click" + + test-instrumentation-dbapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi/tests {posargs} + lint-instrumentation-dbapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-dbapi" + + test-instrumentation-django: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-django/tests {posargs} + lint-instrumentation-django: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-django" + + test-instrumentation-elasticsearch: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch/tests {posargs} + lint-instrumentation-elasticsearch: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-elasticsearch" + + test-instrumentation-falcon: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon/tests {posargs} + lint-instrumentation-falcon: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-falcon" + + test-instrumentation-fastapi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi/tests {posargs} + lint-instrumentation-fastapi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-fastapi" + + test-instrumentation-flask: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-flask/tests {posargs} + lint-instrumentation-flask: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-flask" + + test-instrumentation-urllib: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib/tests {posargs} + lint-instrumentation-urllib: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib" + + test-instrumentation-urllib3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-urllib3/tests {posargs} + lint-instrumentation-urllib3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-urllib3" + + test-instrumentation-grpc: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc/tests {posargs} + lint-instrumentation-grpc: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-grpc" + + test-instrumentation-jinja2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2/tests {posargs} + lint-instrumentation-jinja2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-jinja2" + + test-instrumentation-aiokafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka/tests {posargs} + lint-instrumentation-aiokafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aiokafka" + + test-instrumentation-kafka-python: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} + lint-instrumentation-kafka-python: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-kafka-python" + + ; Test only for kafka-pythonng instrumentation as the only difference between kafka-python and kafka-pythonng is the version of kafka-python + test-instrumentation-kafka-pythonng: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python/tests {posargs} + + test-instrumentation-confluent-kafka: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka/tests {posargs} + lint-instrumentation-confluent-kafka: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-confluent-kafka" + + test-instrumentation-logging: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-logging/tests {posargs} + lint-instrumentation-logging: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-logging" + + test-instrumentation-mysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql/tests {posargs} + lint-instrumentation-mysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysql" + + test-instrumentation-mysqlclient: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/tests {posargs} + lint-instrumentation-mysqlclient: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysqlclient" + + test-instrumentation-openai-v2: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests {posargs} + lint-instrumentation-openai-v2: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2" + + test-instrumentation-vertexai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests --vcr-record=none {posargs} + lint-instrumentation-vertexai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-vertexai" + + test-instrumentation-google-genai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests --vcr-record=none {posargs} + lint-instrumentation-google-genai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-google-genai" + + test-instrumentation-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs} + lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika" + + test-instrumentation-aio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-aio-pika/tests {posargs} + lint-instrumentation-aio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-aio-pika" + + test-instrumentation-psycopg: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg/tests {posargs} + lint-instrumentation-psycopg: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg" + + test-instrumentation-psycopg2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} + lint-instrumentation-psycopg2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-psycopg2" + + ; Test only for psycopg2-binary instrumentation as the only difference between psycopg2 and psycopg2-binary is the install method + test-instrumentation-psycopg2-binary: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2/tests {posargs} + + test-instrumentation-pymemcache: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache/tests {posargs} + lint-instrumentation-pymemcache: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymemcache" + + test-instrumentation-pymongo: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo/tests {posargs} + lint-instrumentation-pymongo: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymongo" + + test-instrumentation-pymysql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql/tests {posargs} + lint-instrumentation-pymysql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymysql" + + test-instrumentation-pymssql: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql/tests {posargs} + lint-instrumentation-pymssql: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pymssql" + + test-instrumentation-pyramid: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid/tests {posargs} + lint-instrumentation-pyramid: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pyramid" + + test-instrumentation-redis: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-redis/tests {posargs} + lint-instrumentation-redis: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-redis" + + test-instrumentation-remoulade: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade/tests {posargs} + lint-instrumentation-remoulade: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-remoulade" + + test-instrumentation-requests: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-requests/tests {posargs} + lint-instrumentation-requests: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-requests" + + test-instrumentation-sqlalchemy: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy/tests {posargs} + lint-instrumentation-sqlalchemy: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlalchemy" + + test-instrumentation-sqlite3: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3/tests {posargs} + lint-instrumentation-sqlite3: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-sqlite3" + + test-instrumentation-starlette: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette/tests {posargs} + lint-instrumentation-starlette: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-starlette" + + test-instrumentation-system-metrics: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics/tests {posargs} + lint-instrumentation-system-metrics: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-system-metrics" + + test-instrumentation-taskiq: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-taskiq/tests {posargs} + lint-instrumentation-taskiq: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-taskiq" + + test-instrumentation-threading: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-threading/tests {posargs} + lint-instrumentation-threading: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-threading" + + test-instrumentation-tornado: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado/tests {posargs} + lint-instrumentation-tornado: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tornado" + + test-instrumentation-tortoiseorm: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-tortoiseorm/tests {posargs} + lint-instrumentation-tortoiseorm: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-tortoiseorm" + + test-instrumentation-wsgi: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi/tests {posargs} + lint-instrumentation-wsgi: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-wsgi" + + test-instrumentation-httpx: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-httpx/tests {posargs} + lint-instrumentation-httpx: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-httpx" + + test-instrumentation-asyncio: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncio/tests {posargs} + lint-instrumentation-asyncio: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-asyncio" + + test-util-http: pytest {toxinidir}/util/opentelemetry-util-http/tests {posargs} + lint-util-http: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-http" + + test-exporter-credential-provider-gcp: pytest {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp/tests {posargs} + lint-exporter-credential-provider-gcp: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-credential-provider-gcp" + + test-util-genai: pytest {toxinidir}/util/opentelemetry-util-genai/tests {posargs} + lint-util-genai: sh -c "cd util && pylint --rcfile ../.pylintrc opentelemetry-util-genai" + + test-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/tests {posargs} + lint-sdk-extension-aws: sh -c "cd sdk-extension && pylint --rcfile ../.pylintrc opentelemetry-sdk-extension-aws" + benchmark-sdk-extension-aws: pytest {toxinidir}/sdk-extension/opentelemetry-sdk-extension-aws/benchmarks {posargs} --benchmark-json=sdk-extension-aws-benchmark.json + + test-resource-detector-containerid: pytest {toxinidir}/resource/opentelemetry-resource-detector-containerid/tests {posargs} + lint-resource-detector-containerid: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-containerid" + + test-resource-detector-azure: pytest {toxinidir}/resource/opentelemetry-resource-detector-azure/tests {posargs} + lint-resource-detector-azure: sh -c "cd resource && pylint --rcfile ../.pylintrc opentelemetry-resource-detector-azure" + + test-processor-baggage: pytest {toxinidir}/processor/opentelemetry-processor-baggage/tests {posargs} + lint-processor-baggage: sh -c "cd processor && pylint --rcfile ../.pylintrc opentelemetry-processor-baggage" + + test-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/tests {posargs} + lint-propagator-aws-xray: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-aws-xray" + benchmark-propagator-aws-xray: pytest {toxinidir}/propagator/opentelemetry-propagator-aws-xray/benchmarks {posargs} --benchmark-json=propagator-aws-xray-benchmark.json + + test-propagator-ot-trace: pytest {toxinidir}/propagator/opentelemetry-propagator-ot-trace/tests {posargs} + lint-propagator-ot-trace: sh -c "cd propagator && pylint --rcfile ../.pylintrc opentelemetry-propagator-ot-trace" + + test-exporter-richconsole: pytest {toxinidir}/exporter/opentelemetry-exporter-richconsole/tests {posargs} + lint-exporter-richconsole: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-richconsole" + + test-exporter-prometheus-remote-write: pytest {toxinidir}/exporter/opentelemetry-exporter-prometheus-remote-write/tests {posargs} + lint-exporter-prometheus-remote-write: sh -c "cd exporter && pylint --rcfile ../.pylintrc opentelemetry-exporter-prometheus-remote-write" + + coverage: {toxinidir}/scripts/coverage.sh + +[testenv:docs] +deps = + -c {toxinidir}/dev-requirements.txt + -r {toxinidir}/docs-requirements.txt + pytest + {[testenv]test_deps} + {toxinidir}/opentelemetry-instrumentation + {toxinidir}/util/opentelemetry-util-http + {toxinidir}/util/opentelemetry-util-genai + {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp + +changedir = docs + +commands = + sphinx-build -E -a -W -b html -T . _build/html + +[testenv:spellcheck] +basepython: python3 +recreate = True +deps = + codespell==2.2.6 + +commands = + codespell + +[testenv:docker-tests] +basepython: python3 +deps = + {[testenv]test_deps} + -r {toxinidir}/tests/opentelemetry-docker-tests/tests/test-requirements.txt + -e {toxinidir}/opentelemetry-instrumentation + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pika + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-kafka-python + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-confluent-kafka + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymssql + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis + -e {toxinidir}/instrumentation/opentelemetry-instrumentation-remoulade + opentelemetry-exporter-opencensus@{env:CORE_REPO}\#egg=opentelemetry-exporter-opencensus&subdirectory=exporter/opentelemetry-exporter-opencensus + +changedir = + tests/opentelemetry-docker-tests/tests + +commands_pre = + sh -c "sudo apt update -y && sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev unixodbc" + python -c "import pyodbc; print(pyodbc.drivers())" + docker-compose up -d + python check_availability.py + +commands = + pytest {posargs} + +commands_post = + docker-compose down -v + +[testenv:generate] +deps = + -r {toxinidir}/gen-requirements.txt + +allowlist_externals = + {toxinidir}/scripts/generate_instrumentation_bootstrap.py + {toxinidir}/scripts/generate_instrumentation_readme.py + {toxinidir}/scripts/generate_instrumentation_metapackage.py + pytest + +commands = + {toxinidir}/scripts/generate_instrumentation_bootstrap.py + {toxinidir}/scripts/generate_instrumentation_readme.py + {toxinidir}/scripts/generate_instrumentation_metapackage.py + +[testenv:generate-workflows] +recreate = True +deps = + {toxinidir}/.github/workflows/generate_workflows_lib + +commands = + python {toxinidir}/.github/workflows/generate_workflows.py + +[testenv:shellcheck] + +commands_pre = + sh -c "sudo apt update -y && sudo apt install --assume-yes shellcheck" + +commands = + sh -c "find {toxinidir} -name \*.sh | xargs shellcheck --severity=warning" + +[testenv:{precommit,ruff}] +basepython: python3 +deps = + -c {toxinidir}/dev-requirements.txt + pre-commit +commands = + pre-commit run --color=always --all-files {posargs} + +[testenv:typecheck] +deps = + -c {toxinidir}/dev-requirements.txt + pyright + {[testenv]test_deps} + {toxinidir}/opentelemetry-instrumentation + {toxinidir}/util/opentelemetry-util-http + {toxinidir}/util/opentelemetry-util-genai[upload] + {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai[instruments] + {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai[instruments] + {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka[instruments] + {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick[instruments] + {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp + +commands = + pyright From 542b9bddafc4522b8bf66b42727bb5214b0b9424 Mon Sep 17 00:00:00 2001 From: Alex Kondratev Date: Sat, 11 Oct 2025 14:13:02 +0300 Subject: [PATCH 4/5] fix generated code --- instrumentation/README.md | 2 +- .../src/opentelemetry/instrumentation/taskiq/package.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/instrumentation/README.md b/instrumentation/README.md index f598afec9d..3732e6c515 100644 --- a/instrumentation/README.md +++ b/instrumentation/README.md @@ -46,7 +46,7 @@ | [opentelemetry-instrumentation-sqlite3](./opentelemetry-instrumentation-sqlite3) | sqlite3 | No | development | [opentelemetry-instrumentation-starlette](./opentelemetry-instrumentation-starlette) | starlette >= 0.13 | Yes | development | [opentelemetry-instrumentation-system-metrics](./opentelemetry-instrumentation-system-metrics) | psutil >= 5 | No | development -| [opentelemetry-instrumentation-taskiq](./opentelemetry-instrumentation-taskiq) | taskiq >= 0.11 | No | development +| [opentelemetry-instrumentation-taskiq](./opentelemetry-instrumentation-taskiq) | taskiq >= 0.11.0 | No | development | [opentelemetry-instrumentation-threading](./opentelemetry-instrumentation-threading) | threading | No | development | [opentelemetry-instrumentation-tornado](./opentelemetry-instrumentation-tornado) | tornado >= 5.1.1 | Yes | development | [opentelemetry-instrumentation-tortoiseorm](./opentelemetry-instrumentation-tortoiseorm) | tortoise-orm >= 0.17.0 | No | development diff --git a/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py index 4886100a87..949e35a134 100644 --- a/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py +++ b/instrumentation/opentelemetry-instrumentation-taskiq/src/opentelemetry/instrumentation/taskiq/package.py @@ -13,4 +13,4 @@ # limitations under the License. -_instruments = ("celery >= 0.11.0",) +_instruments = ("taskiq >= 0.11.0",) From ed88c5993574e919e2eb43c7d479f1d70b474bf4 Mon Sep 17 00:00:00 2001 From: Alex Kondratev Date: Sat, 11 Oct 2025 14:46:59 +0300 Subject: [PATCH 5/5] fix changelog --- CHANGELOG.md | 4300 +++++++++++++++++++++++++------------------------- 1 file changed, 2150 insertions(+), 2150 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd6b8f5e5c..06bda1498b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2150 +1,2150 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -> [!NOTE] -> The following components are released independently and maintain individual CHANGELOG files. -> Use [this search for a list of all CHANGELOG.md files in this repo](https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-python-contrib+path%3A**%2FCHANGELOG.md&type=code). - -## Unreleased - -### Fixed - -- `opentelemetry-instrumentation-dbapi`: fix crash retrieving libpq version when enabling commenter with psycopg - ([#3796](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3796)) - -### Added - -- `opentelemetry-instrumentation-taskiq`: New instrumentation for `taskiq` - ([#3832](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3832)) -- `opentelemetry-instrumentation`: botocore: Add support for AWS Secrets Manager semantic convention attribute - ([#3765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3765)) -- Add `rstcheck` to pre-commit to stop introducing invalid RST - ([#3777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3777)) -- `opentelemetry-exporter-credential-provider-gcp`: create this package which provides support for supplying your machine's Application Default Credentials (https://cloud.google.com/docs/authentication/application-default-credentials) to the OTLP Exporters created automatically by OpenTelemetry Python's auto instrumentation. These credentials authorize OTLP traces to be sent to `telemetry.googleapis.com`. -[#3766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3766). - -## Version 1.37.0/0.58b0 (2025-09-11) - -### Fixed - -- `opentelemetry-instrumentation-fastapi`: Fix middleware ordering to cover all exception handling use cases. - ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) -- `opentelemetry-instrumentation-asgi`: Make all user hooks failsafe and record exceptions in hooks. - ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) -- `opentelemetry-instrumentation-fastapi`: Fix memory leak in `uninstrument_app()` by properly removing apps from the tracking set - ([#3688](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3688)) -- `opentelemetry-instrumentation-tornado` Fix server (request) duration metric calculation - ([#3679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3679)) -- `opentelemetry-instrumentation-tornado`: Fix to properly skip all server telemetry when URL excluded. - ([#3680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3680)) -- `opentelemetry-instrumentation`: Avoid calls to `context.detach` with `None` token. - ([#3673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3673)) -- `opentelemetry-instrumentation-starlette`/`opentelemetry-instrumentation-fastapi`: Fixes a crash when host-based routing is used - ([#3507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3507)) -- Fix documentation order of sections and headers for Django, Flask, MySQL, mysqlclient, psycopg, psycopg2, pymysql, sqlalchemy instrumentations. - ([#3719](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3719)) -- `opentelemetry-instrumentation-asgi` Fixed an issue where FastAPI reports IP instead of URL. - ([#3670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3670)) -- `opentelemetry-instrumentation-httpx`: fix missing metric response attributes when tracing is disabled - ([#3615](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3615)) -- `opentelemetry-instrumentation-fastapi`: Don't pass bounded server_request_hook when using `FastAPIInstrumentor.instrument()` - ([#3701](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3701)) - -### Added - -- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.11.0 - ([#3685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3685)) -- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collected_objects` and `cpython.gc.uncollectable_objects` metrics - ([#3666](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3666)) -- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Remote Sampler with initial Rules Poller implementation - ([#3366](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3366)) -- `opentelemetry-instrumentation`: add support for `OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH` to inform opentelemetry-instrument about gevent monkeypatching - ([#3699](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3699)) -- `opentelemetry-instrumentation`: botocore: Add support for AWS Step Functions semantic convention attributes - ([#3737](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3737)) -- `opentelemetry-instrumentation-botocore`: Add support for SNS semantic convention attribute aws.sns.topic.arn - ([#3734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3734)) -- `opentelemetry-instrumentation`: botocore: upgrade moto package from 5.0.9 to 5.1.11 - ([#3736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3736)) - -## Version 1.36.0/0.57b0 (2025-07-29) - -### Fixed - -- `opentelemetry-instrumentation`: Fix dependency conflict detection when instrumented packages are not installed by moving check back to before instrumentors are loaded. Add "instruments-any" feature for instrumentations that target multiple packages. - ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) -- infra(ci): Fix git pull failures in core contrib test - ([#3357](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3357)) - -### Added - -- `opentelemetry-instrumentation-psycopg2` Utilize instruments-any functionality. - ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) -- `opentelemetry-instrumentation-kafka-python` Utilize instruments-any functionality. - ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) -- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collections` metrics with collection unit is specified in semconv ([3617](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3617)) - -## Version 1.35.0/0.56b0 (2025-07-11) - -### Added - -- `opentelemetry-instrumentation-pika` Added instrumentation for All `SelectConnection` adapters - ([#3584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3584)) -- `opentelemetry-instrumentation-tornado` Add support for `WebSocketHandler` instrumentation - ([#3498](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3498)) -- `opentelemetry-util-http` Added support for redacting specific url query string values and url credentials in instrumentations - ([#3508](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3508)) -- `opentelemetry-instrumentation-pymongo` `aggregate` and `getMore` capture statements support - ([#3601](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3601)) - -### Fixed - -- `opentelemetry-instrumentation-asgi`: fix excluded_urls in instrumentation-asgi - ([#3567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3567)) -- `opentelemetry-resource-detector-containerid`: make it more quiet on platforms without cgroups - ([#3579](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3579)) - -## Version 1.34.0/0.55b0 (2025-06-04) - -### Fixed - -- `opentelemetry-instrumentation-system-metrics`: fix loading on Google Cloud Run - ([#3533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3533)) -- `opentelemetry-instrumentation-fastapi`: fix wrapping of middlewares - ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) -- `opentelemetry-instrumentation-starlette` Remove max version constraint on starlette - ([#3456](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3456)) -- `opentelemetry-instrumentation-starlette` Fix memory leak and double middleware - ([#3529](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3529)) -- `opentelemetry-instrumentation-urllib3`: proper bucket boundaries in stable semconv http duration metrics - ([#3518](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3518)) -- `opentelemetry-instrumentation-urllib`: proper bucket boundaries in stable semconv http duration metrics - ([#3519](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3519)) -- `opentelemetry-instrumentation-falcon`: proper bucket boundaries in stable semconv http duration - ([#3525](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3525)) -- `opentelemetry-instrumentation-wsgi`: add explicit http duration buckets for stable semconv - ([#3527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3527)) -- `opentelemetry-instrumentation-asgi`: add explicit http duration buckets for stable semconv - ([#3526](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3526)) -- `opentelemetry-instrumentation-flask`: proper bucket boundaries in stable semconv http duration - ([#3523](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3523)) -- `opentelemetry-instrumentation-django`: proper bucket boundaries in stable semconv http duration - ([#3524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3524)) -- `opentelemetry-instrumentation-grpc`: support non-list interceptors - ([#3520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3520)) -- `opentelemetry-instrumentation-botocore` Ensure spans end on early stream closure for Bedrock Streaming APIs - ([#3481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3481)) -- `opentelemetry-instrumentation-sqlalchemy` Respect suppress_instrumentation functionality - ([#3477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3477)) -- `opentelemetry-instrumentation-botocore`: fix handling of tool input in Bedrock ConverseStream - ([#3544](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3544)) -- `opentelemetry-instrumentation-botocore` Add type check when extracting tool use from Bedrock request message content - ([#3548](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3548)) -- `opentelemetry-instrumentation-dbapi` Respect suppress_instrumentation functionality ([#3460](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3460)) -- `opentelemetry-resource-detector-container` Correctly parse container id when using systemd and cgroupsv1 - ([#3429](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3429)) - -### Breaking changes - -- `opentelemetry-instrumentation-botocore` Use `cloud.region` instead of `aws.region` span attribute as per semantic conventions. - ([#3474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3474)) -- `opentelemetry-instrumentation-fastapi`: Drop support for FastAPI versions earlier than `0.92` - ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) -- `opentelemetry-resource-detector-container`: rename package name to `opentelemetry-resource-detector-containerid` - ([#3536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3536)) - -### Added - -- `opentelemetry-instrumentation-aiohttp-client` Add support for HTTP metrics - ([#3517](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3517)) -- `opentelemetry-instrumentation-httpx` Add support for HTTP metrics - ([#3513](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3513)) -- `opentelemetry-instrumentation` Allow re-raising exception when instrumentation fails - ([#3545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3545)) -- `opentelemetry-instrumentation-aiokafka` Add instrumentation of `consumer.getmany` (batch) - ([#3257](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3257)) - -### Deprecated - -- Drop support for Python 3.8, bump baseline to Python 3.9. - ([#3399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3399)) - -## Version 1.33.0/0.54b0 (2025-05-09) - -### Added - -- `opentelemetry-instrumentation-requests` Support explicit_bucket_boundaries_advisory in duration metrics - ([#3464](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3464)) -- `opentelemetry-instrumentation-redis` Add support for redis client-specific instrumentation. - ([#3143](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3143)) - -### Fixed - -- `opentelemetry-instrumentation` Catch `ModuleNotFoundError` when the library is not installed - and log as debug instead of exception - ([#3423](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3423)) -- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation - ([#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)) -- `opentelemetry-instrumentation-botocore` Add GenAI instrumentation for additional Bedrock models for InvokeModel API - ([#3419](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3419)) -- `opentelemetry-instrumentation` don't print duplicated conflict log error message - ([#3432](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3432)) -- `opentelemetry-instrumentation-grpc` Check for None result in gRPC - ([#3380](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3381)) -- `opentelemetry-instrumentation-[asynclick/click]` Add missing opentelemetry-instrumentation dep - ([#3447](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3447)) -- `opentelemetry-instrumentation-botocore` Capture server attributes for botocore API calls - ([#3448](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3448)) - -## Version 1.32.0/0.53b0 (2025-04-10) - -### Added - -- `opentelemetry-instrumentation-asyncclick`: new instrumentation to trace asyncclick commands - ([#3319](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3319)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events using Amazon Nova models and `InvokeModel*` APIs - ([#3385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3385)) -- `opentelemetry-instrumentation` Make auto instrumentation use the same dependency resolver as manual instrumentation does - ([#3202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3202)) - -### Fixed - -- `opentelemetry-instrumentation` Fix client address is set to server address in new semconv - ([#3354](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3354)) -- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-django`, - `opentelemetry-instrumentation-sqlalchemy`: Fix sqlcomment for non string query and composable object. - ([#3113](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3113)) -- `opentelemetry-instrumentation-grpc` Fix error when using gprc versions <= 1.50.0 with unix sockets. - ([[#3393](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3393)]) -- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation. - ([[#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)]) -- `opentelemetry-instrumentation-aiokafka` Fix send_and_wait method no headers kwargs error. - ([[#3332](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3332)]) - -## Version 1.31.0/0.52b0 (2025-03-12) - -### Added - -- `opentelemetry-instrumentation-openai-v2` Update doc for OpenAI Instrumentation to support OpenAI Compatible Platforms - ([#3279](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3279)) -- `opentelemetry-instrumentation-system-metrics` Add `process` metrics and deprecated `process.runtime` prefixed ones - ([#3250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3250)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI user events and lazy initialize tracer - ([#3258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3258)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI system events - ([#3266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3266)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI choice events - ([#3275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3275)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events - ([#3302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3302)) -- `opentelemetry-instrumentation-botocore` Add support for GenAI metrics - ([#3326](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3326)) -- `opentelemetry-instrumentation` make it simpler to initialize auto-instrumentation programmatically - ([#3273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3273)) -- Add `opentelemetry-instrumentation-vertexai>=2.0b0` to `opentelemetry-bootstrap` - ([#3307](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3307)) -- Loosen `opentelemetry-instrumentation-starlette[instruments]` specifier - ([#3304](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3304)) - -### Fixed - -- `opentelemetry-instrumentation-redis` Add missing entry in doc string for `def _instrument` - ([#3247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3247)) -- `opentelemetry-instrumentation-botocore` sns-extension: Change destination name attribute - to match topic ARN and redact phone number from attributes - ([#3249](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3249)) -- `opentelemetry-instrumentation-asyncpg` Fix fallback for empty queries. - ([#3253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3253)) -- `opentelemetry-instrumentation` Fix a traceback in sqlcommenter when psycopg connection pooling is enabled. - ([#3309](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3309)) -- `opentelemetry-instrumentation-threading` Fix broken context typehints - ([#3322](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3322)) -- `opentelemetry-instrumentation-requests` always record span status code in duration metric - ([#3323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3323)) - -## Version 1.30.0/0.51b0 (2025-02-03) - -### Added - -- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.7.0 - ([#3100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3100)) -- Add support to database stability opt-in in `_semconv` utilities and add tests - ([#3111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3111)) -- `opentelemetry-instrumentation-urllib` Add `py.typed` file to enable PEP 561 - ([#3131](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3131)) -- `opentelemetry-opentelemetry-pymongo` Add `py.typed` file to enable PEP 561 - ([#3136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3136)) -- `opentelemetry-opentelemetry-requests` Add `py.typed` file to enable PEP 561 - ([#3135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3135)) -- `opentelemetry-instrumentation-system-metrics` Add `py.typed` file to enable PEP 561 - ([#3132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3132)) -- `opentelemetry-opentelemetry-sqlite3` Add `py.typed` file to enable PEP 561 - ([#3133](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3133)) -- `opentelemetry-instrumentation-falcon` add support version to v4 - ([#3086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3086)) -- `opentelemetry-instrumentation-falcon` Implement new HTTP semantic convention opt-in for Falcon - ([#2790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2790)) -- `opentelemetry-instrumentation-wsgi` always record span status code to have it available in metrics - ([#3148](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3148)) -- add support to Python 3.13 - ([#3134](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3134)) -- `opentelemetry-opentelemetry-wsgi` Add `py.typed` file to enable PEP 561 - ([#3129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3129)) -- `opentelemetry-util-http` Add `py.typed` file to enable PEP 561 - ([#3127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3127)) -- `opentelemetry-instrumentation-psycopg2` Add support for psycopg2-binary - ([#3186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3186)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock Converse API - ([#3161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3161)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModel API - ([#3200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3200)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock ConverseStream API - ([#3204](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3204)) -- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModelWithStreamResponse API - ([#3206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3206)) -- `opentelemetry-instrumentation-pymssql` Add pymssql instrumentation - ([#394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/394)) -- `opentelemetry-instrumentation-mysql` Add sqlcommenter support - ([#3163](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3163)) - -### Fixed - -- `opentelemetry-instrumentation-httpx` Fix `RequestInfo`/`ResponseInfo` type hints - ([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105)) -- `opentelemetry-instrumentation-dbapi` Move `TracedCursorProxy` and `TracedConnectionProxy` to the module level - ([#3068](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3068)) -- `opentelemetry-instrumentation-click` Disable tracing of well-known server click commands - ([#3174](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3174)) -- `opentelemetry-instrumentation` Fix `get_dist_dependency_conflicts` if no distribution requires - ([#3168](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3168)) - -### Breaking changes - -- `opentelemetry-exporter-prometheus-remote-write` updated protobuf required version from 4.21 to 5.26 and regenerated protobufs - ([#3219](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3219)) -- `opentelemetry-instrumentation-sqlalchemy` including sqlcomment in `db.statement` span attribute value is now opt-in - ([#3112](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3112)) -- `opentelemetry-instrumentation-dbapi` including sqlcomment in `db.statement` span attribute value is now opt-in - ([#3115](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3115)) -- `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-psycopg`, `opentelemetry-instrumentation-mysqlclient`, `opentelemetry-instrumentation-pymysql`: including sqlcomment in `db.statement` span attribute value is now opt-in - ([#3121](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3121)) - -## Version 1.29.0/0.50b0 (2024-12-11) - -### Added - -- `opentelemetry-instrumentation-starlette` Add type hints to the instrumentation - ([#3045](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3045)) -- `opentelemetry-distro` default to OTLP log exporter. - ([#3042](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3042)) -- `opentelemetry-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2 - ([#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976)) -- Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap` - ([#2996](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2996)) -- `opentelemetry-instrumentation-sqlalchemy` Add sqlcomment to `db.statement` attribute - ([#2937](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2937)) -- `opentelemetry-instrumentation-dbapi` Add sqlcomment to `db.statement` attribute - ([#2935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2935)) -- `opentelemetry-instrumentation-dbapi` instrument_connection accepts optional connect_module - ([#3027](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3027)) -- `opentelemetry-instrumentation-mysqlclient` Add sqlcommenter support - ([#2941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2941)) -- `opentelemetry-instrumentation-pymysql` Add sqlcommenter support - ([#2942](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2942)) -- `opentelemetry-instrumentation-click`: new instrumentation to trace click commands - ([#2994](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2994)) - -### Fixed - -- `opentelemetry-instrumentation-starlette`: Retrieve `meter_provider` key instead of `_meter_provider` on `_instrument` - ([#3048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3048)) -- `opentelemetry-instrumentation-httpx`: instrument_client is a static method again - ([#3003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3003)) -- `opentelemetry-instrumentation-system_metrics`: fix callbacks reading wrong config - ([#3025](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3025)) -- `opentelemetry-instrumentation-httpx`: Check if mount transport is none before wrap it - ([#3022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3022)) -- Replace all instrumentor unit test `assertEqualSpanInstrumentationInfo` calls with `assertEqualSpanInstrumentationScope` calls - ([#3037](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3037)) -- `opentelemetry-instrumentation-sqlalchemy` Fixes engines from `sqlalchemy.engine_from_config` not being fully instrumented - ([#2816](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2816)) -- `opentelemetry-instrumentation-sqlalchemy`: Fix a remaining memory leak in EngineTracer - ([#3053](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3053)) -- `opentelemetry-instrumentation-sqlite3`: Update documentation on explicit cursor support of tracing - ([#3088](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3088)) - -### Breaking changes - -- `opentelemetry-instrumentation-sqlalchemy` teach instruments version - ([#2971](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2971)) -- Drop `opentelemetry-instrumentation-test` package from default instrumentation list - ([#2969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2969)) -- `opentelemetry-instrumentation-httpx`: remove private unused `_InstrumentedClient` and `_InstrumentedAsyncClient` classes - ([#3036](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3036)) - -## Version 1.28.0/0.49b0 (2024-11-05) - -### Added - -- `opentelemetry-instrumentation-openai-v2` Instrumentation for OpenAI >= 0.27.0 - ([#2759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2759)) -- `opentelemetry-instrumentation-fastapi` Add autoinstrumentation mechanism tests. - ([#2860](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2860)) -- `opentelemetry-instrumentation-aiokafka` Add instrumentor and auto instrumentation support for aiokafka - ([#2082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2082)) -- `opentelemetry-instrumentation-redis` Add additional attributes for methods create_index and search, rename those spans - ([#2635](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2635)) -- `opentelemetry-instrumentation` Add support for string based dotted module paths in unwrap - ([#2919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2919)) - -### Fixed - -- `opentelemetry-instrumentation-aiokafka` Wrap `AIOKafkaConsumer.getone()` instead of `AIOKafkaConsumer.__anext__` - ([#2874](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2874)) -- `opentelemetry-instrumentation-confluent-kafka` Fix to allow `topic` to be extracted from `kwargs` in `produce()` - ([#2901])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2901) -- `opentelemetry-instrumentation-system-metrics` Update metric units to conform to UCUM conventions. - ([#2922](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2922)) -- `opentelemetry-instrumentation-celery` Don't detach context without a None token - ([#2927](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2927)) -- `opentelemetry-exporter-prometheus-remote-write`: sort labels before exporting - ([#2940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2940)) -- `opentelemetry-instrumentation-dbapi` sqlcommenter key values created from PostgreSQL, MySQL systems - ([#2897](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2897)) -- `opentelemetry-instrumentation-system-metrics`: don't report open file descriptors on Windows - ([#2946](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2946)) - -### Breaking changes - -- Deprecation of pkg_resource in favor of importlib.metadata - ([#2871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2871)) -- `opentelemetry-instrumentation` Don't fail distro loading if instrumentor raises ImportError, instead skip them - ([#2923](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2923)) -- `opentelemetry-instrumentation-httpx` Rewrote instrumentation to use wrapt instead of subclassing - ([#2909](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2909)) - -## Version 1.27.0/0.48b0 (2024-08-28) - -### Added - -- `opentelemetry-instrumentation-kafka-python` Instrument temporary fork, kafka-python-ng inside kafka-python's instrumentation - ([#2537](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2537)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi` Add ability to disable internal HTTP send and receive spans - ([#2802](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2802)) -- `opentelemetry-instrumentation-asgi` Add fallback decoding for ASGI headers - ([#2837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2837)) - -### Breaking changes - -- `opentelemetry-bootstrap` Remove `opentelemetry-instrumentation-aws-lambda` from the defaults instrumentations - ([#2786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2786)) - -### Fixed - -- `opentelemetry-instrumentation-httpx` fix handling of async hooks - ([#2823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2823)) -- `opentelemetry-instrumentation-system-metrics` fix `process.runtime.cpu.utilization` values to be shown in range of 0 to 1 - ([#2812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2812)) -- `opentelemetry-instrumentation-fastapi` fix `fastapi` auto-instrumentation by removing `fastapi-slim` support, `fastapi-slim` itself is discontinued from maintainers - ([#2783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2783)) -- `opentelemetry-instrumentation-aws-lambda` Avoid exception when a handler is not present. - ([#2750](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2750)) -- `opentelemetry-instrumentation-django` Fix regression - `http.target` re-added back to old semconv duration metrics - ([#2746](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2746)) -- `opentelemetry-instrumentation-asgi` do not set `url.full` attribute for server spans - ([#2735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2735)) -- `opentelemetry-instrumentation-grpc` Fixes the issue with the gRPC instrumentation not working with the 1.63.0 and higher version of gRPC - ([#2483](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2484)) -- `opentelemetry-instrumentation-aws-lambda` Fixing w3c baggage support - ([#2589](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2589)) -- `opentelemetry-instrumentation-celery` propagates baggage - ([#2385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2385)) -- `opentelemetry-instrumentation-asyncio` Fixes async generator coroutines not being awaited - ([#2792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2792)) -- `opentelemetry-instrumentation-tornado` Handle http client exception and record exception info into span - ([#2563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2563)) -- `opentelemetry-instrumentation` fix `http.host` new http semantic convention mapping to depend on `kind` of span - ([#2814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2814)) -- `opentelemetry-instrumentation` Fix the description of `http.server.duration` and `http.server.request.duration` - ([#2753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2753)) -- `opentelemetry-instrumentation-grpc` Fix grpc supported version - ([#2845](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2845)) -- `opentelemetry-instrumentation-asyncio` fix `AttributeError` in - `AsyncioInstrumentor.trace_to_thread` when `func` is a `functools.partial` instance - ([#2911](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2911)) - -## Version 1.26.0/0.47b0 (2024-07-23) - -### Added - -- `opentelemetry-instrumentation-flask` Add `http.route` and `http.target` to metric attributes - ([#2621](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2621)) -- `opentelemetry-instrumentation-aws-lambda` Enable global propagator for AWS instrumentation - ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) -- `opentelemetry-instrumentation-sklearn` Deprecated the sklearn instrumentation - ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) -- `opentelemetry-instrumentation-pyramid` Record exceptions raised when serving a request - ([#2622](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2622)) -- `opentelemetry-sdk-extension-aws` Add AwsXrayLambdaPropagator - ([#2573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2573)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for version 2.4.0 of confluent_kafka - ([#2616](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2616)) -- `opentelemetry-instrumentation-asyncpg` Add instrumentation to cursor based queries - ([#2501](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2501)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for produce purge - ([#2638](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2638)) -- `opentelemetry-instrumentation-asgi` Implement new semantic convention opt-in with stable http semantic conventions - ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) -- `opentelemetry-instrumentation-fastapi` Implement new semantic convention opt-in with stable http semantic conventions - ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) -- `opentelemetry-instrumentation-httpx` Implement new semantic convention opt-in migration with stable http semantic conventions - ([#2631](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2631)) -- `opentelemetry-instrumentation-system-metrics` Permit to use psutil 6.0+. - ([#2630](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2630)) -- `opentelemetry-instrumentation-system-metrics` Add support for capture open file descriptors - ([#2652](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2652)) -- `opentelemetry-instrumentation-httpx` Add support for instrument client with proxy - ([#2664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2664)) -- `opentelemetry-instrumentation-aiohttp-client` Implement new semantic convention opt-in migration - ([#2673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2673)) -- `opentelemetry-instrumentation-django` Add `http.target` to Django duration metric attributes - ([#2624](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2624)) -- `opentelemetry-instrumentation-urllib3` Implement new semantic convention opt-in migration - ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) -- `opentelemetry-instrumentation-django` Implement new semantic convention opt-in with stable http semantic conventions - ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) -- `opentelemetry-instrumentation-urllib` Implement new semantic convention opt-in migration - ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) - -### Breaking changes - -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi`, `opentelemetry-instrumentation-starlette` Use `tracer` and `meter` of originating components instead of one from `asgi` middleware - ([#2580](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2580)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `asgi` middleware - ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` middleware - ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) -- `opentelemetry-instrumentation-urllib3` Populate `{method}` as `HTTP` on `_OTHER` methods for span name - ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` instrumentation - ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `django` middleware - ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) -- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `urllib` instrumentation - ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) -- `opentelemetry-instrumentation-httpx`, `opentelemetry-instrumentation-aiohttp-client`, - `opentelemetry-instrumentation-requests` Populate `{method}` as `HTTP` on `_OTHER` methods - ([#2726](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2726)) -- `opentelemetry-instrumentation-fastapi` Add dependency support for fastapi-slim - ([#2702](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2702)) -- `opentelemetry-instrumentation-urllib3` improve request_hook, replacing `headers` and `body` parameters with a single `request_info: RequestInfo` parameter that now contains the `method` and `url` ([#2711](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2711)) - -### Fixed - -- Handle `redis.exceptions.WatchError` as a non-error event in redis instrumentation - ([#2668](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2668)) -- `opentelemetry-instrumentation-httpx` Ensure httpx.get or httpx.request like methods are instrumented - ([#2538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2538)) -- Add Python 3.12 support - ([#2572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2572)) -- `opentelemetry-instrumentation-aiohttp-server`, `opentelemetry-instrumentation-httpx` Ensure consistently use of suppress_instrumentation utils - ([#2590](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2590)) -- Reference symbols from generated semantic conventions - ([#2611](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2611)) -- `opentelemetry-instrumentation-psycopg` Bugfix: Handle empty statement. - ([#2644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2644)) -- `opentelemetry-instrumentation-confluent-kafka` Confluent Kafka: Ensure consume span is ended when consumer is closed - ([#2640](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2640)) -- `opentelemetry-instrumentation-asgi` Fix generation of `http.target` and `http.url` attributes for ASGI apps - using sub apps - ([#2477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2477)) -- `opentelemetry-instrumentation-aws-lambda` Bugfix: AWS Lambda event source key incorrect for SNS in instrumentation library. - ([#2612](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2612)) -- `opentelemetry-instrumentation-asyncio` instrumented `asyncio.wait_for` properly raises `asyncio.TimeoutError` as expected - ([#2637](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2637)) -- `opentelemetry-instrumentation-django` Handle exceptions from request/response hooks - ([#2153](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2153)) -- `opentelemetry-instrumentation-asgi` Removed `NET_HOST_NAME` AND `NET_HOST_PORT` from active requests count attribute - ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) -- `opentelemetry-instrumentation-asgi` Bugfix: Middleware did not set status code attribute on duration metrics for non-recording spans. - ([#2627](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2627)) -- `opentelemetry-instrumentation-mysql` Add support for `mysql-connector-python` v9 - ([#2751](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2751)) - -## Version 1.25.0/0.46b0 (2024-05-31) - -### Breaking changes - -- Add return statement to Confluent kafka Producer poll() and flush() calls when instrumented by ConfluentKafkaInstrumentor().instrument_producer() ([#2527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2527)) -- Rename `type` attribute to `asgi.event.type` in `opentelemetry-instrumentation-asgi` - ([#2300](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2300)) -- Rename AwsLambdaInstrumentor span attributes `faas.id` to `cloud.resource_id`, `faas.execution` to `faas.invocation_id` - ([#2372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2372)) -- Drop support for instrumenting elasticsearch client < 6 - ([#2422](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2422)) -- `opentelemetry-instrumentation-wsgi` Add `http.method` to `span.name` - ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) -- `opentelemetry-instrumentation-flask` Add `http.method` to `span.name` - ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) -- Record repeated HTTP headers in lists, rather than a comma separate strings for ASGI based web frameworks - ([#2361](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2361)) -- ASGI, FastAPI, Starlette: provide both send and receive hooks with `scope` and `message` for internal spans -- ([#2546](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2546)) - -### Added - -- `opentelemetry-sdk-extension-aws` Register AWS resource detectors under the - `opentelemetry_resource_detector` entry point - ([#2382](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2382)) -- `opentelemetry-instrumentation-wsgi` Implement new semantic convention opt-in with stable http semantic conventions - ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) -- `opentelemetry-instrumentation-flask` Implement new semantic convention opt-in with stable http semantic conventions - ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) -- `opentelemetry-instrumentation-threading` Initial release for threading - ([#2253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2253)) -- `opentelemetry-instrumentation-pika` Instrumentation for `channel.consume()` (supported - only for global, non channel specific instrumentation) - ([#2397](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2397)) -- `opentelemetry-processor-baggage` Initial release - ([#2436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2436)) -- `opentelemetry-processor-baggage` Add baggage key predicate - ([#2535](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2535)) - -### Fixed - -- `opentelemetry-instrumentation-dbapi` Fix compatibility with Psycopg3 to extract libpq build version - ([#2500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2500)) -- `opentelemetry-instrumentation-grpc` AioClientInterceptor should propagate with a Metadata object - ([#2363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2363)) -- `opentelemetry-instrumentation-boto3sqs` Instrument Session and resource - ([#2161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2161)) -- `opentelemetry-instrumentation-aws-lambda` Fix exception handling for events with requestContext - ([#2418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2418)) -- Use sqlalchemy version in sqlalchemy commenter instead of opentelemetry library version - ([#2404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2404)) -- `opentelemetry-instrumentation-asyncio` Check for cancelledException in the future - ([#2461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2461)) -- Remove SDK dependency from opentelemetry-instrumentation-grpc - ([#2474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2474)) -- `opentelemetry-instrumentation-elasticsearch` Improved support for version 8 - ([#2420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2420)) -- `opentelemetry-instrumentation-elasticsearch` Disabling instrumentation with native OTel support enabled - ([#2524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2524)) -- `opentelemetry-instrumentation-asyncio` Check for **name** attribute in the coroutine - ([#2521](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2521)) -- `opentelemetry-instrumentation-requests` Fix wrong time unit for duration histogram - ([#2553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2553)) -- `opentelemetry-util-http` Preserve brackets around literal IPv6 hosts ([#2552](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2552)) -- `opentelemetry-util-redis` Fix net peer attribute for unix socket connection ([#2493](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2493)) - -## Version 1.24.0/0.45b0 (2024-03-28) - -### Added - -- `opentelemetry-instrumentation-psycopg` Async Instrumentation for psycopg 3.x - ([#2146](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2146)) - -### Fixed - -- `opentelemetry-instrumentation-celery` Allow Celery instrumentation to be installed multiple times - ([#2342](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2342)) -- Align gRPC span status codes to OTEL specification - ([#1756](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1756)) -- `opentelemetry-instrumentation-flask` Add importlib metadata default for deprecation warning flask version - ([#2297](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2297)) -- Ensure all http.server.duration metrics have the same description - ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2298)) -- Fix regression in httpx `request.url` not being of type `httpx.URL` after `0.44b0` - ([#2359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2359)) -- Avoid losing repeated HTTP headers - ([#2266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2266)) -- `opentelemetry-instrumentation-elasticsearch` Don't send bulk request body as db statement - ([#2355](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2355)) -- AwsLambdaInstrumentor sets `cloud.account.id` span attribute - ([#2367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2367)) - -### Added - -- `opentelemetry-instrumentation-fastapi` Add support for configuring header extraction via runtime constructor parameters - ([#2241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2241)) - -## Version 1.23.0/0.44b0 (2024-02-23) - -- Drop support for 3.7 - ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) -- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector - ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) -- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times - ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka - ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) -- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) - ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) -- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call - ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) -- AwsLambdaInstrumentor handles and re-raises function exception - ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245)) - -### Added - -- `opentelemetry-instrumentation-psycopg` Initial release for psycopg 3.x -- `opentelemetry-instrumentation-asgi` Add support for configuring ASGI middleware header extraction via runtime constructor parameters - ([#2026](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2026)) - -## Version 1.22.0/0.43b0 (2023-12-14) - -### Added - -- `opentelemetry-instrumentation-asyncio` Add support for asyncio - ([#1919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1943)) -- `opentelemetry-instrumentation` Added Otel semantic convention opt-in mechanism - ([#1987](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1987)) -- `opentelemetry-instrumentation-httpx` Fix mixing async and non async hooks - ([#1920](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1920)) -- `opentelemetry-instrumentation-requests` Implement new semantic convention opt-in with stable http semantic conventions - ([#2002](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2002)) -- `opentelemetry-instrument-grpc` Fix arity of context.abort for AIO RPCs - ([#2066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2066)) -- Consolidate instrumentation suppression mechanisms and fix bug in httpx instrumentation - ([#2061](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2061)) - -### Fixed - -- `opentelemetry-instrumentation-httpx` Remove URL credentials - ([#2020](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2020)) -- `opentelemetry-instrumentation-urllib`/`opentelemetry-instrumentation-urllib3` Fix metric descriptions to match semantic conventions - ([#1959](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1959)) -- `opentelemetry-resource-detector-azure` Added dependency for Cloud Resource ID attribute - ([#2072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2072)) - -## Version 1.21.0/0.42b0 (2023-11-01) - -### Added - -- `opentelemetry-instrumentation-aiohttp-server` Add instrumentor and auto instrumentation support for aiohttp-server - ([#1800](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1800)) -- `opentelemetry-instrumentation-botocore` Include SNS topic ARN as a span attribute with name `messaging.destination.name` to uniquely identify the SNS topic - ([#1995](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1995)) -- `opentelemetry-instrumentation-system-metrics` Add support for collecting process metrics - ([#1948](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1948)) -- Added schema_url (`"https://opentelemetry.io/schemas/1.11.0"`) to all metrics and traces - ([#1977](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1977)) - -### Fixed - -- `opentelemetry-instrumentation-aio-pika` and `opentelemetry-instrumentation-pika` Fix missing trace context propagation when trace not recording. - ([#1969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1969)) -- Fix version of Flask dependency `werkzeug` - ([#1980](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1980)) -- `opentelemetry-resource-detector-azure` Using new Cloud Resource ID attribute. - ([#1976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1976)) -- Do not collect `system.network.connections` by default on macOS which was causing exceptions in metrics collection. - ([#2008](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2008)) - -## Version 1.20.0/0.41b0 (2023-09-01) - -### Fixed - -- `opentelemetry-instrumentation-asgi` Fix UnboundLocalError local variable 'start' referenced before assignment - ([#1889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1889)) -- Fixed union typing error not compatible with Python 3.7 introduced in `opentelemetry-util-http`, fix tests introduced by patch related to sanitize method for wsgi - ([#1913](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1913)) -- `opentelemetry-instrumentation-celery` Unwrap Celery's `ExceptionInfo` errors and report the actual exception that was raised. ([#1863](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1863)) - -### Added - -- `opentelemetry-resource-detector-azure` Add resource detectors for Azure App Service and VM - ([#1901](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1901)) -- `opentelemetry-instrumentation-flask` Add support for Flask 3.0.0 - ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2013)) - -## Version 1.19.0/0.40b0 (2023-07-13) - -- `opentelemetry-instrumentation-asgi` Add `http.server.request.size` metric - ([#1867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1867)) - -### Fixed - -- `opentelemetry-instrumentation-django` Fix empty span name when using - `path("", ...)` ([#1788](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1788) -- Fix elastic-search instrumentation sanitization to support bulk queries - ([#1870](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1870)) -- Update falcon instrumentation to follow semantic conventions - ([#1824](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1824)) -- Fix sqlalchemy instrumentation wrap methods to accept sqlcommenter options - ([#1873](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1873)) -- Exclude background task execution from root server span in ASGI middleware - ([#1952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1952)) - -### Added - -- Add instrumentor support for cassandra and scylla - ([#1902](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1902)) -- Add instrumentor support for mysqlclient - ([#1744](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1744)) -- Fix async redis clients not being traced correctly - ([#1830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1830)) -- Make Flask request span attributes available for `start_span`. - ([#1784](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1784)) -- Fix falcon instrumentation's usage of Span Status to only set the description if the status code is ERROR. - ([#1840](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1840)) -- Instrument all httpx versions >= 0.18. - ([#1748](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1748)) -- Fix `Invalid type NoneType for attribute X (opentelemetry-instrumentation-aws-lambda)` error when some attributes do not exist - ([#1780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1780)) -- Add metric instrumentation for celery - ([#1679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1679)) -- `opentelemetry-instrumentation-asgi` Add `http.server.response.size` metric - ([#1789](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1789)) -- `opentelemetry-instrumentation-grpc` Allow gRPC connections via Unix socket - ([#1833](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1833)) -- Fix elasticsearch `Transport.perform_request` instrument wrap for elasticsearch >= 8 - ([#1810](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1810)) -- `opentelemetry-instrumentation-urllib3` Add support for urllib3 version 2 - ([#1879](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1879)) -- Add optional distro and configurator selection for auto-instrumentation - ([#1823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1823)) -- `opentelemetry-instrumentation-django` - Add option to add Opentelemetry middleware at specific position in middleware chain - ([#2912]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2912) - -### Added - -- `opentelemetry-instrumentation-kafka-python` Add instrumentation to `consume` method - ([#1786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1786)) - -## Version 1.18.0/0.39b0 (2023-05-10) - -- Update runtime metrics to follow semantic conventions - ([#1735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1735)) -- Add request and response hooks for GRPC instrumentation (client only) - ([#1706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1706)) -- Fix memory leak in SQLAlchemy instrumentation where disposed `Engine` does not get garbage collected - ([#1771](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1771)) -- `opentelemetry-instrumentation-pymemcache` Update instrumentation to support pymemcache >4 - ([#1764](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1764)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions of confluent_kafka - ([#1815](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1815)) - -### Added - -- Expand sqlalchemy pool.name to follow the semantic conventions - ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) -- Add `excluded_urls` functionality to `urllib` and `urllib3` instrumentations - ([#1733](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1733)) -- Make Django request span attributes available for `start_span`. - ([#1730](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1730)) -- Make ASGI request span attributes available for `start_span`. - ([#1762](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1762)) -- `opentelemetry-instrumentation-celery` Add support for anonymous tasks. - ([#1407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1407)) -- `opentelemetry-instrumentation-logging` Add `otelTraceSampled` to instrumetation-logging - ([#1773](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1773)) - -### Changed - -- `opentelemetry-instrumentation-botocore` now uses the AWS X-Ray propagator by default - ([#1741](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1741)) - -### Fixed - -- Fix redis db.statements to be sanitized by default - ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) -- Fix elasticsearch db.statement attribute to be sanitized by default - ([#1758](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1758)) -- Fix `AttributeError` when AWS Lambda handler receives a list event - ([#1738](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1738)) -- Fix `None does not implement middleware` error when there are no middlewares registered - ([#1766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1766)) -- Fix Flask instrumentation to only close the span if it was created by the same request context. - ([#1692](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1692)) - -### Changed - -- Update HTTP server/client instrumentation span names to comply with spec - ([#1759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1759)) - -## Version 1.17.0/0.38b0 (2023-03-22) - -### Added - -- Add connection attributes to sqlalchemy connect span - ([#1608](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1608)) -- Add support for enabling Redis sanitization from environment variable - ([#1690](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1690)) -- Add metrics instrumentation for sqlalchemy - ([#1645](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1645)) - -### Fixed - -- Fix Flask instrumentation to only close the span if it was created by the same thread. - ([#1654](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1654)) -- Fix confluent-kafka instrumentation by allowing Producer headers to be dict or list - ([#1655](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1655)) -- `opentelemetry-instrumentation-system-metrics` Fix initialization of the instrumentation class when configuration is provided - ([#1438](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1439)) -- Fix exception in Urllib3 when dealing with filelike body. - ([#1399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1399)) -- Fix httpx resource warnings - ([#1695](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1695)) - -### Changed - -- `opentelemetry-instrumentation-requests` Replace `name_callback` and `span_callback` with standard `response_hook` and `request_hook` callbacks - ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) - -## Version 1.16.0/0.37b0 (2023-02-17) - -### Added - -- Support `aio_pika` 9.x (([#1670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1670]) -- `opentelemetry-instrumentation-redis` Add `sanitize_query` config option to allow query sanitization. ([#1572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1572)) -- `opentelemetry-instrumentation-elasticsearch` Add optional db.statement query sanitization. - ([#1598](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1598)) -- `opentelemetry-instrumentation-celery` Record exceptions as events on the span. - ([#1573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1573)) -- Add metric instrumentation for urllib - ([#1553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1553)) -- `opentelemetry/sdk/extension/aws` Implement [`aws.ecs.*`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/cloud_provider/aws/ecs.md) and [`aws.logs.*`](https://opentelemetry.io/docs/reference/specification/resource/semantic_conventions/cloud_provider/aws/logs/) resource attributes in the `AwsEcsResourceDetector` detector when the ECS Metadata v4 is available - ([#1212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1212)) -- `opentelemetry-instrumentation-aio-pika` Support `aio_pika` 8.x - ([#1481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1481)) -- `opentelemetry-instrumentation-aws-lambda` Flush `MeterProvider` at end of function invocation. - ([#1613](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1613)) -- Fix aiohttp bug with unset `trace_configs` - ([#1592](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1592)) -- `opentelemetry-instrumentation-django` Allow explicit `excluded_urls` configuration through `instrument()` - ([#1618](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1618)) - -### Fixed - -- Fix TortoiseORM instrumentation `AttributeError: type object 'Config' has no attribute 'title'` - ([#1575](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1575)) -- Fix SQLAlchemy uninstrumentation - ([#1581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1581)) -- `opentelemetry-instrumentation-grpc` Fix code()/details() of \_OpentelemetryServicerContext. - ([#1578](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1578)) -- Fix aiopg instrumentation to work with aiopg < 2.0.0 - ([#1473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1473)) -- `opentelemetry-instrumentation-aws-lambda` Adds an option to configure `disable_aws_context_propagation` by - environment variable: `OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION` - ([#1507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1507)) -- Fix pymongo to collect the property DB_MONGODB_COLLECTION - ([#1555](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1555)) -- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter to correctly fetch values from carrier headers. - ([#1435](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1435)) -- mongo db - fix db statement capturing - ([#1512](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1512)) -- Add commit method for ConfluentKafkaInstrumentor's ProxiedConsumer - ([#1656](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1656)) - -## Version 1.15.0/0.36b0 (2022-12-10) - -- Add uninstrument test for sqlalchemy - ([#1471](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1471)) -- `opentelemetry-instrumentation-tortoiseorm` Initial release - ([#685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/685)) -- Add metric instrumentation for tornado - ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) -- `opentelemetry-instrumentation-aws-lambda` Add option to disable aws context propagation - ([#1466](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1466)) - -### Added - -- `opentelemetry-resource-detector-container` Add support resource detection of container properties. - ([#1584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1584)) -- `opentelemetry-instrumentation-pymysql` Add tests for commit() and rollback(). - ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) -- `opentelemetry-instrumentation-fastapi` Add support for regular expression matching and sanitization of HTTP headers. - ([#1403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1403)) -- `opentelemetry-instrumentation-botocore` add support for `messaging.*` in the sqs extension. - ([#1350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1350)) -- `opentelemetry-instrumentation-starlette` Add support for regular expression matching and sanitization of HTTP headers. - ([#1404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1404)) -- `opentelemetry-instrumentation-botocore` Add support for SNS `publish` and `publish_batch`. - ([#1409](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1409)) -- Strip leading comments from SQL queries when generating the span name. - ([#1434](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1434)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for the latest versions of the library. - ([#1468](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1468)) - -### Fixed - -- Fix bug in Urllib instrumentation - add status code to span attributes only if the status code is not None. - ([#1430](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1430)) -- `opentelemetry-instrumentation-aiohttp-client` Allow overriding of status in response hook. - ([#1394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1394)) -- `opentelemetry-instrumentation-pymysql` Fix dbapi connection instrument wrapper has no \_sock member. - ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) -- `opentelemetry-instrumentation-dbapi` Fix the check for the connection already being instrumented in instrument_connection(). - ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) -- Remove db.name attribute from Redis instrumentation - ([#1427](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1427)) -- `opentelemetry-instrumentation-asgi` Fix target extraction for duration metric - ([#1461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1461)) -- Add grpc.aio instrumentation to package entry points - ([#1442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1442)) -- Fix a bug in SQLAlchemy instrumentation - support disabling enable_commenter variable - ([#1440](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1440)) - -## Version 1.14.0/0.35b0 (2022-11-03) - -### Deprecated - -- `opentelemetry-distro` Deprecate `otlp_proto_grpc` and `otlp_proto_http` in favor of using - `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` as according to specifications - ([#1250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1250)) - -### Added - -- Capture common HTTP attributes from API Gateway proxy events in `opentelemetry-instrumentation-aws-lambda` - ([#1233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1233)) -- Add metric instrumentation for tornado - ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) -- `opentelemetry-instrumentation-django` Fixed bug where auto-instrumentation fails when django is installed and settings are not configured. - ([#1369](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1369)) -- `opentelemetry-instrumentation-system-metrics` add supports to collect system thread count. ([#1339](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1339)) -- `opentelemetry-exporter-richconsole` Fixing RichConsoleExpoter to allow multiple traces, fixing duplicate spans and include resources ([#1336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1336)) -- `opentelemetry-instrumentation-asgi` Add support for regular expression matching and sanitization of HTTP headers. - ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) -- `opentelemetry-instrumentation-asgi` metrics record target attribute (FastAPI only) - ([#1323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1323)) -- `opentelemetry-instrumentation-wsgi` Add support for regular expression matching and sanitization of HTTP headers. - ([#1402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1402)) -- Add support for py3.11 - ([#1415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1415)) -- `opentelemetry-instrumentation-django` Add support for regular expression matching and sanitization of HTTP headers. - ([#1411](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1411)) -- `opentelemetry-instrumentation-falcon` Add support for regular expression matching and sanitization of HTTP headers. - ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) -- `opentelemetry-instrumentation-flask` Add support for regular expression matching and sanitization of HTTP headers. - ([#1413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1413)) -- `opentelemetry-instrumentation-pyramid` Add support for regular expression matching and sanitization of HTTP headers. - ([#1414](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1414)) -- `opentelemetry-instrumentation-grpc` Add support for grpc.aio Clients and Servers - ([#1245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1245)) -- Add metric exporter for Prometheus Remote Write - ([#1359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1359)) - -### Fixed - -- Fix bug in Falcon instrumentation - ([#1377](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1377)) -- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter so it decodes the keys before returning them. - ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) -- `opentelemetry-instrumentation-asgi` Make ASGIGetter.get() compare all keys in a case insensitive manner. - ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) -- Use resp.text instead of resp.body for Falcon 3 to avoid a deprecation warning. - ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) - -## Version 1.13.0/0.34b0 (2022-09-26) - -- `opentelemetry-instrumentation-asyncpg` Fix high cardinality in the span name - ([#1324](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1324)) - -### Added - -- `opentelemetry-instrumentation-grpc` add supports to filter requests to instrument. - ([#1241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1241)) -- Flask sqlalchemy psycopg2 integration - ([#1224](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1224)) -- Add metric instrumentation in Falcon - ([#1230](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1230)) -- Add metric instrumentation in fastapi - ([#1199](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1199)) -- Add metric instrumentation in Pyramid - ([#1242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1242)) -- `opentelemetry-util-http` Add support for sanitizing HTTP header values. - ([#1253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1253)) -- Add metric instrumentation in starlette - ([#1327](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1327)) - -### Fixed - -- `opentelemetry-instrumentation-kafka-python`: wait for metadata - ([#1260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1260)) -- `opentelemetry-instrumentation-boto3sqs` Make propagation compatible with other SQS instrumentations, add 'messaging.url' span attribute, and fix missing package dependencies. - ([#1234](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1234)) -- `opentelemetry-instrumentation-pymongo` Change span names to not contain queries but only database name and command name - ([#1247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1247)) -- restoring metrics in django framework - ([#1208](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1208)) -- `opentelemetry-instrumentation-aiohttp-client` Fix producing additional spans with each newly created ClientSession -- ([#1246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1246)) -- Add \_is_opentelemetry_instrumented check in \_InstrumentedFastAPI class - ([#1313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1313)) -- Fix uninstrumentation of existing app instances in FastAPI - ([#1258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1258)) -- Fix uninstrumentation of existing app instances in falcon - ([#1341]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1341) - -## Version 1.12.0/0.33b0 (2022-08-08) - -- Adding multiple db connections support for django-instrumentation's sqlcommenter - ([#1187](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1187)) -- SQLCommenter semicolon bug fix - ([#1200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1200/files)) -- Adding sqlalchemy native tags in sqlalchemy commenter - ([#1206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1206)) -- Add psycopg2 native tags to sqlcommenter - ([#1203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1203)) - -### Added - -- `opentelemetry-instrumentation-redis` add support to instrument RedisCluster clients - ([#1177](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1177)) -- `opentelemetry-instrumentation-sqlalchemy` Added span for the connection phase ([#1133](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1133)) -- Add metric instrumentation in asgi - ([#1197](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1197)) -- Add metric instrumentation for flask - ([#1186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1186)) -- Add a test for asgi using NoOpTracerProvider - ([#1367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1367)) - -## [1.12.0rc2-0.32b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0rc2-0.32b0) - 2022-07-01 - -- Pyramid: Only categorize 500s server exceptions as errors - ([#1037](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1037)) - -### Fixed - -- Fix bug in system metrics by checking their configuration - ([#1129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1129)) -- Adding escape call to fix [auto-instrumentation not producing spans on Windows](https://github.com/open-telemetry/opentelemetry-python/issues/2703). - ([#1100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1100)) -- `opentelemetry-instrumentation-grpc` narrow protobuf dependency to exclude protobuf >= 4 - ([#1109](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1109)) -- cleanup type hints for textmap `Getter` and `Setter` classes -- Suppressing downstream HTTP instrumentation to avoid [extra spans](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/930) - ([#1116](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1116)) -- fixed typo in `system.network.io` metric configuration - ([#1135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1135)) - -### Added - -- `opentelemetry-instrumentation-aiohttp-client` Add support for optional custom trace_configs argument. - ([1079](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1079)) -- `opentelemetry-instrumentation-sqlalchemy` add support to instrument multiple engines - ([#1132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1132)) -- `opentelemetry-instrumentation-logging` add log hook support - ([#1117](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1117)) -- `opentelemetry-instrumentation-remoulade` Initial release - ([#1082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1082)) -- Added `opentelemetry-instrumention-confluent-kafka` - ([#1111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1111)) -- Set otlp-proto-grpc as the default metrics exporter for auto-instrumentation - ([#1127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1127)) -- Add metric instrumentation for WSGI - ([#1128](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1128)) -- Add metric instrumentation for Urllib3 - ([#1198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1198)) -- `opentelemetry-instrumentation-aio-pika` added RabbitMQ aio-pika module instrumentation. - ([#1095](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1095)) -- `opentelemetry-instrumentation-requests` Restoring metrics in requests - ([#1110](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1110)) -- Integrated sqlcommenter plugin into opentelemetry-instrumentation-django - ([#896](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/896)) - -## Version 1.12.0rc1/0.31b0 (2022-05-17) - -### Fixed - -- `opentelemetry-instrumentation-aiohttp-client` make span attributes available to sampler - ([#1072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1072)) -- `opentelemetry-instrumentation-aws-lambda` Fixed an issue - in some rare cases (API GW proxy integration test) - headers are set to None, breaking context propagators. - ([#1055](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1055)) -- Refactoring custom header collection API for consistency - ([#1064](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1064)) -- `opentelemetry-instrumentation-sqlalchemy` will correctly report `otel.library.name` - ([#1086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1086)) -- `opentelemetry-sdk-extension-aws` change timeout for AWS EC2 and EKS metadata requests from 1000 seconds and 2000 seconds to 1 second - -### Added - -- `opentelemetry-instrument` and `opentelemetry-bootstrap` now include a `--version` flag - ([#1065](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1065)) -- `opentelemetry-instrumentation-redis` now instruments asynchronous Redis clients, if the installed redis-py includes async support (>=4.2.0). - ([#1076](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1076)) -- `opentelemetry-instrumentation-boto3sqs` added AWS's SQS instrumentation. - ([#1081](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1081)) - -## Version 1.11.1/0.30b1 (2022-04-21) - -### Added - -- `opentelemetry-instrumentation-starlette` Capture custom request/response headers in span attributes - ([#1046](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1046)) - -### Fixed - -- Prune autoinstrumentation sitecustomize module directory from PYTHONPATH immediately - ([#1066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1066)) - -## Version 1.11.0/0.30b0 (2022-04-18) - -### Fixed - -- `opentelemetry-instrumentation-pyramid` Fixed which package is the correct caller in \_traced_init. - ([#830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/830)) -- `opentelemetry-instrumentation-tornado` Fix Tornado errors mapping to 500 - ([#1048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1048)) -- `opentelemetry-instrumentation-urllib` make span attributes available to sampler - ([1014](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1014)) -- `opentelemetry-instrumentation-flask` Fix non-recording span bug - ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) -- `opentelemetry-instrumentation-tornado` Fix non-recording span bug - ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) - -### Added - -- `opentelemetry-instrumentation-fastapi` Capture custom request/response headers in span attributes - ([#1032](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1032)) -- `opentelemetry-instrumentation-django` Capture custom request/response headers in span attributes - ([#1024](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1024)) -- `opentelemetry-instrumentation-asgi` Capture custom request/response headers in span attributes - ([#1004](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1004)) -- `opentelemetry-instrumentation-psycopg2` extended the sql commenter support of dbapi into psycopg2 - ([#940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/940)) -- `opentelemetry-instrumentation-falcon` Add support for falcon==1.4.1 - ([#1000](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1000)) -- `opentelemetry-instrumentation-falcon` Falcon: Capture custom request/response headers in span attributes - ([#1003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1003)) -- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including search target, replaces them with `` and puts the value in attribute `elasticsearch.target` - ([#1018](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1018)) -- `opentelemetry-instrumentation-pyramid` Handle non-HTTPException exceptions - ([#1001](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1001)) -- `opentelemetry-instrumentation-system-metrics` restore `SystemMetrics` instrumentation as `SystemMetricsInstrumentor` - ([#1012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1012)) -- `opentelemetry-instrumentation-pyramid` Pyramid: Capture custom request/response headers in span attributes - ([#1022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1022)) - -## Version 1.10.0/0.29b0 (2022-03-10) - -- `opentelemetry-instrumentation-wsgi` Capture custom request/response headers in span attributes - ([#925](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/925)) -- `opentelemetry-instrumentation-flask` Flask: Capture custom request/response headers in span attributes - ([#952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/952)) -- `opentelemetry-instrumentation-tornado` Tornado: Capture custom request/response headers in span attributes - ([#950](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/950)) - -### Added - -- `opentelemetry-instrumentation-aws-lambda` `SpanKind.SERVER` by default, add more cases for `SpanKind.CONSUMER` services. ([#926](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/926)) -- `opentelemetry-instrumentation-sqlalchemy` added experimental sql commenter capability - ([#924](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/924)) -- `opentelemetry-contrib-instrumentations` added new meta-package that installs all contrib instrumentations. - ([#681](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/681)) -- `opentelemetry-instrumentation-dbapi` add experimental sql commenter capability - ([#908](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/908)) -- `opentelemetry-instrumentation-requests` make span attribute available to samplers - ([#931](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/931)) -- `opentelemetry-datadog-exporter` add deprecation note to example. - ([#900](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/900)) - -### Fixed - -- `opentelemetry-instrumentation-dbapi` Changed the format of traceparent id. - ([#941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/941)) -- `opentelemetry-instrumentation-logging` retrieves service name defensively. - ([#890](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/890)) -- `opentelemetry-instrumentation-wsgi` WSGI: Conditionally create SERVER spans - ([#903](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/903)) -- `opentelemetry-instrumentation-falcon` Safer patching mechanism - ([#895](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/895)) -- `opentelemetry-instrumentation-kafka-python` Fix topic extraction - ([#949](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/949)) - -### Changed - -- `opentelemetry-instrumentation-pymemcache` should run against newer versions of pymemcache. - ([#935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/935)) - -## Version 1.9.1/0.28b1 (2022-01-29) - -### Fixed - -- `opentelemetry-instrumentation-pika` requires `packaging` dependency - -- `opentelemetry-instrumentation-tornado` Tornado: Conditionally create SERVER spans - ([#889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/889)) - -## Version 1.9.0/0.28b0 (2022-01-26) - -### Added - -- `opentelemetry-instrumentation-pyramid` Pyramid: Conditionally create SERVER spans - ([#869](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/869)) -- `opentelemetry-instrumentation-grpc` added `trailing_metadata` to \_OpenTelemetryServicerContext. - ([#871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/871)) -- `opentelemetry-instrumentation-asgi` now returns a `traceresponse` response header. - ([#817](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/817)) -- `opentelemetry-instrumentation-kafka-python` added kafka-python module instrumentation. - ([#814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/814)) -- `opentelemetry-instrumentation-falcon` Falcon: Conditionally create SERVER spans - ([#867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/867)) -- `opentelemetry-instrumentation-pymongo` now supports `pymongo v4` - ([#876](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/876)) - -- `opentelemetry-instrumentation-httpx` now supports versions higher than `0.19.0`. - ([#866](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/866)) - -### Fixed - -- `opentelemetry-instrumentation-django` Django: Conditionally create SERVER spans - ([#832](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/832)) -- `opentelemetry-instrumentation-flask` Flask: Conditionally create SERVER spans - ([#828](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/828)) -- `opentelemetry-instrumentation-celery` Celery: Support partial task time limit - ([#846](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/846)) -- `opentelemetry-instrumentation-asgi` ASGI: Conditionally create SERVER spans - ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/843)) -- `opentelemetry-instrumentation-django` Django: fix issue preventing detection of MIDDLEWARE_CLASSES -- `opentelemetry-instrumentation-sqlite3` Instrumentation now works with `dbapi2.connect` -- `opentelemetry-instrumentation-kafka` Kafka: safe kafka partition extraction - ([#872](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/872)) -- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Correct url filter input type - ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/864)) - -- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Remove `span_name` from docs - ([#857](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/857)) - -## Version 1.8.0/0.27b0 (2021-12-17) - -### Added - -- `opentelemetry-instrumentation-aws-lambda` Adds support for configurable flush timeout via `OTEL_INSTRUMENTATION_AWS_LAMBDA_FLUSH_TIMEOUT` property. ([#825](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/825)) -- `opentelemetry-instrumentation-pika` Adds support for versions between `0.12.0` to `1.0.0`. ([#837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/837)) - -### Fixed - -- `opentelemetry-instrumentation-urllib` Fixed an error on unexpected status values. - ([#823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/823)) - -- `opentelemetry-exporter-richconsole` Fixed attribute error on parentless spans. - ([#782](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/782)) - -- `opentelemetry-instrumentation-tornado` Add support instrumentation for Tornado 5.1.1 - ([#812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/812)) - -## Version 1.7.1/0.26b1 (2021-11-11) - -### Added - -- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - pkg metadata files (Part 1/2) - ([#739](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/739)) -- Add support for Python 3.10 - ([#742](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/742)) -- Pass in auto-instrumentation version to configurator - ([#783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/783)) -- `opentelemetry-instrumentation` Add `setuptools` to `install_requires` - ([#781](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/781)) -- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - Implementation (Part 2/2) - ([#777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/777)) -- `opentelemetry-instrumentation-pymongo` Add `request_hook`, `response_hook` and `failed_hook` callbacks passed as arguments to the instrument method - ([#793](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/793)) -- `opentelemetry-instrumentation-pymysql` Add support for PyMySQL 1.x series - ([#792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/792)) -- Add support for generic OTEL_PYTHON_EXCLUDED_URLS variable - ([#790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/790)) - -### Fixed - -- `opentelemetry-instrumentation-asgi` now explicitly depends on asgiref as it uses the package instead of instrumenting it. - ([#765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/765)) -- `opentelemetry-instrumentation-pika` now propagates context to basic_consume callback - ([#766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/766)) -- `opentelemetry-instrumentation-falcon` Dropped broken support for Python 3.4. - ([#774](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/774)) -- `opentelemetry-instrumentation-django` Fixed carrier usage on ASGI requests. - ([#767](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/767)) -- Don't set Span Status on 4xx http status code for SpanKind.SERVER spans - ([#776](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/776)) -- `opentelemetry-instrumentation-django` Fixed instrumentation and tests for all Django major versions. - ([#780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/780)) - -## Version 1.6.2/0.25b2 (2021-10-19) - -- `opentelemetry-instrumentation-sqlalchemy` Fix PostgreSQL instrumentation for Unix sockets - ([#761](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/761)) - -### Changed - -- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Release AWS Python SDK Extension as 2.0.1 and AWS Propagator as 1.0.1 - ([#753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/753)) -- `opentelemetry-instrumentation-pika` Add `_decorate_basic_consume` to ensure post instrumentation `basic_consume` calls are also instrumented. - ([#759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/759)) -- Consolidate instrumentation documentation in docstrings - ([#754](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/754)) - -### Fixed - -- `opentelemetry-distro` uses the correct entrypoint name which was updated in the core release of 1.6.0 but the distro was not updated with it - ([#755](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/755)) - -### Added - -- `opentelemetry-instrumentation-pika` Add `publish_hook` and `consume_hook` callbacks passed as arguments to the instrument method - ([#763](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/763)) - -## Version 1.6.1/0.25b1 (2021-10-18) - -### Changed - -- `opentelemetry-util-http` no longer contains an instrumentation entrypoint and will not be loaded - automatically by the auto instrumentor. - ([#745](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/745)) -- `opentelemetry-instrumentation-pika` Bugfix use properties.headers. It will prevent the header injection from raising. - ([#740](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/740)) -- `opentelemetry-instrumentation-botocore` Add extension for DynamoDB - ([#735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/735)) -- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Remove unnecessary dependencies on `opentelemetry-test` - ([#752](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/752)) -- `opentelemetry-instrumentation-botocore` Add Lambda extension - ([#760](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/760)) - -## Version 1.6.0/0.25b0 (2021-10-13) - -### Added - -- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 - ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) -- `opentelemetry-instrumentation-urllib3`, `opentelemetry-instrumentation-requests` - The `net.peer.ip` attribute is set to the IP of the connected HTTP server or proxy - using a new instrumentor in `opententelemetry-util-http` - ([#661](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/661)) -- `opentelemetry-instrumentation-pymongo` Add check for suppression key in PyMongo. - ([#736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/736)) -- `opentelemetry-instrumentation-elasticsearch` Added `response_hook` and `request_hook` callbacks - ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) -- `opentelemetry-instrumentation-redis` added request_hook and response_hook callbacks passed as arguments to the instrument method. - ([#669](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/669)) -- `opentelemetry-instrumentation-botocore` add `request_hook` and `response_hook` callbacks - ([679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/679)) -- `opentelemetry-exporter-richconsole` Initial release - ([#686](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/686)) -- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including document IDs, replaces them with `:id` and puts the value in attribute `elasticsearch.id` - ([#705](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/705)) -- `opentelemetry-instrumentation-tornado` now sets `http.client_ip` and `tornado.handler` attributes - ([#706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/706)) -- `opentelemetry-instrumentation-requests` added exclude urls functionality - ([#714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/714)) -- `opentelemetry-instrumentation-django` Add ASGI support - ([#391](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/391)) - -### Changed - -- `opentelemetry-instrumentation-flask` Fix `RuntimeError: Working outside of request context` - ([#734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/734)) -- `opentelemetry-propagators-aws-xray` Rename `AwsXRayFormat` to `AwsXRayPropagator` - ([#729](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/729)) -- `opentelemetry-instrumentation-sqlalchemy` Respect provided tracer provider when instrumenting SQLAlchemy - ([#728](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/728)) -- `opentelemetry-sdk-extension-aws` Move AWS X-Ray Propagator into its own `opentelemetry-propagators-aws` package - ([#720](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/720)) -- `opentelemetry-instrumentation-sqlalchemy` Added `packaging` dependency - ([#713](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/713)) -- `opentelemetry-instrumentation-jinja2` Allow instrumentation of newer Jinja2 versions. - ([#712](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/712)) -- `opentelemetry-instrumentation-botocore` Make common span attributes compliant with semantic conventions - ([#674](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/674)) -- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 - ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) -- `opentelemetry-instrumentation-botocore` Unpatch botocore Endpoint.prepare_request on uninstrument - ([#664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/664)) -- `opentelemetry-instrumentation-botocore` Fix span injection for lambda invoke - ([#663](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/663)) -- `opentelemetry-instrumentation-botocore` Introduce instrumentation extensions - ([#718](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/718)) -- `opentelemetry-instrumentation-urllib3` Updated `_RequestHookT` with two additional fields - the request body and the request headers - ([#660](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/660)) -- Tests for Falcon 3 support - ([#644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/644)) - -## Version 1.5.0/0.24b0 (2021-08-26) - -### Added - -- `opentelemetry-sdk-extension-aws` Add AWS resource detectors to extension package - ([#586](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/586)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-aiohttp-client`, `openetelemetry-instrumentation-fastapi`, - `opentelemetry-instrumentation-starlette`, `opentelemetry-instrumentation-urllib`, `opentelemetry-instrumentation-urllib3` Added `request_hook` and `response_hook` callbacks - ([#576](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/576)) -- `opentelemetry-instrumentation-pika` added RabbitMQ's pika module instrumentation. - ([#680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/680)) - -### Changed - -- `opentelemetry-instrumentation-fastapi` Allow instrumentation of newer FastAPI versions. - ([#602](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/602)) -- Enable explicit `excluded_urls` argument in `opentelemetry-instrumentation-flask` - ([#604](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/604)) - -## Version 1.4.0/0.23b0 (2021-07-21) - -### Removed - -- Move `opentelemetry-instrumentation` to the core repo. - ([#595](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/595)) - -### Changed - -- `opentelemetry-instrumentation-falcon` added support for Falcon 3. - ([#607](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/607)) -- `opentelemetry-instrumentation-tornado` properly instrument work done in tornado on_finish method. - ([#499](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/499)) -- `opentelemetry-instrumentation` Fixed cases where trying to use an instrumentation package without the - target library was crashing auto instrumentation agent. - ([#530](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/530)) -- Fix weak reference error for pyodbc cursor in SQLAlchemy instrumentation. - ([#469](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/469)) -- Implemented specification that HTTP span attributes must not contain username and password. - ([#538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/538)) -- Changed the psycopg2-binary to psycopg2 as dependency in production - ([#543](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/543)) -- Implement consistent way of checking if instrumentation is already active - ([#549](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/549)) -- Require aiopg to be less than 1.3.0 - ([#560](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/560)) -- `opentelemetry-instrumentation-django` Migrated Django middleware to new-style. - ([#533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/533)) -- Updating dependency for opentelemetry api/sdk packages to support major version instead - of pinning to specific versions. - ([#567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/567)) -- `opentelemetry-instrumentation-grpc` Respect the suppress instrumentation in gRPC client instrumentor - ([#559](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/559)) -- `opentelemetry-instrumentation-grpc` Fixed asynchronous unary call traces - ([#536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/536)) -- `opentelemetry-sdk-extension-aws` Update AWS entry points to match spec - ([#566](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/566)) -- Include Flask 2.0 as compatible with existing flask instrumentation - ([#545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/545)) -- `openelemetry-sdk-extension-aws` Take a dependency on `opentelemetry-sdk` - ([#558](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/558)) -- Change `opentelemetry-instrumentation-httpx` to replace `client` classes with instrumented versions. - ([#577](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/577)) -- `opentelemetry-instrumentation-requests` Fix potential `AttributeError` when `requests` - is used with a custom transport adapter. - ([#562](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/562)) -- `opentelemetry-instrumentation-django` Fix AttributeError: ResolverMatch object has no attribute route - ([#581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/581)) -- `opentelemetry-instrumentation-botocore` Suppress botocore downstream instrumentation like urllib3 - ([#563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/563)) -- `opentelemetry-exporter-datadog` Datadog exporter should not use `unknown_service` as fallback resource service name. - ([#570](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/570)) -- Add support for the async extension of SQLAlchemy (>= 1.4) - ([#568](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/568)) - -### Added - -- `opentelemetry-instrumentation-httpx` Add `httpx` instrumentation - ([#461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/461)) - -## Version 1.3.0/0.22b0 (2021-06-01) - -### Changed - -- `opentelemetry-bootstrap` not longer forcibly removes and re-installs libraries and their instrumentations. - This means running bootstrap will not auto-upgrade existing dependencies and as a result not cause dependency - conflicts. - ([#514](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/514)) -- `opentelemetry-instrumentation-asgi` Set the response status code on the server span - ([#478](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/478)) -- `opentelemetry-instrumentation-tornado` Fixed cases where description was used with non- - error status code when creating Status objects. - ([#504](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/504)) -- `opentelemetry-instrumentation-asgi` Fix instrumentation default span name. - ([#418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/418)) -- Propagators use the root context as default for `extract` and do not modify - the context if extracting from carrier does not work. - ([#488](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/488)) - -### Added - -- `opentelemetry-instrumentation-botocore` now supports - context propagation for lambda invoke via Payload embedded headers. - ([#458](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/458)) -- Added support for CreateKey functionality. - ([#502](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/502)) - -## Version 1.2.0/0.21b0 (2021-05-11) - -### Changed - -- Instrumentation packages don't specify the libraries they instrument as dependencies - anymore. Instead, they verify the correct version of libraries are installed at runtime. - ([#475](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/475)) -- `opentelemetry-propagator-ot-trace` Use `TraceFlags` object in `extract` - ([#472](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/472)) -- Set the `traced_request_attrs` of FalconInstrumentor by an argument correctly. - ([#473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/473)) -- Enable passing explicit urls to exclude in instrumentation in FastAPI - ([#486](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/486)) -- Distros can now implement `load_instrumentor(EntryPoint)` method to customize instrumentor - loading behaviour. - ([#480](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/480)) -- Fix entrypoint for ottrace propagator - ([#492](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/492)) - -### Added - -- Move `opentelemetry-instrumentation` from core repository - ([#465](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/465)) - -## Version 0.20b0 (2021-04-20) - -### Changed - -- Restrict DataDog exporter's `ddtrace` dependency to known working versions. - ([#400](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/400)) -- GRPC instrumentation now correctly injects trace context into outgoing requests. - ([#392](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/39)) -- Publish `opentelemetry-propagator-ot-trace` package as a part of the release process - ([#387](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/387)) -- Update redis instrumentation to follow semantic conventions - ([#403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/403)) -- Update instrumentations to use tracer_provider for creating tracer if given, otherwise use global tracer provider - ([#402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/402)) -- `opentelemetry-instrumentation-wsgi` Replaced `name_callback` with `request_hook` - and `response_hook` callbacks. - ([#424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/424)) -- Update gRPC instrumentation to better wrap server context - ([#420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/420)) -- `opentelemetry-instrumentation-redis` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) - ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) -- `opentelemetry-instrumentation-asyncpg` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) - ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) - -### Added - -- `opentelemetry-instrumentation-urllib3` Add urllib3 instrumentation - ([#299](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/299)) - -- `opentelemetry-instrumentation-flask` Added `request_hook` and `response_hook` callbacks. - ([#416](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/416)) - -- `opentelemetry-instrumenation-django` now supports request and response hooks. - ([#407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/407)) -- `opentelemetry-instrumentation-falcon` FalconInstrumentor now supports request/response hooks. - ([#415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/415)) -- `opentelemetry-instrumentation-tornado` Add request/response hooks. - ([#426](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/426)) -- `opentelemetry-exporter-datadog` Add parsing exception events for error tags. - ([#459](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/459)) -- `opentelemetry-instrumenation-django` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-tornado` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-pyramid` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-falcon` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumenation-flask` now supports trace response headers. - ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) -- `opentelemetry-instrumentation-grpc` Keep client interceptor in sync with grpc client interceptors. - ([#442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/442)) - -### Removed - -- Remove `http.status_text` from span attributes - ([#406](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/406)) - -## Version 0.19b0 (2021-03-26) - -- Implement context methods for `_InterceptorChannel` - ([#363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/363)) - -### Changed - -- Rename `IdsGenerator` to `IdGenerator` - ([#350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/350)) -- `opentelemetry-exporter-datadog` Fix warning when DatadogFormat encounters a request with - no DD_ORIGIN headers ([#368](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/368)). -- `opentelemetry-instrumentation-aiopg` Fix multiple nested spans when - `aiopg.pool` is used - ([#336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/381)). -- Updated instrumentations to use `opentelemetry.trace.use_span` instead of `Tracer.use_span()` - ([#364](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/364)) -- `opentelemetry-propagator-ot-trace` Do not throw an exception when headers are not present - ([#378](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/378)) -- `opentelemetry-instrumentation-wsgi` Reimplement `keys` method to return actual keys from the carrier instead of an empty list. - ([#379](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/379)) -- `opentelemetry-instrumentation-sqlalchemy` Fix multithreading issues in recording spans from SQLAlchemy - ([#315](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/315)) -- Make getters and setters optional - ([#372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/372)) - -### Removed - -- Removing support for Python 3.5 - ([#374](https://github.com/open-telemetry/opentelemetry-python/pull/374)) - -## Version 0.18b0 (2021-02-16) - -### Added - -- `opentelemetry-propagator-ot-trace` Add OT Trace Propagator - ([#302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/302)) -- `opentelemetry-instrumentation-logging` Added logging instrumentation to enable log - trace correlation. - ([#345](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/345)) - -### Removed - -- Remove `component` span attribute in instrumentations. - `opentelemetry-instrumentation-aiopg`, `opentelemetry-instrumentation-dbapi` Remove unused `database_type` parameter from `trace_integration` function. - ([#301](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/301)) -- `opentelemetry-instrumentation-asgi` Return header values using case insensitive keys - ([#308](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/308)) -- Remove metrics from all instrumentations - ([#312](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/312)) -- `opentelemetry-instrumentation-boto` updated to set span attributes instead of overriding the resource. - ([#310](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/310)) -- `opentelemetry-instrumentation-grpc` Fix issue tracking child spans in streaming responses - ([#260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/260)) -- `opentelemetry-instrumentation-grpc` Updated client attributes, added tests, fixed examples, docs - ([#269](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/269)) - -## Version 0.17b0 (2021-01-20) - -### Added - -- `opentelemetry-instrumentation-sqlalchemy` Ensure spans have kind set to "CLIENT" - ([#278](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/278)) -- `opentelemetry-instrumentation-celery` Add support for Celery version 5.x - ([#266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/266)) -- `opentelemetry-instrumentation-urllib` Add urllib instrumentation - ([#222](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/222)) -- `opentelemetry-exporter-datadog` Add fields method - ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) -- `opentelemetry-sdk-extension-aws` Add method to return fields injected by propagator - ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) -- `opentelemetry-exporter-prometheus-remote-write` Prometheus Remote Write Exporter Setup - ([#180](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/180)) -- `opentelemetry-exporter-prometheus-remote-write` Add Exporter constructor validation methods in Prometheus Remote Write Exporter - ([#206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/206)) -- `opentelemetry-exporter-prometheus-remote-write` Add conversion to TimeSeries methods in Prometheus Remote Write Exporter - ([#207](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/207)) -- `opentelemetry-exporter-prometheus-remote-write` Add request methods to Prometheus Remote Write Exporter - ([#212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/212)) -- `opentelemetry-instrumentation-fastapi` Added support for excluding some routes with env var `OTEL_PYTHON_FASTAPI_EXCLUDED_URLS` - ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) -- `opentelemetry-instrumentation-starlette` Added support for excluding some routes with env var `OTEL_PYTHON_STARLETTE_EXCLUDED_URLS` - ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) -- Add Prometheus Remote Write Exporter integration tests in opentelemetry-docker-tests - ([#216](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/216)) -- `opentelemetry-instrumentation-grpc` Add tests for grpc span attributes, grpc `abort()` conditions - ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) -- Add README and example app for Prometheus Remote Write Exporter - ([#227](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/227])) -- `opentelemetry-instrumentation-botocore` Adds a field to report the number of retries it take to complete an API call - ([#275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/275)) -- `opentelemetry-instrumentation-requests` Use instanceof to check if responses are valid Response objects - ([#273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/273)) - -### Changed - -- Fix broken links to project ([#413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/413)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-wsgi` Return `None` for `CarrierGetter` if key not found - ([#233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/233)) -- `opentelemetry-instrumentation-grpc` Comply with updated spec, rework tests - ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) -- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-falcon`, `opentelemetry-instrumentation-flask`, `opentelemetry-instrumentation-pyramid`, `opentelemetry-instrumentation-wsgi` Renamed `host.port` attribute to `net.host.port` - ([#242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/242)) -- `opentelemetry-instrumentation-flask` Do not emit a warning message for request contexts created with `app.test_request_context` - ([#253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/253)) -- `opentelemetry-instrumentation-requests`, `opentelemetry-instrumentation-urllib` Fix span name callback parameters - ([#259](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/259)) -- `opentelemetry-exporter-datadog` Fix unintentional type change of span trace flags - ([#261](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/261)) -- `opentelemetry-instrumentation-aiopg` Fix AttributeError `__aexit__` when `aiopg.connect` and `aio[g].create_pool` used with async context manager - ([#235](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/235)) -- `opentelemetry-exporter-datadog` `opentelemetry-sdk-extension-aws` Fix reference to ids_generator in sdk - ([#283](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/283)) -- `opentelemetry-instrumentation-sqlalchemy` Use SQL operation and DB name as span name. - ([#254](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/254)) -- `opentelemetry-instrumentation-dbapi`, `TracedCursor` replaced by `CursorTracer` - ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) -- `opentelemetry-instrumentation-psycopg2`, Added support for psycopg2 registered types. - ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) -- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-mysql`, `opentelemetry-instrumentation-pymysql`, `opentelemetry-instrumentation-aiopg` Use SQL command name as the span operation name instead of the entire query. - ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) -- Update TraceState to adhere to specs - ([#276](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/276)) - -### Removed - -- Remove Configuration - ([#285](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/285)) - -## Version 0.16b1 (2020-11-26) - -## Version 0.16b0 (2020-11-25) - -### Added - -- `opentelemetry-instrumentation-flask` Add span name callback - ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/152)) -- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Ids Generator Entry Point - ([#201](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/201)) -- `opentelemetry-sdk-extension-aws` Fix typo for installing OTel SDK in docs - ([#200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/200)) -- `opentelemetry-sdk-extension-aws` Import missing components for docs - ([#198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/198)) -- `opentelemetry-sdk-extension-aws` Provide components needed to Configure OTel SDK for Tracing with AWS X-Ray - ([#130](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/130)) -- `opentelemetry-instrumentation-sklearn` Initial release - ([#151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/151)) -- `opentelemetry-instrumentation-requests` Add span name callback - ([#158](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/158)) -- `opentelemetry-instrumentation-botocore` Add propagator injection for botocore calls - ([#181](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/181)) - -### Changed - -- `opentelemetry-instrumentation-pymemcache` Update pymemcache instrumentation to follow semantic conventions - ([#183](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/183)) -- `opentelemetry-instrumentation-redis` Update redis instrumentation to follow semantic conventions - ([#184](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/184)) -- `opentelemetry-instrumentation-pymongo` Update pymongo instrumentation to follow semantic conventions - ([#203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/203)) -- `opentelemetry-instrumentation-sqlalchemy` Update sqlalchemy instrumentation to follow semantic conventions - ([#202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/202)) -- `opentelemetry-instrumentation-botocore` Make botocore instrumentation check if instrumentation has been suppressed - ([#182](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/182)) -- `opentelemetry-instrumentation-botocore` Botocore SpanKind as CLIENT and modify existing traced attributes - ([#150](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/150)) -- `opentelemetry-instrumentation-dbapi` Update dbapi and its dependent instrumentations to follow semantic conventions - ([#195](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/195)) -- `opentelemetry-instrumentation-dbapi` Stop capturing query parameters by default - ([#156](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/156)) -- `opentelemetry-instrumentation-asyncpg` Update asyncpg instrumentation to follow semantic conventions - ([#188](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/188)) -- `opentelemetry-instrumentation-grpc` Update protobuf versions - ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) - -## Version 0.15b0 (2020-11-02) - -### Added - -- `opentelemetry-instrumentation-requests` Add support for tracking http metrics - ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) -- `opentelemetry-instrumentation-django` Added capture of http.route - ([#1226](https://github.com/open-telemetry/opentelemetry-python/issues/1226)) -- `opentelemetry-instrumentation-django` Add support for tracking http metrics - ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) - -### Changed - -- `opentelemetry-exporter-datadog` Make `SpanProcessor.on_start` accept parent Context - ([#1251](https://github.com/open-telemetry/opentelemetry-python/pull/1251)) -- `opentelemetry-instrumentation-flask` Use `url.rule` instead of `request.endpoint` for span name - ([#1260](https://github.com/open-telemetry/opentelemetry-python/pull/1260)) -- `opentelemetry-instrumentation-django` Django instrumentation is now enabled by default but can be disabled by setting `OTEL_PYTHON_DJANGO_INSTRUMENT` to `False` - ([#1239](https://github.com/open-telemetry/opentelemetry-python/pull/1239)) -- `opentelemetry-instrumentation-django` Bugfix use request.path replace request.get_full_path(). It will get correct span name - ([#1309](https://github.com/open-telemetry/opentelemetry-python/pull/1309#)) -- `opentelemetry-instrumentation-django` Record span status and http.status_code attribute on exception - ([#1257](https://github.com/open-telemetry/opentelemetry-python/pull/1257)) -- `opentelemetry-instrumentation-grpc` Rewrite gRPC server interceptor - ([#1171](https://github.com/open-telemetry/opentelemetry-python/pull/1171)) - -## Version 0.14b0 (2020-10-13) - -### Added - -- `opentelemetry-exporter-datadog` Add support for span resource labels and service name -- `opentelemetry-instrumentation-celery` Span operation names now include the task type. - ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) -- `opentelemetry-instrumentation-celery` Added automatic context propagation. - ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) -- `opentelemetry-instrumentation-falcon` Added support for `OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS` - ([#1158](https://github.com/open-telemetry/opentelemetry-python/pull/1158)) -- `opentelemetry-instrumentation-tornado` Added support for `OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS` - ([#1178](https://github.com/open-telemetry/opentelemetry-python/pull/1178)) -- `opentelemetry-instrumentation-django` Added support for `OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS` - ([#1154](https://github.com/open-telemetry/opentelemetry-python/pull/1154)) - -### Changed - -- `opentelemetry-instrumentation-pymongo` Cast PyMongo commands as strings - ([#1132](https://github.com/open-telemetry/opentelemetry-python/pull/1132)) -- `opentelemetry-instrumentation-system-metrics` Fix issue when specific metrics are not available in certain OS - ([#1207](https://github.com/open-telemetry/opentelemetry-python/pull/1207)) -- `opentelemetry-instrumentation-pymysql` Bumped version from 0.9.3 to 0.10.1 - ([#1228](https://github.com/open-telemetry/opentelemetry-python/pull/1228)) -- `opentelemetry-instrumentation-django` Changed span name extraction from request to comply semantic convention - ([#992](https://github.com/open-telemetry/opentelemetry-python/pull/992)) - -## Version 0.13b0 (2020-09-17) - -### Added - -- `opentelemetry-instrumentation-falcon` Initial release. Added instrumentation for Falcon 2.0+ -- `opentelemetry-instrumentation-tornado` Initial release. Supports Tornado 6.x on Python 3.5 and newer. -- `opentelemetry-instrumentation-aiohttp-client` Add instrumentor and auto instrumentation support for aiohttp - ([#1075](https://github.com/open-telemetry/opentelemetry-python/pull/1075)) -- `opentelemetry-instrumentation-requests` Add support for instrumenting prepared requests - ([#1040](https://github.com/open-telemetry/opentelemetry-python/pull/1040)) -- `opentelemetry-instrumentation-requests` Add support for http metrics - ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116)) - -### Changed - -- `opentelemetry-instrumentation-aiohttp-client` Updating span name to match semantic conventions - ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) -- `opentelemetry-instrumentation-dbapi` cursors and connections now produce spans when used with context managers - ([#1028](https://github.com/open-telemetry/opentelemetry-python/pull/1028)) - -### Removed - -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) - -## Version 0.12b0 (2020-08-14) - -### Changed - -- `opentelemetry-ext-pymemcache` Change package name to opentelemetry-instrumentation-pymemcache - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-redis` Update default SpanKind to `SpanKind.CLIENT` - ([#965](https://github.com/open-telemetry/opentelemetry-python/pull/965)) -- `opentelemetry-ext-redis` Change package name to opentelemetry-instrumentation-redis - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-datadog` Change package name to opentelemetry-exporter-datadog - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) -- `opentelemetry-ext-jinja2` Change package name to opentelemetry-instrumentation-jinja2 - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-elasticsearch` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-elasticsearch` Change package name to opentelemetry-instrumentation-elasticsearch - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-celery` Change package name to opentelemetry-instrumentation-celery - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-pyramid` Change package name to opentelemetry-instrumentation-pyramid - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-pyramid` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-pymongo` Change package name to opentelemetry-instrumentation-pymongo - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-sqlite3` Change package name to opentelemetry-instrumentation-sqlite3 - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-sqlalchemy` Change package name to opentelemetry-instrumentation-sqlalchemy - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-psycopg2` Change package name to opentelemetry-instrumentation-psycopg2 - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-aiohttp-client` Change package name to opentelemetry-instrumentation-aiohttp-client - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-boto` Change package name to opentelemetry-instrumentation-boto - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-system-metrics` Change package name to opentelemetry-instrumentation-system-metrics - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-asgi` Change package name to opentelemetry-instrumentation-asgi - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-wsgi` Change package name to opentelemetry-instrumentation-wsgi - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-pymysql` Change package name to opentelemetry-instrumentation-pymysql - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-requests` Change package name to opentelemetry-instrumentation-requests - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-requests` Span name reported updated to follow semantic conventions to reduce - cardinality ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) -- `opentelemetry-ext-botocore` Change package name to opentelemetry-instrumentation-botocore - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) -- `opentelemetry-ext-dbapi` Change package name to opentelemetry-instrumentation-dbapi - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-flask` Change package name to opentelemetry-instrumentation-flask - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-flask` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-django` Change package name to opentelemetry-instrumentation-django - ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) -- `opentelemetry-ext-django` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- `opentelemetry-ext-asyncpg` Change package name to opentelemetry-instrumentation-asyncpg - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-mysql` Change package name to opentelemetry-instrumentation-mysql - ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) -- `opentelemetry-ext-grpc` Change package name to opentelemetry-instrumentation-grpc - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) - -## Version 0.11b0 (2020-07-28) - -### Added - -- `opentelemetry-instrumentation-aiopg` Initial release -- `opentelemetry-instrumentation-fastapi` Initial release - ([#890](https://github.com/open-telemetry/opentelemetry-python/pull/890)) -- `opentelemetry-ext-grpc` Add status code to gRPC client spans - ([896](https://github.com/open-telemetry/opentelemetry-python/pull/896)) -- `opentelemetry-ext-grpc` Add gRPC client and server instrumentors - ([788](https://github.com/open-telemetry/opentelemetry-python/pull/788)) -- `opentelemetry-ext-grpc` Add metric recording (bytes in/out, errors, latency) to gRPC client - -### Changed - -- `opentelemetry-ext-pyramid` Use one general exclude list instead of two - ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) -- `opentelemetry-ext-boto` fails to export spans via jaeger - ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) -- `opentelemetry-ext-botocore` fails to export spans via jaeger - ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) -- `opentelemetry-ext-wsgi` Set span status on wsgi errors - ([#864](https://github.com/open-telemetry/opentelemetry-python/pull/864)) -- `opentelemetry-ext-flask` Use one general exclude list instead of two - ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) -- `opentelemetry-ext-django` Use one general exclude list instead of two - ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) -- `opentelemetry-ext-asyncpg` Shouldn't capture query parameters by default - ([#854](https://github.com/open-telemetry/opentelemetry-python/pull/854)) -- `opentelemetry-ext-mysql` bugfix: Fix auto-instrumentation entry point for mysql - ([#858](https://github.com/open-telemetry/opentelemetry-python/pull/858)) - -## Version 0.10b0 (2020-06-23) - -### Added - -- `opentelemetry-ext-pymemcache` Initial release -- `opentelemetry-ext-elasticsearch` Initial release -- `opentelemetry-ext-celery` Add instrumentation for Celery - ([#780](https://github.com/open-telemetry/opentelemetry-python/pull/780)) -- `opentelemetry-instrumentation-starlette` Initial release - ([#777](https://github.com/open-telemetry/opentelemetry-python/pull/777)) -- `opentelemetry-ext-asyncpg` Initial Release - ([#814](https://github.com/open-telemetry/opentelemetry-python/pull/814)) - -## Version 0.9b0 (2020-06-10) - -### Added - -- `opentelemetry-ext-pyramid` Initial release -- `opentelemetry-ext-boto` Initial release -- `opentelemetry-ext-botocore` Initial release -- `opentelemetry-ext-system-metrics` Initial release - (https://github.com/open-telemetry/opentelemetry-python/pull/652) - -## Version 0.8b0 (2020-05-27) - -### Added - -- `opentelemetry-ext-datadog` Add exporter to Datadog - ([#572](https://github.com/open-telemetry/opentelemetry-python/pull/572)) -- `opentelemetry-ext-sqlite3` Initial release -- `opentelemetry-ext-psycopg2` Implement instrumentor interface, enabling auto-instrumentation - ([#694](https://github.com/open-telemetry/opentelemetry-python/pull/694)) -- `opentelemetry-ext-asgi` Add ASGI middleware - ([#716](https://github.com/open-telemetry/opentelemetry-python/pull/716)) -- `opentelemetry-ext-django` Add exclude list for paths and hosts to prevent from tracing - ([#670](https://github.com/open-telemetry/opentelemetry-python/pull/670)) -- `opentelemetry-ext-django` Add support for django >= 1.10 (#717) - -### Changed - -- `opentelemetry-ext-grpc` lint: version of grpc causes lint issues - ([#696](https://github.com/open-telemetry/opentelemetry-python/pull/696)) - -## Version 0.7b1 (2020-05-12) - -### Added - -- `opentelemetry-ext-redis` Initial release -- `opentelemetry-ext-jinja2` Add jinja2 instrumentation - ([#643](https://github.com/open-telemetry/opentelemetry-python/pull/643)) -- `opentelemetry-ext-pymongo` Implement instrumentor interface - ([#612](https://github.com/open-telemetry/opentelemetry-python/pull/612)) -- `opentelemetry-ext-sqlalchemy` Initial release -- `opentelemetry-ext-aiohttp-client` Initial release -- `opentelemetry-ext-pymysql` Initial release -- `opentelemetry-ext-http-requests` Implement instrumentor interface, enabling auto-instrumentation - ([#597](https://github.com/open-telemetry/opentelemetry-python/pull/597)) -- `opentelemetry-ext-http-requests` Adding disable_session for more granular instrumentation control - ([#573](https://github.com/open-telemetry/opentelemetry-python/pull/573)) -- `opentelemetry-ext-http-requests` Add a callback for custom attributes - ([#656](https://github.com/open-telemetry/opentelemetry-python/pull/656)) -- `opentelemetry-ext-dbapi` Implement instrument_connection and uninstrument_connection - ([#624](https://github.com/open-telemetry/opentelemetry-python/pull/624)) -- `opentelemetry-ext-flask` Add exclude list for paths and hosts - ([#630](https://github.com/open-telemetry/opentelemetry-python/pull/630)) -- `opentelemetry-ext-django` Initial release -- `opentelemetry-ext-mysql` Implement instrumentor interface - ([#654](https://github.com/open-telemetry/opentelemetry-python/pull/654)) - -### Changed - -- `opentelemetry-ext-http-requests` Rename package to opentelemetry-ext-requests - ([#619](https://github.com/open-telemetry/opentelemetry-python/pull/619)) - -## Version 0.6b0 (2020-03-30) - -### Added - -- `opentelemetry-ext-flask` Add an entry_point to be usable in auto-instrumentation - ([#327](https://github.com/open-telemetry/opentelemetry-python/pull/327)) -- `opentelemetry-ext-grpc` Add gRPC integration - ([#476](https://github.com/open-telemetry/opentelemetry-python/pull/476)) - -## Version 0.5b0 (2020-03-16) - -## Version 0.4a0 (2020-02-21) - -### Added - -- `opentelemetry-ext-psycopg2` Initial release -- `opentelemetry-ext-dbapi` Initial release -- `opentelemetry-ext-mysql` Initial release - -### Changed - -- `opentelemetry-ext-pymongo` Updating network connection attribute names - ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) -- `opentelemetry-ext-wsgi` Updating network connection attribute names - ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) -- `opentelemetry-ext-flask` Use string keys for WSGI environ values - ([#366](https://github.com/open-telemetry/opentelemetry-python/pull/366)) - -## Version 0.3a0 (2019-12-11) - -### Added - -- `opentelemetry-ext-flask` Initial release -- `opentelemetry-ext-pymongo` Initial release - -### Changed - -- `opentelemetry-ext-wsgi` Support new semantic conventions - ([#299](https://github.com/open-telemetry/opentelemetry-python/pull/299)) -- `opentelemetry-ext-wsgi` Updates for core library changes - -## Version 0.2a0 (2019-10-29) - -### Changed - -- `opentelemetry-ext-wsgi` Updates for core library changes -- `opentelemetry-ext-http-requests` Updates for core library changes - -- `Added support for PyPy3` Initial release - -## [#1033](https://github.com/open-telemetryopentelemetry-python-contrib/issues/1033) - -## Version 0.1a0 (2019-09-30) - -### Added - -- `opentelemetry-ext-wsgi` Initial release -- `opentelemetry-ext-http-requests` Initial release - -- Drop support for 3.7 - ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) -- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector - ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) -- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times - ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) -- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka - ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) -- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) - ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) -- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call - ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) -- AwsLambdaInstrumentor handles and re-raises function exception ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245)) +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +> [!NOTE] +> The following components are released independently and maintain individual CHANGELOG files. +> Use [this search for a list of all CHANGELOG.md files in this repo](https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-python-contrib+path%3A**%2FCHANGELOG.md&type=code). + +## Unreleased + +### Fixed + +- `opentelemetry-instrumentation-dbapi`: fix crash retrieving libpq version when enabling commenter with psycopg + ([#3796](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3796)) + +### Added + +- `opentelemetry-instrumentation-taskiq`: New instrumentation for `taskiq` + ([#3832](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3832)) +- `opentelemetry-instrumentation`: botocore: Add support for AWS Secrets Manager semantic convention attribute + ([#3765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3765)) +- Add `rstcheck` to pre-commit to stop introducing invalid RST + ([#3777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3777)) +- `opentelemetry-exporter-credential-provider-gcp`: create this package which provides support for supplying your machine's Application Default Credentials (https://cloud.google.com/docs/authentication/application-default-credentials) to the OTLP Exporters created automatically by OpenTelemetry Python's auto instrumentation. These credentials authorize OTLP traces to be sent to `telemetry.googleapis.com`. +[#3766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3766). + +## Version 1.37.0/0.58b0 (2025-09-11) + +### Fixed + +- `opentelemetry-instrumentation-fastapi`: Fix middleware ordering to cover all exception handling use cases. + ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) +- `opentelemetry-instrumentation-asgi`: Make all user hooks failsafe and record exceptions in hooks. + ([#3664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3664)) +- `opentelemetry-instrumentation-fastapi`: Fix memory leak in `uninstrument_app()` by properly removing apps from the tracking set + ([#3688](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3688)) +- `opentelemetry-instrumentation-tornado` Fix server (request) duration metric calculation + ([#3679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3679)) +- `opentelemetry-instrumentation-tornado`: Fix to properly skip all server telemetry when URL excluded. + ([#3680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3680)) +- `opentelemetry-instrumentation`: Avoid calls to `context.detach` with `None` token. + ([#3673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3673)) +- `opentelemetry-instrumentation-starlette`/`opentelemetry-instrumentation-fastapi`: Fixes a crash when host-based routing is used + ([#3507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3507)) +- Fix documentation order of sections and headers for Django, Flask, MySQL, mysqlclient, psycopg, psycopg2, pymysql, sqlalchemy instrumentations. + ([#3719](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3719)) +- `opentelemetry-instrumentation-asgi` Fixed an issue where FastAPI reports IP instead of URL. + ([#3670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3670)) +- `opentelemetry-instrumentation-httpx`: fix missing metric response attributes when tracing is disabled + ([#3615](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3615)) +- `opentelemetry-instrumentation-fastapi`: Don't pass bounded server_request_hook when using `FastAPIInstrumentor.instrument()` + ([#3701](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3701)) + +### Added + +- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.11.0 + ([#3685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3685)) +- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collected_objects` and `cpython.gc.uncollectable_objects` metrics + ([#3666](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3666)) +- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Remote Sampler with initial Rules Poller implementation + ([#3366](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3366)) +- `opentelemetry-instrumentation`: add support for `OTEL_PYTHON_AUTO_INSTRUMENTATION_EXPERIMENTAL_GEVENT_PATCH` to inform opentelemetry-instrument about gevent monkeypatching + ([#3699](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3699)) +- `opentelemetry-instrumentation`: botocore: Add support for AWS Step Functions semantic convention attributes + ([#3737](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3737)) +- `opentelemetry-instrumentation-botocore`: Add support for SNS semantic convention attribute aws.sns.topic.arn + ([#3734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3734)) +- `opentelemetry-instrumentation`: botocore: upgrade moto package from 5.0.9 to 5.1.11 + ([#3736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3736)) + +## Version 1.36.0/0.57b0 (2025-07-29) + +### Fixed + +- `opentelemetry-instrumentation`: Fix dependency conflict detection when instrumented packages are not installed by moving check back to before instrumentors are loaded. Add "instruments-any" feature for instrumentations that target multiple packages. + ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) +- infra(ci): Fix git pull failures in core contrib test + ([#3357](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3357)) + +### Added + +- `opentelemetry-instrumentation-psycopg2` Utilize instruments-any functionality. + ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) +- `opentelemetry-instrumentation-kafka-python` Utilize instruments-any functionality. + ([#3610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3610)) +- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collections` metrics with collection unit is specified in semconv ([3617](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3617)) + +## Version 1.35.0/0.56b0 (2025-07-11) + +### Added + +- `opentelemetry-instrumentation-pika` Added instrumentation for All `SelectConnection` adapters + ([#3584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3584)) +- `opentelemetry-instrumentation-tornado` Add support for `WebSocketHandler` instrumentation + ([#3498](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3498)) +- `opentelemetry-util-http` Added support for redacting specific url query string values and url credentials in instrumentations + ([#3508](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3508)) +- `opentelemetry-instrumentation-pymongo` `aggregate` and `getMore` capture statements support + ([#3601](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3601)) + +### Fixed + +- `opentelemetry-instrumentation-asgi`: fix excluded_urls in instrumentation-asgi + ([#3567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3567)) +- `opentelemetry-resource-detector-containerid`: make it more quiet on platforms without cgroups + ([#3579](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3579)) + +## Version 1.34.0/0.55b0 (2025-06-04) + +### Fixed + +- `opentelemetry-instrumentation-system-metrics`: fix loading on Google Cloud Run + ([#3533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3533)) +- `opentelemetry-instrumentation-fastapi`: fix wrapping of middlewares + ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) +- `opentelemetry-instrumentation-starlette` Remove max version constraint on starlette + ([#3456](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3456)) +- `opentelemetry-instrumentation-starlette` Fix memory leak and double middleware + ([#3529](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3529)) +- `opentelemetry-instrumentation-urllib3`: proper bucket boundaries in stable semconv http duration metrics + ([#3518](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3518)) +- `opentelemetry-instrumentation-urllib`: proper bucket boundaries in stable semconv http duration metrics + ([#3519](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3519)) +- `opentelemetry-instrumentation-falcon`: proper bucket boundaries in stable semconv http duration + ([#3525](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3525)) +- `opentelemetry-instrumentation-wsgi`: add explicit http duration buckets for stable semconv + ([#3527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3527)) +- `opentelemetry-instrumentation-asgi`: add explicit http duration buckets for stable semconv + ([#3526](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3526)) +- `opentelemetry-instrumentation-flask`: proper bucket boundaries in stable semconv http duration + ([#3523](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3523)) +- `opentelemetry-instrumentation-django`: proper bucket boundaries in stable semconv http duration + ([#3524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3524)) +- `opentelemetry-instrumentation-grpc`: support non-list interceptors + ([#3520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3520)) +- `opentelemetry-instrumentation-botocore` Ensure spans end on early stream closure for Bedrock Streaming APIs + ([#3481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3481)) +- `opentelemetry-instrumentation-sqlalchemy` Respect suppress_instrumentation functionality + ([#3477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3477)) +- `opentelemetry-instrumentation-botocore`: fix handling of tool input in Bedrock ConverseStream + ([#3544](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3544)) +- `opentelemetry-instrumentation-botocore` Add type check when extracting tool use from Bedrock request message content + ([#3548](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3548)) +- `opentelemetry-instrumentation-dbapi` Respect suppress_instrumentation functionality ([#3460](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3460)) +- `opentelemetry-resource-detector-container` Correctly parse container id when using systemd and cgroupsv1 + ([#3429](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3429)) + +### Breaking changes + +- `opentelemetry-instrumentation-botocore` Use `cloud.region` instead of `aws.region` span attribute as per semantic conventions. + ([#3474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3474)) +- `opentelemetry-instrumentation-fastapi`: Drop support for FastAPI versions earlier than `0.92` + ([#3012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3012)) +- `opentelemetry-resource-detector-container`: rename package name to `opentelemetry-resource-detector-containerid` + ([#3536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3536)) + +### Added + +- `opentelemetry-instrumentation-aiohttp-client` Add support for HTTP metrics + ([#3517](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3517)) +- `opentelemetry-instrumentation-httpx` Add support for HTTP metrics + ([#3513](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3513)) +- `opentelemetry-instrumentation` Allow re-raising exception when instrumentation fails + ([#3545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3545)) +- `opentelemetry-instrumentation-aiokafka` Add instrumentation of `consumer.getmany` (batch) + ([#3257](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3257)) + +### Deprecated + +- Drop support for Python 3.8, bump baseline to Python 3.9. + ([#3399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3399)) + +## Version 1.33.0/0.54b0 (2025-05-09) + +### Added + +- `opentelemetry-instrumentation-requests` Support explicit_bucket_boundaries_advisory in duration metrics + ([#3464](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3464)) +- `opentelemetry-instrumentation-redis` Add support for redis client-specific instrumentation. + ([#3143](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3143)) + +### Fixed + +- `opentelemetry-instrumentation` Catch `ModuleNotFoundError` when the library is not installed + and log as debug instead of exception + ([#3423](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3423)) +- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation + ([#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)) +- `opentelemetry-instrumentation-botocore` Add GenAI instrumentation for additional Bedrock models for InvokeModel API + ([#3419](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3419)) +- `opentelemetry-instrumentation` don't print duplicated conflict log error message + ([#3432](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3432)) +- `opentelemetry-instrumentation-grpc` Check for None result in gRPC + ([#3380](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3381)) +- `opentelemetry-instrumentation-[asynclick/click]` Add missing opentelemetry-instrumentation dep + ([#3447](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3447)) +- `opentelemetry-instrumentation-botocore` Capture server attributes for botocore API calls + ([#3448](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3448)) + +## Version 1.32.0/0.53b0 (2025-04-10) + +### Added + +- `opentelemetry-instrumentation-asyncclick`: new instrumentation to trace asyncclick commands + ([#3319](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3319)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events using Amazon Nova models and `InvokeModel*` APIs + ([#3385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3385)) +- `opentelemetry-instrumentation` Make auto instrumentation use the same dependency resolver as manual instrumentation does + ([#3202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3202)) + +### Fixed + +- `opentelemetry-instrumentation` Fix client address is set to server address in new semconv + ([#3354](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3354)) +- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-django`, + `opentelemetry-instrumentation-sqlalchemy`: Fix sqlcomment for non string query and composable object. + ([#3113](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3113)) +- `opentelemetry-instrumentation-grpc` Fix error when using gprc versions <= 1.50.0 with unix sockets. + ([[#3393](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3393)]) +- `opentelemetry-instrumentation-asyncio` Fix duplicate instrumentation. + ([[#3383](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/3383)]) +- `opentelemetry-instrumentation-aiokafka` Fix send_and_wait method no headers kwargs error. + ([[#3332](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3332)]) + +## Version 1.31.0/0.52b0 (2025-03-12) + +### Added + +- `opentelemetry-instrumentation-openai-v2` Update doc for OpenAI Instrumentation to support OpenAI Compatible Platforms + ([#3279](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3279)) +- `opentelemetry-instrumentation-system-metrics` Add `process` metrics and deprecated `process.runtime` prefixed ones + ([#3250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3250)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI user events and lazy initialize tracer + ([#3258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3258)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI system events + ([#3266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3266)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI choice events + ([#3275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3275)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI tool events + ([#3302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3302)) +- `opentelemetry-instrumentation-botocore` Add support for GenAI metrics + ([#3326](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3326)) +- `opentelemetry-instrumentation` make it simpler to initialize auto-instrumentation programmatically + ([#3273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3273)) +- Add `opentelemetry-instrumentation-vertexai>=2.0b0` to `opentelemetry-bootstrap` + ([#3307](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3307)) +- Loosen `opentelemetry-instrumentation-starlette[instruments]` specifier + ([#3304](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3304)) + +### Fixed + +- `opentelemetry-instrumentation-redis` Add missing entry in doc string for `def _instrument` + ([#3247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3247)) +- `opentelemetry-instrumentation-botocore` sns-extension: Change destination name attribute + to match topic ARN and redact phone number from attributes + ([#3249](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3249)) +- `opentelemetry-instrumentation-asyncpg` Fix fallback for empty queries. + ([#3253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3253)) +- `opentelemetry-instrumentation` Fix a traceback in sqlcommenter when psycopg connection pooling is enabled. + ([#3309](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3309)) +- `opentelemetry-instrumentation-threading` Fix broken context typehints + ([#3322](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3322)) +- `opentelemetry-instrumentation-requests` always record span status code in duration metric + ([#3323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3323)) + +## Version 1.30.0/0.51b0 (2025-02-03) + +### Added + +- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.7.0 + ([#3100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3100)) +- Add support to database stability opt-in in `_semconv` utilities and add tests + ([#3111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3111)) +- `opentelemetry-instrumentation-urllib` Add `py.typed` file to enable PEP 561 + ([#3131](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3131)) +- `opentelemetry-opentelemetry-pymongo` Add `py.typed` file to enable PEP 561 + ([#3136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3136)) +- `opentelemetry-opentelemetry-requests` Add `py.typed` file to enable PEP 561 + ([#3135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3135)) +- `opentelemetry-instrumentation-system-metrics` Add `py.typed` file to enable PEP 561 + ([#3132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3132)) +- `opentelemetry-opentelemetry-sqlite3` Add `py.typed` file to enable PEP 561 + ([#3133](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3133)) +- `opentelemetry-instrumentation-falcon` add support version to v4 + ([#3086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3086)) +- `opentelemetry-instrumentation-falcon` Implement new HTTP semantic convention opt-in for Falcon + ([#2790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2790)) +- `opentelemetry-instrumentation-wsgi` always record span status code to have it available in metrics + ([#3148](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3148)) +- add support to Python 3.13 + ([#3134](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3134)) +- `opentelemetry-opentelemetry-wsgi` Add `py.typed` file to enable PEP 561 + ([#3129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3129)) +- `opentelemetry-util-http` Add `py.typed` file to enable PEP 561 + ([#3127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3127)) +- `opentelemetry-instrumentation-psycopg2` Add support for psycopg2-binary + ([#3186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3186)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock Converse API + ([#3161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3161)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModel API + ([#3200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3200)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock ConverseStream API + ([#3204](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3204)) +- `opentelemetry-opentelemetry-botocore` Add basic support for GenAI attributes for AWS Bedrock InvokeModelWithStreamResponse API + ([#3206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3206)) +- `opentelemetry-instrumentation-pymssql` Add pymssql instrumentation + ([#394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/394)) +- `opentelemetry-instrumentation-mysql` Add sqlcommenter support + ([#3163](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3163)) + +### Fixed + +- `opentelemetry-instrumentation-httpx` Fix `RequestInfo`/`ResponseInfo` type hints + ([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105)) +- `opentelemetry-instrumentation-dbapi` Move `TracedCursorProxy` and `TracedConnectionProxy` to the module level + ([#3068](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3068)) +- `opentelemetry-instrumentation-click` Disable tracing of well-known server click commands + ([#3174](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3174)) +- `opentelemetry-instrumentation` Fix `get_dist_dependency_conflicts` if no distribution requires + ([#3168](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3168)) + +### Breaking changes + +- `opentelemetry-exporter-prometheus-remote-write` updated protobuf required version from 4.21 to 5.26 and regenerated protobufs + ([#3219](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3219)) +- `opentelemetry-instrumentation-sqlalchemy` including sqlcomment in `db.statement` span attribute value is now opt-in + ([#3112](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3112)) +- `opentelemetry-instrumentation-dbapi` including sqlcomment in `db.statement` span attribute value is now opt-in + ([#3115](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3115)) +- `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-psycopg`, `opentelemetry-instrumentation-mysqlclient`, `opentelemetry-instrumentation-pymysql`: including sqlcomment in `db.statement` span attribute value is now opt-in + ([#3121](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3121)) + +## Version 1.29.0/0.50b0 (2024-12-11) + +### Added + +- `opentelemetry-instrumentation-starlette` Add type hints to the instrumentation + ([#3045](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3045)) +- `opentelemetry-distro` default to OTLP log exporter. + ([#3042](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3042)) +- `opentelemetry-instrumentation-sqlalchemy` Update unit tests to run with SQLALchemy 2 + ([#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976)) +- Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap` + ([#2996](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2996)) +- `opentelemetry-instrumentation-sqlalchemy` Add sqlcomment to `db.statement` attribute + ([#2937](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2937)) +- `opentelemetry-instrumentation-dbapi` Add sqlcomment to `db.statement` attribute + ([#2935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2935)) +- `opentelemetry-instrumentation-dbapi` instrument_connection accepts optional connect_module + ([#3027](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3027)) +- `opentelemetry-instrumentation-mysqlclient` Add sqlcommenter support + ([#2941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2941)) +- `opentelemetry-instrumentation-pymysql` Add sqlcommenter support + ([#2942](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2942)) +- `opentelemetry-instrumentation-click`: new instrumentation to trace click commands + ([#2994](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2994)) + +### Fixed + +- `opentelemetry-instrumentation-starlette`: Retrieve `meter_provider` key instead of `_meter_provider` on `_instrument` + ([#3048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3048)) +- `opentelemetry-instrumentation-httpx`: instrument_client is a static method again + ([#3003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3003)) +- `opentelemetry-instrumentation-system_metrics`: fix callbacks reading wrong config + ([#3025](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3025)) +- `opentelemetry-instrumentation-httpx`: Check if mount transport is none before wrap it + ([#3022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3022)) +- Replace all instrumentor unit test `assertEqualSpanInstrumentationInfo` calls with `assertEqualSpanInstrumentationScope` calls + ([#3037](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3037)) +- `opentelemetry-instrumentation-sqlalchemy` Fixes engines from `sqlalchemy.engine_from_config` not being fully instrumented + ([#2816](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2816)) +- `opentelemetry-instrumentation-sqlalchemy`: Fix a remaining memory leak in EngineTracer + ([#3053](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3053)) +- `opentelemetry-instrumentation-sqlite3`: Update documentation on explicit cursor support of tracing + ([#3088](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3088)) + +### Breaking changes + +- `opentelemetry-instrumentation-sqlalchemy` teach instruments version + ([#2971](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2971)) +- Drop `opentelemetry-instrumentation-test` package from default instrumentation list + ([#2969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2969)) +- `opentelemetry-instrumentation-httpx`: remove private unused `_InstrumentedClient` and `_InstrumentedAsyncClient` classes + ([#3036](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3036)) + +## Version 1.28.0/0.49b0 (2024-11-05) + +### Added + +- `opentelemetry-instrumentation-openai-v2` Instrumentation for OpenAI >= 0.27.0 + ([#2759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2759)) +- `opentelemetry-instrumentation-fastapi` Add autoinstrumentation mechanism tests. + ([#2860](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2860)) +- `opentelemetry-instrumentation-aiokafka` Add instrumentor and auto instrumentation support for aiokafka + ([#2082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2082)) +- `opentelemetry-instrumentation-redis` Add additional attributes for methods create_index and search, rename those spans + ([#2635](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2635)) +- `opentelemetry-instrumentation` Add support for string based dotted module paths in unwrap + ([#2919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2919)) + +### Fixed + +- `opentelemetry-instrumentation-aiokafka` Wrap `AIOKafkaConsumer.getone()` instead of `AIOKafkaConsumer.__anext__` + ([#2874](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2874)) +- `opentelemetry-instrumentation-confluent-kafka` Fix to allow `topic` to be extracted from `kwargs` in `produce()` + ([#2901])(https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2901) +- `opentelemetry-instrumentation-system-metrics` Update metric units to conform to UCUM conventions. + ([#2922](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2922)) +- `opentelemetry-instrumentation-celery` Don't detach context without a None token + ([#2927](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2927)) +- `opentelemetry-exporter-prometheus-remote-write`: sort labels before exporting + ([#2940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2940)) +- `opentelemetry-instrumentation-dbapi` sqlcommenter key values created from PostgreSQL, MySQL systems + ([#2897](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2897)) +- `opentelemetry-instrumentation-system-metrics`: don't report open file descriptors on Windows + ([#2946](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2946)) + +### Breaking changes + +- Deprecation of pkg_resource in favor of importlib.metadata + ([#2871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2871)) +- `opentelemetry-instrumentation` Don't fail distro loading if instrumentor raises ImportError, instead skip them + ([#2923](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2923)) +- `opentelemetry-instrumentation-httpx` Rewrote instrumentation to use wrapt instead of subclassing + ([#2909](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2909)) + +## Version 1.27.0/0.48b0 (2024-08-28) + +### Added + +- `opentelemetry-instrumentation-kafka-python` Instrument temporary fork, kafka-python-ng inside kafka-python's instrumentation + ([#2537](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2537)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi` Add ability to disable internal HTTP send and receive spans + ([#2802](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2802)) +- `opentelemetry-instrumentation-asgi` Add fallback decoding for ASGI headers + ([#2837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2837)) + +### Breaking changes + +- `opentelemetry-bootstrap` Remove `opentelemetry-instrumentation-aws-lambda` from the defaults instrumentations + ([#2786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2786)) + +### Fixed + +- `opentelemetry-instrumentation-httpx` fix handling of async hooks + ([#2823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2823)) +- `opentelemetry-instrumentation-system-metrics` fix `process.runtime.cpu.utilization` values to be shown in range of 0 to 1 + ([#2812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2812)) +- `opentelemetry-instrumentation-fastapi` fix `fastapi` auto-instrumentation by removing `fastapi-slim` support, `fastapi-slim` itself is discontinued from maintainers + ([#2783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2783)) +- `opentelemetry-instrumentation-aws-lambda` Avoid exception when a handler is not present. + ([#2750](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2750)) +- `opentelemetry-instrumentation-django` Fix regression - `http.target` re-added back to old semconv duration metrics + ([#2746](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2746)) +- `opentelemetry-instrumentation-asgi` do not set `url.full` attribute for server spans + ([#2735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2735)) +- `opentelemetry-instrumentation-grpc` Fixes the issue with the gRPC instrumentation not working with the 1.63.0 and higher version of gRPC + ([#2483](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2484)) +- `opentelemetry-instrumentation-aws-lambda` Fixing w3c baggage support + ([#2589](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2589)) +- `opentelemetry-instrumentation-celery` propagates baggage + ([#2385](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2385)) +- `opentelemetry-instrumentation-asyncio` Fixes async generator coroutines not being awaited + ([#2792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2792)) +- `opentelemetry-instrumentation-tornado` Handle http client exception and record exception info into span + ([#2563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2563)) +- `opentelemetry-instrumentation` fix `http.host` new http semantic convention mapping to depend on `kind` of span + ([#2814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2814)) +- `opentelemetry-instrumentation` Fix the description of `http.server.duration` and `http.server.request.duration` + ([#2753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2753)) +- `opentelemetry-instrumentation-grpc` Fix grpc supported version + ([#2845](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2845)) +- `opentelemetry-instrumentation-asyncio` fix `AttributeError` in + `AsyncioInstrumentor.trace_to_thread` when `func` is a `functools.partial` instance + ([#2911](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2911)) + +## Version 1.26.0/0.47b0 (2024-07-23) + +### Added + +- `opentelemetry-instrumentation-flask` Add `http.route` and `http.target` to metric attributes + ([#2621](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2621)) +- `opentelemetry-instrumentation-aws-lambda` Enable global propagator for AWS instrumentation + ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) +- `opentelemetry-instrumentation-sklearn` Deprecated the sklearn instrumentation + ([#2708](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2708)) +- `opentelemetry-instrumentation-pyramid` Record exceptions raised when serving a request + ([#2622](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2622)) +- `opentelemetry-sdk-extension-aws` Add AwsXrayLambdaPropagator + ([#2573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2573)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for version 2.4.0 of confluent_kafka + ([#2616](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2616)) +- `opentelemetry-instrumentation-asyncpg` Add instrumentation to cursor based queries + ([#2501](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2501)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for produce purge + ([#2638](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2638)) +- `opentelemetry-instrumentation-asgi` Implement new semantic convention opt-in with stable http semantic conventions + ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) +- `opentelemetry-instrumentation-fastapi` Implement new semantic convention opt-in with stable http semantic conventions + ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) +- `opentelemetry-instrumentation-httpx` Implement new semantic convention opt-in migration with stable http semantic conventions + ([#2631](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2631)) +- `opentelemetry-instrumentation-system-metrics` Permit to use psutil 6.0+. + ([#2630](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2630)) +- `opentelemetry-instrumentation-system-metrics` Add support for capture open file descriptors + ([#2652](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2652)) +- `opentelemetry-instrumentation-httpx` Add support for instrument client with proxy + ([#2664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2664)) +- `opentelemetry-instrumentation-aiohttp-client` Implement new semantic convention opt-in migration + ([#2673](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2673)) +- `opentelemetry-instrumentation-django` Add `http.target` to Django duration metric attributes + ([#2624](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2624)) +- `opentelemetry-instrumentation-urllib3` Implement new semantic convention opt-in migration + ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) +- `opentelemetry-instrumentation-django` Implement new semantic convention opt-in with stable http semantic conventions + ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) +- `opentelemetry-instrumentation-urllib` Implement new semantic convention opt-in migration + ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) + +### Breaking changes + +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-fastapi`, `opentelemetry-instrumentation-starlette` Use `tracer` and `meter` of originating components instead of one from `asgi` middleware + ([#2580](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2580)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `asgi` middleware + ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` middleware + ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) +- `opentelemetry-instrumentation-urllib3` Populate `{method}` as `HTTP` on `_OTHER` methods for span name + ([#2715](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2715)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `fastapi` instrumentation + ([#2682](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2682)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `django` middleware + ([#2714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2714)) +- Populate `{method}` as `HTTP` on `_OTHER` methods from scope for `urllib` instrumentation + ([#2736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2736)) +- `opentelemetry-instrumentation-httpx`, `opentelemetry-instrumentation-aiohttp-client`, + `opentelemetry-instrumentation-requests` Populate `{method}` as `HTTP` on `_OTHER` methods + ([#2726](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2726)) +- `opentelemetry-instrumentation-fastapi` Add dependency support for fastapi-slim + ([#2702](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2702)) +- `opentelemetry-instrumentation-urllib3` improve request_hook, replacing `headers` and `body` parameters with a single `request_info: RequestInfo` parameter that now contains the `method` and `url` ([#2711](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2711)) + +### Fixed + +- Handle `redis.exceptions.WatchError` as a non-error event in redis instrumentation + ([#2668](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2668)) +- `opentelemetry-instrumentation-httpx` Ensure httpx.get or httpx.request like methods are instrumented + ([#2538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2538)) +- Add Python 3.12 support + ([#2572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2572)) +- `opentelemetry-instrumentation-aiohttp-server`, `opentelemetry-instrumentation-httpx` Ensure consistently use of suppress_instrumentation utils + ([#2590](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2590)) +- Reference symbols from generated semantic conventions + ([#2611](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2611)) +- `opentelemetry-instrumentation-psycopg` Bugfix: Handle empty statement. + ([#2644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2644)) +- `opentelemetry-instrumentation-confluent-kafka` Confluent Kafka: Ensure consume span is ended when consumer is closed + ([#2640](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2640)) +- `opentelemetry-instrumentation-asgi` Fix generation of `http.target` and `http.url` attributes for ASGI apps + using sub apps + ([#2477](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2477)) +- `opentelemetry-instrumentation-aws-lambda` Bugfix: AWS Lambda event source key incorrect for SNS in instrumentation library. + ([#2612](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2612)) +- `opentelemetry-instrumentation-asyncio` instrumented `asyncio.wait_for` properly raises `asyncio.TimeoutError` as expected + ([#2637](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2637)) +- `opentelemetry-instrumentation-django` Handle exceptions from request/response hooks + ([#2153](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2153)) +- `opentelemetry-instrumentation-asgi` Removed `NET_HOST_NAME` AND `NET_HOST_PORT` from active requests count attribute + ([#2610](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2610)) +- `opentelemetry-instrumentation-asgi` Bugfix: Middleware did not set status code attribute on duration metrics for non-recording spans. + ([#2627](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2627)) +- `opentelemetry-instrumentation-mysql` Add support for `mysql-connector-python` v9 + ([#2751](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2751)) + +## Version 1.25.0/0.46b0 (2024-05-31) + +### Breaking changes + +- Add return statement to Confluent kafka Producer poll() and flush() calls when instrumented by ConfluentKafkaInstrumentor().instrument_producer() ([#2527](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2527)) +- Rename `type` attribute to `asgi.event.type` in `opentelemetry-instrumentation-asgi` + ([#2300](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2300)) +- Rename AwsLambdaInstrumentor span attributes `faas.id` to `cloud.resource_id`, `faas.execution` to `faas.invocation_id` + ([#2372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2372)) +- Drop support for instrumenting elasticsearch client < 6 + ([#2422](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2422)) +- `opentelemetry-instrumentation-wsgi` Add `http.method` to `span.name` + ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) +- `opentelemetry-instrumentation-flask` Add `http.method` to `span.name` + ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) +- Record repeated HTTP headers in lists, rather than a comma separate strings for ASGI based web frameworks + ([#2361](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2361)) +- ASGI, FastAPI, Starlette: provide both send and receive hooks with `scope` and `message` for internal spans +- ([#2546](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2546)) + +### Added + +- `opentelemetry-sdk-extension-aws` Register AWS resource detectors under the + `opentelemetry_resource_detector` entry point + ([#2382](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2382)) +- `opentelemetry-instrumentation-wsgi` Implement new semantic convention opt-in with stable http semantic conventions + ([#2425](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2425)) +- `opentelemetry-instrumentation-flask` Implement new semantic convention opt-in with stable http semantic conventions + ([#2454](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2454)) +- `opentelemetry-instrumentation-threading` Initial release for threading + ([#2253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2253)) +- `opentelemetry-instrumentation-pika` Instrumentation for `channel.consume()` (supported + only for global, non channel specific instrumentation) + ([#2397](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2397)) +- `opentelemetry-processor-baggage` Initial release + ([#2436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2436)) +- `opentelemetry-processor-baggage` Add baggage key predicate + ([#2535](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2535)) + +### Fixed + +- `opentelemetry-instrumentation-dbapi` Fix compatibility with Psycopg3 to extract libpq build version + ([#2500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2500)) +- `opentelemetry-instrumentation-grpc` AioClientInterceptor should propagate with a Metadata object + ([#2363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2363)) +- `opentelemetry-instrumentation-boto3sqs` Instrument Session and resource + ([#2161](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2161)) +- `opentelemetry-instrumentation-aws-lambda` Fix exception handling for events with requestContext + ([#2418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2418)) +- Use sqlalchemy version in sqlalchemy commenter instead of opentelemetry library version + ([#2404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2404)) +- `opentelemetry-instrumentation-asyncio` Check for cancelledException in the future + ([#2461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2461)) +- Remove SDK dependency from opentelemetry-instrumentation-grpc + ([#2474](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2474)) +- `opentelemetry-instrumentation-elasticsearch` Improved support for version 8 + ([#2420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2420)) +- `opentelemetry-instrumentation-elasticsearch` Disabling instrumentation with native OTel support enabled + ([#2524](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2524)) +- `opentelemetry-instrumentation-asyncio` Check for **name** attribute in the coroutine + ([#2521](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2521)) +- `opentelemetry-instrumentation-requests` Fix wrong time unit for duration histogram + ([#2553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2553)) +- `opentelemetry-util-http` Preserve brackets around literal IPv6 hosts ([#2552](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2552)) +- `opentelemetry-util-redis` Fix net peer attribute for unix socket connection ([#2493](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2493)) + +## Version 1.24.0/0.45b0 (2024-03-28) + +### Added + +- `opentelemetry-instrumentation-psycopg` Async Instrumentation for psycopg 3.x + ([#2146](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2146)) + +### Fixed + +- `opentelemetry-instrumentation-celery` Allow Celery instrumentation to be installed multiple times + ([#2342](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2342)) +- Align gRPC span status codes to OTEL specification + ([#1756](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1756)) +- `opentelemetry-instrumentation-flask` Add importlib metadata default for deprecation warning flask version + ([#2297](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2297)) +- Ensure all http.server.duration metrics have the same description + ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2298)) +- Fix regression in httpx `request.url` not being of type `httpx.URL` after `0.44b0` + ([#2359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2359)) +- Avoid losing repeated HTTP headers + ([#2266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2266)) +- `opentelemetry-instrumentation-elasticsearch` Don't send bulk request body as db statement + ([#2355](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2355)) +- AwsLambdaInstrumentor sets `cloud.account.id` span attribute + ([#2367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2367)) + +### Added + +- `opentelemetry-instrumentation-fastapi` Add support for configuring header extraction via runtime constructor parameters + ([#2241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2241)) + +## Version 1.23.0/0.44b0 (2024-02-23) + +- Drop support for 3.7 + ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) +- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector + ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) +- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times + ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka + ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) +- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) + ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) +- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call + ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) +- AwsLambdaInstrumentor handles and re-raises function exception + ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245)) + +### Added + +- `opentelemetry-instrumentation-psycopg` Initial release for psycopg 3.x +- `opentelemetry-instrumentation-asgi` Add support for configuring ASGI middleware header extraction via runtime constructor parameters + ([#2026](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2026)) + +## Version 1.22.0/0.43b0 (2023-12-14) + +### Added + +- `opentelemetry-instrumentation-asyncio` Add support for asyncio + ([#1919](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1943)) +- `opentelemetry-instrumentation` Added Otel semantic convention opt-in mechanism + ([#1987](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1987)) +- `opentelemetry-instrumentation-httpx` Fix mixing async and non async hooks + ([#1920](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1920)) +- `opentelemetry-instrumentation-requests` Implement new semantic convention opt-in with stable http semantic conventions + ([#2002](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2002)) +- `opentelemetry-instrument-grpc` Fix arity of context.abort for AIO RPCs + ([#2066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2066)) +- Consolidate instrumentation suppression mechanisms and fix bug in httpx instrumentation + ([#2061](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2061)) + +### Fixed + +- `opentelemetry-instrumentation-httpx` Remove URL credentials + ([#2020](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2020)) +- `opentelemetry-instrumentation-urllib`/`opentelemetry-instrumentation-urllib3` Fix metric descriptions to match semantic conventions + ([#1959](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1959)) +- `opentelemetry-resource-detector-azure` Added dependency for Cloud Resource ID attribute + ([#2072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2072)) + +## Version 1.21.0/0.42b0 (2023-11-01) + +### Added + +- `opentelemetry-instrumentation-aiohttp-server` Add instrumentor and auto instrumentation support for aiohttp-server + ([#1800](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1800)) +- `opentelemetry-instrumentation-botocore` Include SNS topic ARN as a span attribute with name `messaging.destination.name` to uniquely identify the SNS topic + ([#1995](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1995)) +- `opentelemetry-instrumentation-system-metrics` Add support for collecting process metrics + ([#1948](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1948)) +- Added schema_url (`"https://opentelemetry.io/schemas/1.11.0"`) to all metrics and traces + ([#1977](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1977)) + +### Fixed + +- `opentelemetry-instrumentation-aio-pika` and `opentelemetry-instrumentation-pika` Fix missing trace context propagation when trace not recording. + ([#1969](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1969)) +- Fix version of Flask dependency `werkzeug` + ([#1980](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1980)) +- `opentelemetry-resource-detector-azure` Using new Cloud Resource ID attribute. + ([#1976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1976)) +- Do not collect `system.network.connections` by default on macOS which was causing exceptions in metrics collection. + ([#2008](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2008)) + +## Version 1.20.0/0.41b0 (2023-09-01) + +### Fixed + +- `opentelemetry-instrumentation-asgi` Fix UnboundLocalError local variable 'start' referenced before assignment + ([#1889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1889)) +- Fixed union typing error not compatible with Python 3.7 introduced in `opentelemetry-util-http`, fix tests introduced by patch related to sanitize method for wsgi + ([#1913](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1913)) +- `opentelemetry-instrumentation-celery` Unwrap Celery's `ExceptionInfo` errors and report the actual exception that was raised. ([#1863](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1863)) + +### Added + +- `opentelemetry-resource-detector-azure` Add resource detectors for Azure App Service and VM + ([#1901](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1901)) +- `opentelemetry-instrumentation-flask` Add support for Flask 3.0.0 + ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2013)) + +## Version 1.19.0/0.40b0 (2023-07-13) + +- `opentelemetry-instrumentation-asgi` Add `http.server.request.size` metric + ([#1867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1867)) + +### Fixed + +- `opentelemetry-instrumentation-django` Fix empty span name when using + `path("", ...)` ([#1788](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1788) +- Fix elastic-search instrumentation sanitization to support bulk queries + ([#1870](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1870)) +- Update falcon instrumentation to follow semantic conventions + ([#1824](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1824)) +- Fix sqlalchemy instrumentation wrap methods to accept sqlcommenter options + ([#1873](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1873)) +- Exclude background task execution from root server span in ASGI middleware + ([#1952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1952)) + +### Added + +- Add instrumentor support for cassandra and scylla + ([#1902](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1902)) +- Add instrumentor support for mysqlclient + ([#1744](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1744)) +- Fix async redis clients not being traced correctly + ([#1830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1830)) +- Make Flask request span attributes available for `start_span`. + ([#1784](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1784)) +- Fix falcon instrumentation's usage of Span Status to only set the description if the status code is ERROR. + ([#1840](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1840)) +- Instrument all httpx versions >= 0.18. + ([#1748](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1748)) +- Fix `Invalid type NoneType for attribute X (opentelemetry-instrumentation-aws-lambda)` error when some attributes do not exist + ([#1780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1780)) +- Add metric instrumentation for celery + ([#1679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1679)) +- `opentelemetry-instrumentation-asgi` Add `http.server.response.size` metric + ([#1789](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1789)) +- `opentelemetry-instrumentation-grpc` Allow gRPC connections via Unix socket + ([#1833](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1833)) +- Fix elasticsearch `Transport.perform_request` instrument wrap for elasticsearch >= 8 + ([#1810](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1810)) +- `opentelemetry-instrumentation-urllib3` Add support for urllib3 version 2 + ([#1879](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1879)) +- Add optional distro and configurator selection for auto-instrumentation + ([#1823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1823)) +- `opentelemetry-instrumentation-django` - Add option to add Opentelemetry middleware at specific position in middleware chain + ([#2912]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2912) + +### Added + +- `opentelemetry-instrumentation-kafka-python` Add instrumentation to `consume` method + ([#1786](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1786)) + +## Version 1.18.0/0.39b0 (2023-05-10) + +- Update runtime metrics to follow semantic conventions + ([#1735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1735)) +- Add request and response hooks for GRPC instrumentation (client only) + ([#1706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1706)) +- Fix memory leak in SQLAlchemy instrumentation where disposed `Engine` does not get garbage collected + ([#1771](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1771)) +- `opentelemetry-instrumentation-pymemcache` Update instrumentation to support pymemcache >4 + ([#1764](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1764)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions of confluent_kafka + ([#1815](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1815)) + +### Added + +- Expand sqlalchemy pool.name to follow the semantic conventions + ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) +- Add `excluded_urls` functionality to `urllib` and `urllib3` instrumentations + ([#1733](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1733)) +- Make Django request span attributes available for `start_span`. + ([#1730](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1730)) +- Make ASGI request span attributes available for `start_span`. + ([#1762](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1762)) +- `opentelemetry-instrumentation-celery` Add support for anonymous tasks. + ([#1407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1407)) +- `opentelemetry-instrumentation-logging` Add `otelTraceSampled` to instrumetation-logging + ([#1773](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1773)) + +### Changed + +- `opentelemetry-instrumentation-botocore` now uses the AWS X-Ray propagator by default + ([#1741](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1741)) + +### Fixed + +- Fix redis db.statements to be sanitized by default + ([#1778](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1778)) +- Fix elasticsearch db.statement attribute to be sanitized by default + ([#1758](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1758)) +- Fix `AttributeError` when AWS Lambda handler receives a list event + ([#1738](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1738)) +- Fix `None does not implement middleware` error when there are no middlewares registered + ([#1766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1766)) +- Fix Flask instrumentation to only close the span if it was created by the same request context. + ([#1692](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1692)) + +### Changed + +- Update HTTP server/client instrumentation span names to comply with spec + ([#1759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1759)) + +## Version 1.17.0/0.38b0 (2023-03-22) + +### Added + +- Add connection attributes to sqlalchemy connect span + ([#1608](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1608)) +- Add support for enabling Redis sanitization from environment variable + ([#1690](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1690)) +- Add metrics instrumentation for sqlalchemy + ([#1645](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1645)) + +### Fixed + +- Fix Flask instrumentation to only close the span if it was created by the same thread. + ([#1654](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1654)) +- Fix confluent-kafka instrumentation by allowing Producer headers to be dict or list + ([#1655](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1655)) +- `opentelemetry-instrumentation-system-metrics` Fix initialization of the instrumentation class when configuration is provided + ([#1438](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1439)) +- Fix exception in Urllib3 when dealing with filelike body. + ([#1399](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1399)) +- Fix httpx resource warnings + ([#1695](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1695)) + +### Changed + +- `opentelemetry-instrumentation-requests` Replace `name_callback` and `span_callback` with standard `response_hook` and `request_hook` callbacks + ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) + +## Version 1.16.0/0.37b0 (2023-02-17) + +### Added + +- Support `aio_pika` 9.x (([#1670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1670]) +- `opentelemetry-instrumentation-redis` Add `sanitize_query` config option to allow query sanitization. ([#1572](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1572)) +- `opentelemetry-instrumentation-elasticsearch` Add optional db.statement query sanitization. + ([#1598](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1598)) +- `opentelemetry-instrumentation-celery` Record exceptions as events on the span. + ([#1573](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1573)) +- Add metric instrumentation for urllib + ([#1553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1553)) +- `opentelemetry/sdk/extension/aws` Implement [`aws.ecs.*`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/cloud_provider/aws/ecs.md) and [`aws.logs.*`](https://opentelemetry.io/docs/reference/specification/resource/semantic_conventions/cloud_provider/aws/logs/) resource attributes in the `AwsEcsResourceDetector` detector when the ECS Metadata v4 is available + ([#1212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1212)) +- `opentelemetry-instrumentation-aio-pika` Support `aio_pika` 8.x + ([#1481](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1481)) +- `opentelemetry-instrumentation-aws-lambda` Flush `MeterProvider` at end of function invocation. + ([#1613](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1613)) +- Fix aiohttp bug with unset `trace_configs` + ([#1592](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1592)) +- `opentelemetry-instrumentation-django` Allow explicit `excluded_urls` configuration through `instrument()` + ([#1618](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1618)) + +### Fixed + +- Fix TortoiseORM instrumentation `AttributeError: type object 'Config' has no attribute 'title'` + ([#1575](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1575)) +- Fix SQLAlchemy uninstrumentation + ([#1581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1581)) +- `opentelemetry-instrumentation-grpc` Fix code()/details() of \_OpentelemetryServicerContext. + ([#1578](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1578)) +- Fix aiopg instrumentation to work with aiopg < 2.0.0 + ([#1473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1473)) +- `opentelemetry-instrumentation-aws-lambda` Adds an option to configure `disable_aws_context_propagation` by + environment variable: `OTEL_LAMBDA_DISABLE_AWS_CONTEXT_PROPAGATION` + ([#1507](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1507)) +- Fix pymongo to collect the property DB_MONGODB_COLLECTION + ([#1555](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1555)) +- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter to correctly fetch values from carrier headers. + ([#1435](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1435)) +- mongo db - fix db statement capturing + ([#1512](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1512)) +- Add commit method for ConfluentKafkaInstrumentor's ProxiedConsumer + ([#1656](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1656)) + +## Version 1.15.0/0.36b0 (2022-12-10) + +- Add uninstrument test for sqlalchemy + ([#1471](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1471)) +- `opentelemetry-instrumentation-tortoiseorm` Initial release + ([#685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/685)) +- Add metric instrumentation for tornado + ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) +- `opentelemetry-instrumentation-aws-lambda` Add option to disable aws context propagation + ([#1466](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1466)) + +### Added + +- `opentelemetry-resource-detector-container` Add support resource detection of container properties. + ([#1584](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1584)) +- `opentelemetry-instrumentation-pymysql` Add tests for commit() and rollback(). + ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) +- `opentelemetry-instrumentation-fastapi` Add support for regular expression matching and sanitization of HTTP headers. + ([#1403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1403)) +- `opentelemetry-instrumentation-botocore` add support for `messaging.*` in the sqs extension. + ([#1350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1350)) +- `opentelemetry-instrumentation-starlette` Add support for regular expression matching and sanitization of HTTP headers. + ([#1404](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1404)) +- `opentelemetry-instrumentation-botocore` Add support for SNS `publish` and `publish_batch`. + ([#1409](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1409)) +- Strip leading comments from SQL queries when generating the span name. + ([#1434](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1434)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for the latest versions of the library. + ([#1468](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1468)) + +### Fixed + +- Fix bug in Urllib instrumentation - add status code to span attributes only if the status code is not None. + ([#1430](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1430)) +- `opentelemetry-instrumentation-aiohttp-client` Allow overriding of status in response hook. + ([#1394](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1394)) +- `opentelemetry-instrumentation-pymysql` Fix dbapi connection instrument wrapper has no \_sock member. + ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) +- `opentelemetry-instrumentation-dbapi` Fix the check for the connection already being instrumented in instrument_connection(). + ([#1424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1424)) +- Remove db.name attribute from Redis instrumentation + ([#1427](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1427)) +- `opentelemetry-instrumentation-asgi` Fix target extraction for duration metric + ([#1461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1461)) +- Add grpc.aio instrumentation to package entry points + ([#1442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1442)) +- Fix a bug in SQLAlchemy instrumentation - support disabling enable_commenter variable + ([#1440](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1440)) + +## Version 1.14.0/0.35b0 (2022-11-03) + +### Deprecated + +- `opentelemetry-distro` Deprecate `otlp_proto_grpc` and `otlp_proto_http` in favor of using + `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL` as according to specifications + ([#1250](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1250)) + +### Added + +- Capture common HTTP attributes from API Gateway proxy events in `opentelemetry-instrumentation-aws-lambda` + ([#1233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1233)) +- Add metric instrumentation for tornado + ([#1252](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1252)) +- `opentelemetry-instrumentation-django` Fixed bug where auto-instrumentation fails when django is installed and settings are not configured. + ([#1369](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1369)) +- `opentelemetry-instrumentation-system-metrics` add supports to collect system thread count. ([#1339](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1339)) +- `opentelemetry-exporter-richconsole` Fixing RichConsoleExpoter to allow multiple traces, fixing duplicate spans and include resources ([#1336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1336)) +- `opentelemetry-instrumentation-asgi` Add support for regular expression matching and sanitization of HTTP headers. + ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) +- `opentelemetry-instrumentation-asgi` metrics record target attribute (FastAPI only) + ([#1323](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1323)) +- `opentelemetry-instrumentation-wsgi` Add support for regular expression matching and sanitization of HTTP headers. + ([#1402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1402)) +- Add support for py3.11 + ([#1415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1415)) +- `opentelemetry-instrumentation-django` Add support for regular expression matching and sanitization of HTTP headers. + ([#1411](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1411)) +- `opentelemetry-instrumentation-falcon` Add support for regular expression matching and sanitization of HTTP headers. + ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) +- `opentelemetry-instrumentation-flask` Add support for regular expression matching and sanitization of HTTP headers. + ([#1413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1413)) +- `opentelemetry-instrumentation-pyramid` Add support for regular expression matching and sanitization of HTTP headers. + ([#1414](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1414)) +- `opentelemetry-instrumentation-grpc` Add support for grpc.aio Clients and Servers + ([#1245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1245)) +- Add metric exporter for Prometheus Remote Write + ([#1359](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1359)) + +### Fixed + +- Fix bug in Falcon instrumentation + ([#1377](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1377)) +- `opentelemetry-instrumentation-asgi` Fix keys() in class ASGIGetter so it decodes the keys before returning them. + ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) +- `opentelemetry-instrumentation-asgi` Make ASGIGetter.get() compare all keys in a case insensitive manner. + ([#1333](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1333)) +- Use resp.text instead of resp.body for Falcon 3 to avoid a deprecation warning. + ([#1412](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1412)) + +## Version 1.13.0/0.34b0 (2022-09-26) + +- `opentelemetry-instrumentation-asyncpg` Fix high cardinality in the span name + ([#1324](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1324)) + +### Added + +- `opentelemetry-instrumentation-grpc` add supports to filter requests to instrument. + ([#1241](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1241)) +- Flask sqlalchemy psycopg2 integration + ([#1224](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1224)) +- Add metric instrumentation in Falcon + ([#1230](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1230)) +- Add metric instrumentation in fastapi + ([#1199](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1199)) +- Add metric instrumentation in Pyramid + ([#1242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1242)) +- `opentelemetry-util-http` Add support for sanitizing HTTP header values. + ([#1253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1253)) +- Add metric instrumentation in starlette + ([#1327](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1327)) + +### Fixed + +- `opentelemetry-instrumentation-kafka-python`: wait for metadata + ([#1260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1260)) +- `opentelemetry-instrumentation-boto3sqs` Make propagation compatible with other SQS instrumentations, add 'messaging.url' span attribute, and fix missing package dependencies. + ([#1234](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1234)) +- `opentelemetry-instrumentation-pymongo` Change span names to not contain queries but only database name and command name + ([#1247](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1247)) +- restoring metrics in django framework + ([#1208](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1208)) +- `opentelemetry-instrumentation-aiohttp-client` Fix producing additional spans with each newly created ClientSession +- ([#1246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1246)) +- Add \_is_opentelemetry_instrumented check in \_InstrumentedFastAPI class + ([#1313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1313)) +- Fix uninstrumentation of existing app instances in FastAPI + ([#1258](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1258)) +- Fix uninstrumentation of existing app instances in falcon + ([#1341]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1341) + +## Version 1.12.0/0.33b0 (2022-08-08) + +- Adding multiple db connections support for django-instrumentation's sqlcommenter + ([#1187](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1187)) +- SQLCommenter semicolon bug fix + ([#1200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1200/files)) +- Adding sqlalchemy native tags in sqlalchemy commenter + ([#1206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1206)) +- Add psycopg2 native tags to sqlcommenter + ([#1203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1203)) + +### Added + +- `opentelemetry-instrumentation-redis` add support to instrument RedisCluster clients + ([#1177](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1177)) +- `opentelemetry-instrumentation-sqlalchemy` Added span for the connection phase ([#1133](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1133)) +- Add metric instrumentation in asgi + ([#1197](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1197)) +- Add metric instrumentation for flask + ([#1186](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1186)) +- Add a test for asgi using NoOpTracerProvider + ([#1367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1367)) + +## [1.12.0rc2-0.32b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0rc2-0.32b0) - 2022-07-01 + +- Pyramid: Only categorize 500s server exceptions as errors + ([#1037](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1037)) + +### Fixed + +- Fix bug in system metrics by checking their configuration + ([#1129](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1129)) +- Adding escape call to fix [auto-instrumentation not producing spans on Windows](https://github.com/open-telemetry/opentelemetry-python/issues/2703). + ([#1100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1100)) +- `opentelemetry-instrumentation-grpc` narrow protobuf dependency to exclude protobuf >= 4 + ([#1109](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1109)) +- cleanup type hints for textmap `Getter` and `Setter` classes +- Suppressing downstream HTTP instrumentation to avoid [extra spans](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/930) + ([#1116](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1116)) +- fixed typo in `system.network.io` metric configuration + ([#1135](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1135)) + +### Added + +- `opentelemetry-instrumentation-aiohttp-client` Add support for optional custom trace_configs argument. + ([1079](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1079)) +- `opentelemetry-instrumentation-sqlalchemy` add support to instrument multiple engines + ([#1132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1132)) +- `opentelemetry-instrumentation-logging` add log hook support + ([#1117](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1117)) +- `opentelemetry-instrumentation-remoulade` Initial release + ([#1082](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1082)) +- Added `opentelemetry-instrumention-confluent-kafka` + ([#1111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1111)) +- Set otlp-proto-grpc as the default metrics exporter for auto-instrumentation + ([#1127](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1127)) +- Add metric instrumentation for WSGI + ([#1128](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1128)) +- Add metric instrumentation for Urllib3 + ([#1198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1198)) +- `opentelemetry-instrumentation-aio-pika` added RabbitMQ aio-pika module instrumentation. + ([#1095](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1095)) +- `opentelemetry-instrumentation-requests` Restoring metrics in requests + ([#1110](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1110)) +- Integrated sqlcommenter plugin into opentelemetry-instrumentation-django + ([#896](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/896)) + +## Version 1.12.0rc1/0.31b0 (2022-05-17) + +### Fixed + +- `opentelemetry-instrumentation-aiohttp-client` make span attributes available to sampler + ([#1072](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1072)) +- `opentelemetry-instrumentation-aws-lambda` Fixed an issue - in some rare cases (API GW proxy integration test) + headers are set to None, breaking context propagators. + ([#1055](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1055)) +- Refactoring custom header collection API for consistency + ([#1064](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1064)) +- `opentelemetry-instrumentation-sqlalchemy` will correctly report `otel.library.name` + ([#1086](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1086)) +- `opentelemetry-sdk-extension-aws` change timeout for AWS EC2 and EKS metadata requests from 1000 seconds and 2000 seconds to 1 second + +### Added + +- `opentelemetry-instrument` and `opentelemetry-bootstrap` now include a `--version` flag + ([#1065](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1065)) +- `opentelemetry-instrumentation-redis` now instruments asynchronous Redis clients, if the installed redis-py includes async support (>=4.2.0). + ([#1076](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1076)) +- `opentelemetry-instrumentation-boto3sqs` added AWS's SQS instrumentation. + ([#1081](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1081)) + +## Version 1.11.1/0.30b1 (2022-04-21) + +### Added + +- `opentelemetry-instrumentation-starlette` Capture custom request/response headers in span attributes + ([#1046](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1046)) + +### Fixed + +- Prune autoinstrumentation sitecustomize module directory from PYTHONPATH immediately + ([#1066](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1066)) + +## Version 1.11.0/0.30b0 (2022-04-18) + +### Fixed + +- `opentelemetry-instrumentation-pyramid` Fixed which package is the correct caller in \_traced_init. + ([#830](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/830)) +- `opentelemetry-instrumentation-tornado` Fix Tornado errors mapping to 500 + ([#1048](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1048)) +- `opentelemetry-instrumentation-urllib` make span attributes available to sampler + ([1014](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1014)) +- `opentelemetry-instrumentation-flask` Fix non-recording span bug + ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) +- `opentelemetry-instrumentation-tornado` Fix non-recording span bug + ([#999](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/999)) + +### Added + +- `opentelemetry-instrumentation-fastapi` Capture custom request/response headers in span attributes + ([#1032](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1032)) +- `opentelemetry-instrumentation-django` Capture custom request/response headers in span attributes + ([#1024](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1024)) +- `opentelemetry-instrumentation-asgi` Capture custom request/response headers in span attributes + ([#1004](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1004)) +- `opentelemetry-instrumentation-psycopg2` extended the sql commenter support of dbapi into psycopg2 + ([#940](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/940)) +- `opentelemetry-instrumentation-falcon` Add support for falcon==1.4.1 + ([#1000](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1000)) +- `opentelemetry-instrumentation-falcon` Falcon: Capture custom request/response headers in span attributes + ([#1003](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1003)) +- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including search target, replaces them with `` and puts the value in attribute `elasticsearch.target` + ([#1018](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1018)) +- `opentelemetry-instrumentation-pyramid` Handle non-HTTPException exceptions + ([#1001](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1001)) +- `opentelemetry-instrumentation-system-metrics` restore `SystemMetrics` instrumentation as `SystemMetricsInstrumentor` + ([#1012](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1012)) +- `opentelemetry-instrumentation-pyramid` Pyramid: Capture custom request/response headers in span attributes + ([#1022](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1022)) + +## Version 1.10.0/0.29b0 (2022-03-10) + +- `opentelemetry-instrumentation-wsgi` Capture custom request/response headers in span attributes + ([#925](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/925)) +- `opentelemetry-instrumentation-flask` Flask: Capture custom request/response headers in span attributes + ([#952](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/952)) +- `opentelemetry-instrumentation-tornado` Tornado: Capture custom request/response headers in span attributes + ([#950](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/950)) + +### Added + +- `opentelemetry-instrumentation-aws-lambda` `SpanKind.SERVER` by default, add more cases for `SpanKind.CONSUMER` services. ([#926](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/926)) +- `opentelemetry-instrumentation-sqlalchemy` added experimental sql commenter capability + ([#924](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/924)) +- `opentelemetry-contrib-instrumentations` added new meta-package that installs all contrib instrumentations. + ([#681](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/681)) +- `opentelemetry-instrumentation-dbapi` add experimental sql commenter capability + ([#908](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/908)) +- `opentelemetry-instrumentation-requests` make span attribute available to samplers + ([#931](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/931)) +- `opentelemetry-datadog-exporter` add deprecation note to example. + ([#900](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/900)) + +### Fixed + +- `opentelemetry-instrumentation-dbapi` Changed the format of traceparent id. + ([#941](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/941)) +- `opentelemetry-instrumentation-logging` retrieves service name defensively. + ([#890](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/890)) +- `opentelemetry-instrumentation-wsgi` WSGI: Conditionally create SERVER spans + ([#903](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/903)) +- `opentelemetry-instrumentation-falcon` Safer patching mechanism + ([#895](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/895)) +- `opentelemetry-instrumentation-kafka-python` Fix topic extraction + ([#949](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/949)) + +### Changed + +- `opentelemetry-instrumentation-pymemcache` should run against newer versions of pymemcache. + ([#935](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/935)) + +## Version 1.9.1/0.28b1 (2022-01-29) + +### Fixed + +- `opentelemetry-instrumentation-pika` requires `packaging` dependency + +- `opentelemetry-instrumentation-tornado` Tornado: Conditionally create SERVER spans + ([#889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/889)) + +## Version 1.9.0/0.28b0 (2022-01-26) + +### Added + +- `opentelemetry-instrumentation-pyramid` Pyramid: Conditionally create SERVER spans + ([#869](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/869)) +- `opentelemetry-instrumentation-grpc` added `trailing_metadata` to \_OpenTelemetryServicerContext. + ([#871](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/871)) +- `opentelemetry-instrumentation-asgi` now returns a `traceresponse` response header. + ([#817](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/817)) +- `opentelemetry-instrumentation-kafka-python` added kafka-python module instrumentation. + ([#814](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/814)) +- `opentelemetry-instrumentation-falcon` Falcon: Conditionally create SERVER spans + ([#867](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/867)) +- `opentelemetry-instrumentation-pymongo` now supports `pymongo v4` + ([#876](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/876)) + +- `opentelemetry-instrumentation-httpx` now supports versions higher than `0.19.0`. + ([#866](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/866)) + +### Fixed + +- `opentelemetry-instrumentation-django` Django: Conditionally create SERVER spans + ([#832](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/832)) +- `opentelemetry-instrumentation-flask` Flask: Conditionally create SERVER spans + ([#828](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/828)) +- `opentelemetry-instrumentation-celery` Celery: Support partial task time limit + ([#846](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/846)) +- `opentelemetry-instrumentation-asgi` ASGI: Conditionally create SERVER spans + ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/843)) +- `opentelemetry-instrumentation-django` Django: fix issue preventing detection of MIDDLEWARE_CLASSES +- `opentelemetry-instrumentation-sqlite3` Instrumentation now works with `dbapi2.connect` +- `opentelemetry-instrumentation-kafka` Kafka: safe kafka partition extraction + ([#872](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/872)) +- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Correct url filter input type + ([#843](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/864)) + +- `opentelemetry-instrumentation-aiohttp-client` aiohttp: Remove `span_name` from docs + ([#857](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/857)) + +## Version 1.8.0/0.27b0 (2021-12-17) + +### Added + +- `opentelemetry-instrumentation-aws-lambda` Adds support for configurable flush timeout via `OTEL_INSTRUMENTATION_AWS_LAMBDA_FLUSH_TIMEOUT` property. ([#825](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/825)) +- `opentelemetry-instrumentation-pika` Adds support for versions between `0.12.0` to `1.0.0`. ([#837](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/837)) + +### Fixed + +- `opentelemetry-instrumentation-urllib` Fixed an error on unexpected status values. + ([#823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/823)) + +- `opentelemetry-exporter-richconsole` Fixed attribute error on parentless spans. + ([#782](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/782)) + +- `opentelemetry-instrumentation-tornado` Add support instrumentation for Tornado 5.1.1 + ([#812](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/812)) + +## Version 1.7.1/0.26b1 (2021-11-11) + +### Added + +- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - pkg metadata files (Part 1/2) + ([#739](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/739)) +- Add support for Python 3.10 + ([#742](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/742)) +- Pass in auto-instrumentation version to configurator + ([#783](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/783)) +- `opentelemetry-instrumentation` Add `setuptools` to `install_requires` + ([#781](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/781)) +- `opentelemetry-instrumentation-aws-lambda` Add instrumentation for AWS Lambda Service - Implementation (Part 2/2) + ([#777](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/777)) +- `opentelemetry-instrumentation-pymongo` Add `request_hook`, `response_hook` and `failed_hook` callbacks passed as arguments to the instrument method + ([#793](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/793)) +- `opentelemetry-instrumentation-pymysql` Add support for PyMySQL 1.x series + ([#792](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/792)) +- Add support for generic OTEL_PYTHON_EXCLUDED_URLS variable + ([#790](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/790)) + +### Fixed + +- `opentelemetry-instrumentation-asgi` now explicitly depends on asgiref as it uses the package instead of instrumenting it. + ([#765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/765)) +- `opentelemetry-instrumentation-pika` now propagates context to basic_consume callback + ([#766](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/766)) +- `opentelemetry-instrumentation-falcon` Dropped broken support for Python 3.4. + ([#774](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/774)) +- `opentelemetry-instrumentation-django` Fixed carrier usage on ASGI requests. + ([#767](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/767)) +- Don't set Span Status on 4xx http status code for SpanKind.SERVER spans + ([#776](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/776)) +- `opentelemetry-instrumentation-django` Fixed instrumentation and tests for all Django major versions. + ([#780](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/780)) + +## Version 1.6.2/0.25b2 (2021-10-19) + +- `opentelemetry-instrumentation-sqlalchemy` Fix PostgreSQL instrumentation for Unix sockets + ([#761](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/761)) + +### Changed + +- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Release AWS Python SDK Extension as 2.0.1 and AWS Propagator as 1.0.1 + ([#753](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/753)) +- `opentelemetry-instrumentation-pika` Add `_decorate_basic_consume` to ensure post instrumentation `basic_consume` calls are also instrumented. + ([#759](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/759)) +- Consolidate instrumentation documentation in docstrings + ([#754](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/754)) + +### Fixed + +- `opentelemetry-distro` uses the correct entrypoint name which was updated in the core release of 1.6.0 but the distro was not updated with it + ([#755](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/755)) + +### Added + +- `opentelemetry-instrumentation-pika` Add `publish_hook` and `consume_hook` callbacks passed as arguments to the instrument method + ([#763](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/763)) + +## Version 1.6.1/0.25b1 (2021-10-18) + +### Changed + +- `opentelemetry-util-http` no longer contains an instrumentation entrypoint and will not be loaded + automatically by the auto instrumentor. + ([#745](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/745)) +- `opentelemetry-instrumentation-pika` Bugfix use properties.headers. It will prevent the header injection from raising. + ([#740](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/740)) +- `opentelemetry-instrumentation-botocore` Add extension for DynamoDB + ([#735](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/735)) +- `opentelemetry-sdk-extension-aws` & `opentelemetry-propagator-aws` Remove unnecessary dependencies on `opentelemetry-test` + ([#752](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/752)) +- `opentelemetry-instrumentation-botocore` Add Lambda extension + ([#760](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/760)) + +## Version 1.6.0/0.25b0 (2021-10-13) + +### Added + +- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 + ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) +- `opentelemetry-instrumentation-urllib3`, `opentelemetry-instrumentation-requests` + The `net.peer.ip` attribute is set to the IP of the connected HTTP server or proxy + using a new instrumentor in `opententelemetry-util-http` + ([#661](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/661)) +- `opentelemetry-instrumentation-pymongo` Add check for suppression key in PyMongo. + ([#736](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/736)) +- `opentelemetry-instrumentation-elasticsearch` Added `response_hook` and `request_hook` callbacks + ([#670](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/670)) +- `opentelemetry-instrumentation-redis` added request_hook and response_hook callbacks passed as arguments to the instrument method. + ([#669](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/669)) +- `opentelemetry-instrumentation-botocore` add `request_hook` and `response_hook` callbacks + ([679](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/679)) +- `opentelemetry-exporter-richconsole` Initial release + ([#686](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/686)) +- `opentelemetry-instrumentation-elasticsearch` no longer creates unique span names by including document IDs, replaces them with `:id` and puts the value in attribute `elasticsearch.id` + ([#705](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/705)) +- `opentelemetry-instrumentation-tornado` now sets `http.client_ip` and `tornado.handler` attributes + ([#706](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/706)) +- `opentelemetry-instrumentation-requests` added exclude urls functionality + ([#714](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/714)) +- `opentelemetry-instrumentation-django` Add ASGI support + ([#391](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/391)) + +### Changed + +- `opentelemetry-instrumentation-flask` Fix `RuntimeError: Working outside of request context` + ([#734](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/734)) +- `opentelemetry-propagators-aws-xray` Rename `AwsXRayFormat` to `AwsXRayPropagator` + ([#729](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/729)) +- `opentelemetry-instrumentation-sqlalchemy` Respect provided tracer provider when instrumenting SQLAlchemy + ([#728](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/728)) +- `opentelemetry-sdk-extension-aws` Move AWS X-Ray Propagator into its own `opentelemetry-propagators-aws` package + ([#720](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/720)) +- `opentelemetry-instrumentation-sqlalchemy` Added `packaging` dependency + ([#713](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/713)) +- `opentelemetry-instrumentation-jinja2` Allow instrumentation of newer Jinja2 versions. + ([#712](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/712)) +- `opentelemetry-instrumentation-botocore` Make common span attributes compliant with semantic conventions + ([#674](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/674)) +- `opentelemetry-sdk-extension-aws` Release AWS Python SDK Extension as 1.0.0 + ([#667](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/667)) +- `opentelemetry-instrumentation-botocore` Unpatch botocore Endpoint.prepare_request on uninstrument + ([#664](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/664)) +- `opentelemetry-instrumentation-botocore` Fix span injection for lambda invoke + ([#663](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/663)) +- `opentelemetry-instrumentation-botocore` Introduce instrumentation extensions + ([#718](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/718)) +- `opentelemetry-instrumentation-urllib3` Updated `_RequestHookT` with two additional fields - the request body and the request headers + ([#660](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/660)) +- Tests for Falcon 3 support + ([#644](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/644)) + +## Version 1.5.0/0.24b0 (2021-08-26) + +### Added + +- `opentelemetry-sdk-extension-aws` Add AWS resource detectors to extension package + ([#586](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/586)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-aiohttp-client`, `openetelemetry-instrumentation-fastapi`, + `opentelemetry-instrumentation-starlette`, `opentelemetry-instrumentation-urllib`, `opentelemetry-instrumentation-urllib3` Added `request_hook` and `response_hook` callbacks + ([#576](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/576)) +- `opentelemetry-instrumentation-pika` added RabbitMQ's pika module instrumentation. + ([#680](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/680)) + +### Changed + +- `opentelemetry-instrumentation-fastapi` Allow instrumentation of newer FastAPI versions. + ([#602](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/602)) +- Enable explicit `excluded_urls` argument in `opentelemetry-instrumentation-flask` + ([#604](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/604)) + +## Version 1.4.0/0.23b0 (2021-07-21) + +### Removed + +- Move `opentelemetry-instrumentation` to the core repo. + ([#595](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/595)) + +### Changed + +- `opentelemetry-instrumentation-falcon` added support for Falcon 3. + ([#607](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/607)) +- `opentelemetry-instrumentation-tornado` properly instrument work done in tornado on_finish method. + ([#499](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/499)) +- `opentelemetry-instrumentation` Fixed cases where trying to use an instrumentation package without the + target library was crashing auto instrumentation agent. + ([#530](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/530)) +- Fix weak reference error for pyodbc cursor in SQLAlchemy instrumentation. + ([#469](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/469)) +- Implemented specification that HTTP span attributes must not contain username and password. + ([#538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/538)) +- Changed the psycopg2-binary to psycopg2 as dependency in production + ([#543](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/543)) +- Implement consistent way of checking if instrumentation is already active + ([#549](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/549)) +- Require aiopg to be less than 1.3.0 + ([#560](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/560)) +- `opentelemetry-instrumentation-django` Migrated Django middleware to new-style. + ([#533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/533)) +- Updating dependency for opentelemetry api/sdk packages to support major version instead + of pinning to specific versions. + ([#567](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/567)) +- `opentelemetry-instrumentation-grpc` Respect the suppress instrumentation in gRPC client instrumentor + ([#559](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/559)) +- `opentelemetry-instrumentation-grpc` Fixed asynchronous unary call traces + ([#536](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/536)) +- `opentelemetry-sdk-extension-aws` Update AWS entry points to match spec + ([#566](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/566)) +- Include Flask 2.0 as compatible with existing flask instrumentation + ([#545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/545)) +- `openelemetry-sdk-extension-aws` Take a dependency on `opentelemetry-sdk` + ([#558](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/558)) +- Change `opentelemetry-instrumentation-httpx` to replace `client` classes with instrumented versions. + ([#577](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/577)) +- `opentelemetry-instrumentation-requests` Fix potential `AttributeError` when `requests` + is used with a custom transport adapter. + ([#562](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/562)) +- `opentelemetry-instrumentation-django` Fix AttributeError: ResolverMatch object has no attribute route + ([#581](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/581)) +- `opentelemetry-instrumentation-botocore` Suppress botocore downstream instrumentation like urllib3 + ([#563](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/563)) +- `opentelemetry-exporter-datadog` Datadog exporter should not use `unknown_service` as fallback resource service name. + ([#570](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/570)) +- Add support for the async extension of SQLAlchemy (>= 1.4) + ([#568](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/568)) + +### Added + +- `opentelemetry-instrumentation-httpx` Add `httpx` instrumentation + ([#461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/461)) + +## Version 1.3.0/0.22b0 (2021-06-01) + +### Changed + +- `opentelemetry-bootstrap` not longer forcibly removes and re-installs libraries and their instrumentations. + This means running bootstrap will not auto-upgrade existing dependencies and as a result not cause dependency + conflicts. + ([#514](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/514)) +- `opentelemetry-instrumentation-asgi` Set the response status code on the server span + ([#478](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/478)) +- `opentelemetry-instrumentation-tornado` Fixed cases where description was used with non- + error status code when creating Status objects. + ([#504](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/504)) +- `opentelemetry-instrumentation-asgi` Fix instrumentation default span name. + ([#418](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/418)) +- Propagators use the root context as default for `extract` and do not modify + the context if extracting from carrier does not work. + ([#488](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/488)) + +### Added + +- `opentelemetry-instrumentation-botocore` now supports + context propagation for lambda invoke via Payload embedded headers. + ([#458](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/458)) +- Added support for CreateKey functionality. + ([#502](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/502)) + +## Version 1.2.0/0.21b0 (2021-05-11) + +### Changed + +- Instrumentation packages don't specify the libraries they instrument as dependencies + anymore. Instead, they verify the correct version of libraries are installed at runtime. + ([#475](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/475)) +- `opentelemetry-propagator-ot-trace` Use `TraceFlags` object in `extract` + ([#472](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/472)) +- Set the `traced_request_attrs` of FalconInstrumentor by an argument correctly. + ([#473](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/473)) +- Enable passing explicit urls to exclude in instrumentation in FastAPI + ([#486](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/486)) +- Distros can now implement `load_instrumentor(EntryPoint)` method to customize instrumentor + loading behaviour. + ([#480](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/480)) +- Fix entrypoint for ottrace propagator + ([#492](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/492)) + +### Added + +- Move `opentelemetry-instrumentation` from core repository + ([#465](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/465)) + +## Version 0.20b0 (2021-04-20) + +### Changed + +- Restrict DataDog exporter's `ddtrace` dependency to known working versions. + ([#400](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/400)) +- GRPC instrumentation now correctly injects trace context into outgoing requests. + ([#392](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/39)) +- Publish `opentelemetry-propagator-ot-trace` package as a part of the release process + ([#387](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/387)) +- Update redis instrumentation to follow semantic conventions + ([#403](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/403)) +- Update instrumentations to use tracer_provider for creating tracer if given, otherwise use global tracer provider + ([#402](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/402)) +- `opentelemetry-instrumentation-wsgi` Replaced `name_callback` with `request_hook` + and `response_hook` callbacks. + ([#424](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/424)) +- Update gRPC instrumentation to better wrap server context + ([#420](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/420)) +- `opentelemetry-instrumentation-redis` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) + ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) +- `opentelemetry-instrumentation-asyncpg` Fix default port KeyError and Wrong Attribute name (net.peer.ip -> net.peer.port) + ([#265](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/265)) + +### Added + +- `opentelemetry-instrumentation-urllib3` Add urllib3 instrumentation + ([#299](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/299)) + +- `opentelemetry-instrumentation-flask` Added `request_hook` and `response_hook` callbacks. + ([#416](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/416)) + +- `opentelemetry-instrumenation-django` now supports request and response hooks. + ([#407](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/407)) +- `opentelemetry-instrumentation-falcon` FalconInstrumentor now supports request/response hooks. + ([#415](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/415)) +- `opentelemetry-instrumentation-tornado` Add request/response hooks. + ([#426](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/426)) +- `opentelemetry-exporter-datadog` Add parsing exception events for error tags. + ([#459](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/459)) +- `opentelemetry-instrumenation-django` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-tornado` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-pyramid` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-falcon` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumenation-flask` now supports trace response headers. + ([#436](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/436)) +- `opentelemetry-instrumentation-grpc` Keep client interceptor in sync with grpc client interceptors. + ([#442](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/442)) + +### Removed + +- Remove `http.status_text` from span attributes + ([#406](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/406)) + +## Version 0.19b0 (2021-03-26) + +- Implement context methods for `_InterceptorChannel` + ([#363](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/363)) + +### Changed + +- Rename `IdsGenerator` to `IdGenerator` + ([#350](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/350)) +- `opentelemetry-exporter-datadog` Fix warning when DatadogFormat encounters a request with + no DD_ORIGIN headers ([#368](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/368)). +- `opentelemetry-instrumentation-aiopg` Fix multiple nested spans when + `aiopg.pool` is used + ([#336](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/381)). +- Updated instrumentations to use `opentelemetry.trace.use_span` instead of `Tracer.use_span()` + ([#364](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/364)) +- `opentelemetry-propagator-ot-trace` Do not throw an exception when headers are not present + ([#378](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/378)) +- `opentelemetry-instrumentation-wsgi` Reimplement `keys` method to return actual keys from the carrier instead of an empty list. + ([#379](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/379)) +- `opentelemetry-instrumentation-sqlalchemy` Fix multithreading issues in recording spans from SQLAlchemy + ([#315](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/315)) +- Make getters and setters optional + ([#372](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/372)) + +### Removed + +- Removing support for Python 3.5 + ([#374](https://github.com/open-telemetry/opentelemetry-python/pull/374)) + +## Version 0.18b0 (2021-02-16) + +### Added + +- `opentelemetry-propagator-ot-trace` Add OT Trace Propagator + ([#302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/302)) +- `opentelemetry-instrumentation-logging` Added logging instrumentation to enable log - trace correlation. + ([#345](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/345)) + +### Removed + +- Remove `component` span attribute in instrumentations. + `opentelemetry-instrumentation-aiopg`, `opentelemetry-instrumentation-dbapi` Remove unused `database_type` parameter from `trace_integration` function. + ([#301](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/301)) +- `opentelemetry-instrumentation-asgi` Return header values using case insensitive keys + ([#308](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/308)) +- Remove metrics from all instrumentations + ([#312](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/312)) +- `opentelemetry-instrumentation-boto` updated to set span attributes instead of overriding the resource. + ([#310](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/310)) +- `opentelemetry-instrumentation-grpc` Fix issue tracking child spans in streaming responses + ([#260](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/260)) +- `opentelemetry-instrumentation-grpc` Updated client attributes, added tests, fixed examples, docs + ([#269](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/269)) + +## Version 0.17b0 (2021-01-20) + +### Added + +- `opentelemetry-instrumentation-sqlalchemy` Ensure spans have kind set to "CLIENT" + ([#278](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/278)) +- `opentelemetry-instrumentation-celery` Add support for Celery version 5.x + ([#266](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/266)) +- `opentelemetry-instrumentation-urllib` Add urllib instrumentation + ([#222](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/222)) +- `opentelemetry-exporter-datadog` Add fields method + ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) +- `opentelemetry-sdk-extension-aws` Add method to return fields injected by propagator + ([#226](https://github.com/open-telemetry/opentelemetry-python/pull/226)) +- `opentelemetry-exporter-prometheus-remote-write` Prometheus Remote Write Exporter Setup + ([#180](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/180)) +- `opentelemetry-exporter-prometheus-remote-write` Add Exporter constructor validation methods in Prometheus Remote Write Exporter + ([#206](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/206)) +- `opentelemetry-exporter-prometheus-remote-write` Add conversion to TimeSeries methods in Prometheus Remote Write Exporter + ([#207](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/207)) +- `opentelemetry-exporter-prometheus-remote-write` Add request methods to Prometheus Remote Write Exporter + ([#212](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/212)) +- `opentelemetry-instrumentation-fastapi` Added support for excluding some routes with env var `OTEL_PYTHON_FASTAPI_EXCLUDED_URLS` + ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) +- `opentelemetry-instrumentation-starlette` Added support for excluding some routes with env var `OTEL_PYTHON_STARLETTE_EXCLUDED_URLS` + ([#237](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/237)) +- Add Prometheus Remote Write Exporter integration tests in opentelemetry-docker-tests + ([#216](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/216)) +- `opentelemetry-instrumentation-grpc` Add tests for grpc span attributes, grpc `abort()` conditions + ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) +- Add README and example app for Prometheus Remote Write Exporter + ([#227](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/227])) +- `opentelemetry-instrumentation-botocore` Adds a field to report the number of retries it take to complete an API call + ([#275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/275)) +- `opentelemetry-instrumentation-requests` Use instanceof to check if responses are valid Response objects + ([#273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/273)) + +### Changed + +- Fix broken links to project ([#413](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/413)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-wsgi` Return `None` for `CarrierGetter` if key not found + ([#233](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/233)) +- `opentelemetry-instrumentation-grpc` Comply with updated spec, rework tests + ([#236](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/236)) +- `opentelemetry-instrumentation-asgi`, `opentelemetry-instrumentation-falcon`, `opentelemetry-instrumentation-flask`, `opentelemetry-instrumentation-pyramid`, `opentelemetry-instrumentation-wsgi` Renamed `host.port` attribute to `net.host.port` + ([#242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/242)) +- `opentelemetry-instrumentation-flask` Do not emit a warning message for request contexts created with `app.test_request_context` + ([#253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/253)) +- `opentelemetry-instrumentation-requests`, `opentelemetry-instrumentation-urllib` Fix span name callback parameters + ([#259](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/259)) +- `opentelemetry-exporter-datadog` Fix unintentional type change of span trace flags + ([#261](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/261)) +- `opentelemetry-instrumentation-aiopg` Fix AttributeError `__aexit__` when `aiopg.connect` and `aio[g].create_pool` used with async context manager + ([#235](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/235)) +- `opentelemetry-exporter-datadog` `opentelemetry-sdk-extension-aws` Fix reference to ids_generator in sdk + ([#283](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/283)) +- `opentelemetry-instrumentation-sqlalchemy` Use SQL operation and DB name as span name. + ([#254](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/254)) +- `opentelemetry-instrumentation-dbapi`, `TracedCursor` replaced by `CursorTracer` + ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) +- `opentelemetry-instrumentation-psycopg2`, Added support for psycopg2 registered types. + ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) +- `opentelemetry-instrumentation-dbapi`, `opentelemetry-instrumentation-psycopg2`, `opentelemetry-instrumentation-mysql`, `opentelemetry-instrumentation-pymysql`, `opentelemetry-instrumentation-aiopg` Use SQL command name as the span operation name instead of the entire query. + ([#246](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/246)) +- Update TraceState to adhere to specs + ([#276](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/276)) + +### Removed + +- Remove Configuration + ([#285](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/285)) + +## Version 0.16b1 (2020-11-26) + +## Version 0.16b0 (2020-11-25) + +### Added + +- `opentelemetry-instrumentation-flask` Add span name callback + ([#152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/152)) +- `opentelemetry-sdk-extension-aws` Add AWS X-Ray Ids Generator Entry Point + ([#201](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/201)) +- `opentelemetry-sdk-extension-aws` Fix typo for installing OTel SDK in docs + ([#200](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/200)) +- `opentelemetry-sdk-extension-aws` Import missing components for docs + ([#198](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/198)) +- `opentelemetry-sdk-extension-aws` Provide components needed to Configure OTel SDK for Tracing with AWS X-Ray + ([#130](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/130)) +- `opentelemetry-instrumentation-sklearn` Initial release + ([#151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/151)) +- `opentelemetry-instrumentation-requests` Add span name callback + ([#158](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/158)) +- `opentelemetry-instrumentation-botocore` Add propagator injection for botocore calls + ([#181](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/181)) + +### Changed + +- `opentelemetry-instrumentation-pymemcache` Update pymemcache instrumentation to follow semantic conventions + ([#183](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/183)) +- `opentelemetry-instrumentation-redis` Update redis instrumentation to follow semantic conventions + ([#184](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/184)) +- `opentelemetry-instrumentation-pymongo` Update pymongo instrumentation to follow semantic conventions + ([#203](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/203)) +- `opentelemetry-instrumentation-sqlalchemy` Update sqlalchemy instrumentation to follow semantic conventions + ([#202](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/202)) +- `opentelemetry-instrumentation-botocore` Make botocore instrumentation check if instrumentation has been suppressed + ([#182](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/182)) +- `opentelemetry-instrumentation-botocore` Botocore SpanKind as CLIENT and modify existing traced attributes + ([#150](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/150)) +- `opentelemetry-instrumentation-dbapi` Update dbapi and its dependent instrumentations to follow semantic conventions + ([#195](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/195)) +- `opentelemetry-instrumentation-dbapi` Stop capturing query parameters by default + ([#156](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/156)) +- `opentelemetry-instrumentation-asyncpg` Update asyncpg instrumentation to follow semantic conventions + ([#188](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/188)) +- `opentelemetry-instrumentation-grpc` Update protobuf versions + ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) + +## Version 0.15b0 (2020-11-02) + +### Added + +- `opentelemetry-instrumentation-requests` Add support for tracking http metrics + ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) +- `opentelemetry-instrumentation-django` Added capture of http.route + ([#1226](https://github.com/open-telemetry/opentelemetry-python/issues/1226)) +- `opentelemetry-instrumentation-django` Add support for tracking http metrics + ([#1230](https://github.com/open-telemetry/opentelemetry-python/pull/1230)) + +### Changed + +- `opentelemetry-exporter-datadog` Make `SpanProcessor.on_start` accept parent Context + ([#1251](https://github.com/open-telemetry/opentelemetry-python/pull/1251)) +- `opentelemetry-instrumentation-flask` Use `url.rule` instead of `request.endpoint` for span name + ([#1260](https://github.com/open-telemetry/opentelemetry-python/pull/1260)) +- `opentelemetry-instrumentation-django` Django instrumentation is now enabled by default but can be disabled by setting `OTEL_PYTHON_DJANGO_INSTRUMENT` to `False` + ([#1239](https://github.com/open-telemetry/opentelemetry-python/pull/1239)) +- `opentelemetry-instrumentation-django` Bugfix use request.path replace request.get_full_path(). It will get correct span name + ([#1309](https://github.com/open-telemetry/opentelemetry-python/pull/1309#)) +- `opentelemetry-instrumentation-django` Record span status and http.status_code attribute on exception + ([#1257](https://github.com/open-telemetry/opentelemetry-python/pull/1257)) +- `opentelemetry-instrumentation-grpc` Rewrite gRPC server interceptor + ([#1171](https://github.com/open-telemetry/opentelemetry-python/pull/1171)) + +## Version 0.14b0 (2020-10-13) + +### Added + +- `opentelemetry-exporter-datadog` Add support for span resource labels and service name +- `opentelemetry-instrumentation-celery` Span operation names now include the task type. + ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) +- `opentelemetry-instrumentation-celery` Added automatic context propagation. + ([#1135](https://github.com/open-telemetry/opentelemetry-python/pull/1135)) +- `opentelemetry-instrumentation-falcon` Added support for `OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS` + ([#1158](https://github.com/open-telemetry/opentelemetry-python/pull/1158)) +- `opentelemetry-instrumentation-tornado` Added support for `OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS` + ([#1178](https://github.com/open-telemetry/opentelemetry-python/pull/1178)) +- `opentelemetry-instrumentation-django` Added support for `OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS` + ([#1154](https://github.com/open-telemetry/opentelemetry-python/pull/1154)) + +### Changed + +- `opentelemetry-instrumentation-pymongo` Cast PyMongo commands as strings + ([#1132](https://github.com/open-telemetry/opentelemetry-python/pull/1132)) +- `opentelemetry-instrumentation-system-metrics` Fix issue when specific metrics are not available in certain OS + ([#1207](https://github.com/open-telemetry/opentelemetry-python/pull/1207)) +- `opentelemetry-instrumentation-pymysql` Bumped version from 0.9.3 to 0.10.1 + ([#1228](https://github.com/open-telemetry/opentelemetry-python/pull/1228)) +- `opentelemetry-instrumentation-django` Changed span name extraction from request to comply semantic convention + ([#992](https://github.com/open-telemetry/opentelemetry-python/pull/992)) + +## Version 0.13b0 (2020-09-17) + +### Added + +- `opentelemetry-instrumentation-falcon` Initial release. Added instrumentation for Falcon 2.0+ +- `opentelemetry-instrumentation-tornado` Initial release. Supports Tornado 6.x on Python 3.5 and newer. +- `opentelemetry-instrumentation-aiohttp-client` Add instrumentor and auto instrumentation support for aiohttp + ([#1075](https://github.com/open-telemetry/opentelemetry-python/pull/1075)) +- `opentelemetry-instrumentation-requests` Add support for instrumenting prepared requests + ([#1040](https://github.com/open-telemetry/opentelemetry-python/pull/1040)) +- `opentelemetry-instrumentation-requests` Add support for http metrics + ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116)) + +### Changed + +- `opentelemetry-instrumentation-aiohttp-client` Updating span name to match semantic conventions + ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) +- `opentelemetry-instrumentation-dbapi` cursors and connections now produce spans when used with context managers + ([#1028](https://github.com/open-telemetry/opentelemetry-python/pull/1028)) + +### Removed + +- Drop support for Python 3.4 + ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) + +## Version 0.12b0 (2020-08-14) + +### Changed + +- `opentelemetry-ext-pymemcache` Change package name to opentelemetry-instrumentation-pymemcache + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-redis` Update default SpanKind to `SpanKind.CLIENT` + ([#965](https://github.com/open-telemetry/opentelemetry-python/pull/965)) +- `opentelemetry-ext-redis` Change package name to opentelemetry-instrumentation-redis + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-datadog` Change package name to opentelemetry-exporter-datadog + ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) +- `opentelemetry-ext-jinja2` Change package name to opentelemetry-instrumentation-jinja2 + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-elasticsearch` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-elasticsearch` Change package name to opentelemetry-instrumentation-elasticsearch + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-celery` Change package name to opentelemetry-instrumentation-celery + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-pyramid` Change package name to opentelemetry-instrumentation-pyramid + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-pyramid` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-pymongo` Change package name to opentelemetry-instrumentation-pymongo + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-sqlite3` Change package name to opentelemetry-instrumentation-sqlite3 + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-sqlalchemy` Change package name to opentelemetry-instrumentation-sqlalchemy + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-psycopg2` Change package name to opentelemetry-instrumentation-psycopg2 + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-aiohttp-client` Change package name to opentelemetry-instrumentation-aiohttp-client + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-boto` Change package name to opentelemetry-instrumentation-boto + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-system-metrics` Change package name to opentelemetry-instrumentation-system-metrics + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-asgi` Change package name to opentelemetry-instrumentation-asgi + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-wsgi` Change package name to opentelemetry-instrumentation-wsgi + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-pymysql` Change package name to opentelemetry-instrumentation-pymysql + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-requests` Change package name to opentelemetry-instrumentation-requests + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-requests` Span name reported updated to follow semantic conventions to reduce + cardinality ([#972](https://github.com/open-telemetry/opentelemetry-python/pull/972)) +- `opentelemetry-ext-botocore` Change package name to opentelemetry-instrumentation-botocore + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- `opentelemetry-ext-dbapi` Change package name to opentelemetry-instrumentation-dbapi + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-flask` Change package name to opentelemetry-instrumentation-flask + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-flask` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-django` Change package name to opentelemetry-instrumentation-django + ([#961](https://github.com/open-telemetry/opentelemetry-python/pull/961)) +- `opentelemetry-ext-django` Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- `opentelemetry-ext-asyncpg` Change package name to opentelemetry-instrumentation-asyncpg + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-mysql` Change package name to opentelemetry-instrumentation-mysql + ([#966](https://github.com/open-telemetry/opentelemetry-python/pull/966)) +- `opentelemetry-ext-grpc` Change package name to opentelemetry-instrumentation-grpc + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) + +## Version 0.11b0 (2020-07-28) + +### Added + +- `opentelemetry-instrumentation-aiopg` Initial release +- `opentelemetry-instrumentation-fastapi` Initial release + ([#890](https://github.com/open-telemetry/opentelemetry-python/pull/890)) +- `opentelemetry-ext-grpc` Add status code to gRPC client spans + ([896](https://github.com/open-telemetry/opentelemetry-python/pull/896)) +- `opentelemetry-ext-grpc` Add gRPC client and server instrumentors + ([788](https://github.com/open-telemetry/opentelemetry-python/pull/788)) +- `opentelemetry-ext-grpc` Add metric recording (bytes in/out, errors, latency) to gRPC client + +### Changed + +- `opentelemetry-ext-pyramid` Use one general exclude list instead of two + ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) +- `opentelemetry-ext-boto` fails to export spans via jaeger + ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) +- `opentelemetry-ext-botocore` fails to export spans via jaeger + ([#866](https://github.com/open-telemetry/opentelemetry-python/pull/866)) +- `opentelemetry-ext-wsgi` Set span status on wsgi errors + ([#864](https://github.com/open-telemetry/opentelemetry-python/pull/864)) +- `opentelemetry-ext-flask` Use one general exclude list instead of two + ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) +- `opentelemetry-ext-django` Use one general exclude list instead of two + ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/872)) +- `opentelemetry-ext-asyncpg` Shouldn't capture query parameters by default + ([#854](https://github.com/open-telemetry/opentelemetry-python/pull/854)) +- `opentelemetry-ext-mysql` bugfix: Fix auto-instrumentation entry point for mysql + ([#858](https://github.com/open-telemetry/opentelemetry-python/pull/858)) + +## Version 0.10b0 (2020-06-23) + +### Added + +- `opentelemetry-ext-pymemcache` Initial release +- `opentelemetry-ext-elasticsearch` Initial release +- `opentelemetry-ext-celery` Add instrumentation for Celery + ([#780](https://github.com/open-telemetry/opentelemetry-python/pull/780)) +- `opentelemetry-instrumentation-starlette` Initial release + ([#777](https://github.com/open-telemetry/opentelemetry-python/pull/777)) +- `opentelemetry-ext-asyncpg` Initial Release + ([#814](https://github.com/open-telemetry/opentelemetry-python/pull/814)) + +## Version 0.9b0 (2020-06-10) + +### Added + +- `opentelemetry-ext-pyramid` Initial release +- `opentelemetry-ext-boto` Initial release +- `opentelemetry-ext-botocore` Initial release +- `opentelemetry-ext-system-metrics` Initial release + (https://github.com/open-telemetry/opentelemetry-python/pull/652) + +## Version 0.8b0 (2020-05-27) + +### Added + +- `opentelemetry-ext-datadog` Add exporter to Datadog + ([#572](https://github.com/open-telemetry/opentelemetry-python/pull/572)) +- `opentelemetry-ext-sqlite3` Initial release +- `opentelemetry-ext-psycopg2` Implement instrumentor interface, enabling auto-instrumentation + ([#694](https://github.com/open-telemetry/opentelemetry-python/pull/694)) +- `opentelemetry-ext-asgi` Add ASGI middleware + ([#716](https://github.com/open-telemetry/opentelemetry-python/pull/716)) +- `opentelemetry-ext-django` Add exclude list for paths and hosts to prevent from tracing + ([#670](https://github.com/open-telemetry/opentelemetry-python/pull/670)) +- `opentelemetry-ext-django` Add support for django >= 1.10 (#717) + +### Changed + +- `opentelemetry-ext-grpc` lint: version of grpc causes lint issues + ([#696](https://github.com/open-telemetry/opentelemetry-python/pull/696)) + +## Version 0.7b1 (2020-05-12) + +### Added + +- `opentelemetry-ext-redis` Initial release +- `opentelemetry-ext-jinja2` Add jinja2 instrumentation + ([#643](https://github.com/open-telemetry/opentelemetry-python/pull/643)) +- `opentelemetry-ext-pymongo` Implement instrumentor interface + ([#612](https://github.com/open-telemetry/opentelemetry-python/pull/612)) +- `opentelemetry-ext-sqlalchemy` Initial release +- `opentelemetry-ext-aiohttp-client` Initial release +- `opentelemetry-ext-pymysql` Initial release +- `opentelemetry-ext-http-requests` Implement instrumentor interface, enabling auto-instrumentation + ([#597](https://github.com/open-telemetry/opentelemetry-python/pull/597)) +- `opentelemetry-ext-http-requests` Adding disable_session for more granular instrumentation control + ([#573](https://github.com/open-telemetry/opentelemetry-python/pull/573)) +- `opentelemetry-ext-http-requests` Add a callback for custom attributes + ([#656](https://github.com/open-telemetry/opentelemetry-python/pull/656)) +- `opentelemetry-ext-dbapi` Implement instrument_connection and uninstrument_connection + ([#624](https://github.com/open-telemetry/opentelemetry-python/pull/624)) +- `opentelemetry-ext-flask` Add exclude list for paths and hosts + ([#630](https://github.com/open-telemetry/opentelemetry-python/pull/630)) +- `opentelemetry-ext-django` Initial release +- `opentelemetry-ext-mysql` Implement instrumentor interface + ([#654](https://github.com/open-telemetry/opentelemetry-python/pull/654)) + +### Changed + +- `opentelemetry-ext-http-requests` Rename package to opentelemetry-ext-requests + ([#619](https://github.com/open-telemetry/opentelemetry-python/pull/619)) + +## Version 0.6b0 (2020-03-30) + +### Added + +- `opentelemetry-ext-flask` Add an entry_point to be usable in auto-instrumentation + ([#327](https://github.com/open-telemetry/opentelemetry-python/pull/327)) +- `opentelemetry-ext-grpc` Add gRPC integration + ([#476](https://github.com/open-telemetry/opentelemetry-python/pull/476)) + +## Version 0.5b0 (2020-03-16) + +## Version 0.4a0 (2020-02-21) + +### Added + +- `opentelemetry-ext-psycopg2` Initial release +- `opentelemetry-ext-dbapi` Initial release +- `opentelemetry-ext-mysql` Initial release + +### Changed + +- `opentelemetry-ext-pymongo` Updating network connection attribute names + ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) +- `opentelemetry-ext-wsgi` Updating network connection attribute names + ([#350](https://github.com/open-telemetry/opentelemetry-python/pull/350)) +- `opentelemetry-ext-flask` Use string keys for WSGI environ values + ([#366](https://github.com/open-telemetry/opentelemetry-python/pull/366)) + +## Version 0.3a0 (2019-12-11) + +### Added + +- `opentelemetry-ext-flask` Initial release +- `opentelemetry-ext-pymongo` Initial release + +### Changed + +- `opentelemetry-ext-wsgi` Support new semantic conventions + ([#299](https://github.com/open-telemetry/opentelemetry-python/pull/299)) +- `opentelemetry-ext-wsgi` Updates for core library changes + +## Version 0.2a0 (2019-10-29) + +### Changed + +- `opentelemetry-ext-wsgi` Updates for core library changes +- `opentelemetry-ext-http-requests` Updates for core library changes + +- `Added support for PyPy3` Initial release + +## [#1033](https://github.com/open-telemetryopentelemetry-python-contrib/issues/1033) + +## Version 0.1a0 (2019-09-30) + +### Added + +- `opentelemetry-ext-wsgi` Initial release +- `opentelemetry-ext-http-requests` Initial release + +- Drop support for 3.7 + ([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151)) +- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector + ([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119)) +- `opentelemetry-instrumentation-asyncpg` Allow AsyncPGInstrumentor to be instantiated multiple times + ([#1791](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1791)) +- `opentelemetry-instrumentation-confluent-kafka` Add support for higher versions until 2.3.0 of confluent_kafka + ([#2132](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2132)) +- `opentelemetry-resource-detector-azure` Changed timeout to 4 seconds due to [timeout bug](https://github.com/open-telemetry/opentelemetry-python/issues/3644) + ([#2136](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2136)) +- `opentelemetry-resource-detector-azure` Suppress instrumentation for `urllib` call + ([#2178](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2178)) +- AwsLambdaInstrumentor handles and re-raises function exception ([#2245](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2245))