diff --git a/.github/workflows/lint_0.yml b/.github/workflows/lint_0.yml
index 309705ae5..e180282e4 100644
--- a/.github/workflows/lint_0.yml
+++ b/.github/workflows/lint_0.yml
@@ -51,6 +51,25 @@ jobs:
- name: Run tests
run: tox -e lint-instrumentation-openai-v2
+ lint-instrumentation-openai_agents-v2:
+ name: instrumentation-openai_agents-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_agents-v2
+
lint-instrumentation-vertexai:
name: instrumentation-vertexai
runs-on: ubuntu-latest
diff --git a/.github/workflows/test_0.yml b/.github/workflows/test_0.yml
index 68694460b..1004b4e5b 100644
--- a/.github/workflows/test_0.yml
+++ b/.github/workflows/test_0.yml
@@ -260,6 +260,158 @@ jobs:
- name: Run tests
run: tox -e pypy3-test-instrumentation-openai-v2-latest -- -ra
+ py310-test-instrumentation-openai_agents-v2-oldest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-oldest 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-openai_agents-v2-oldest -- -ra
+
+ py310-test-instrumentation-openai_agents-v2-latest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-latest 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-openai_agents-v2-latest -- -ra
+
+ py311-test-instrumentation-openai_agents-v2-oldest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-oldest 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-openai_agents-v2-oldest -- -ra
+
+ py311-test-instrumentation-openai_agents-v2-latest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-latest 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-openai_agents-v2-latest -- -ra
+
+ py312-test-instrumentation-openai_agents-v2-oldest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-oldest 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-openai_agents-v2-oldest -- -ra
+
+ py312-test-instrumentation-openai_agents-v2-latest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-latest 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-openai_agents-v2-latest -- -ra
+
+ py313-test-instrumentation-openai_agents-v2-oldest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-oldest 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-openai_agents-v2-oldest -- -ra
+
+ py313-test-instrumentation-openai_agents-v2-latest_ubuntu-latest:
+ name: instrumentation-openai_agents-v2-latest 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-openai_agents-v2-latest -- -ra
+
py39-test-instrumentation-vertexai-oldest_ubuntu-latest:
name: instrumentation-vertexai-oldest 3.9 Ubuntu
runs-on: ubuntu-latest
@@ -4629,155 +4781,3 @@ jobs:
- name: Run tests
run: tox -e py313-test-instrumentation-starlette-latest -- -ra
-
- pypy3-test-instrumentation-starlette-oldest_ubuntu-latest:
- name: instrumentation-starlette-oldest 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-starlette-oldest -- -ra
-
- pypy3-test-instrumentation-starlette-latest_ubuntu-latest:
- name: instrumentation-starlette-latest 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-starlette-latest -- -ra
-
- py39-test-instrumentation-jinja2_ubuntu-latest:
- name: instrumentation-jinja2 3.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-jinja2 -- -ra
-
- py310-test-instrumentation-jinja2_ubuntu-latest:
- name: instrumentation-jinja2 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-jinja2 -- -ra
-
- py311-test-instrumentation-jinja2_ubuntu-latest:
- name: instrumentation-jinja2 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-jinja2 -- -ra
-
- py312-test-instrumentation-jinja2_ubuntu-latest:
- name: instrumentation-jinja2 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-jinja2 -- -ra
-
- py313-test-instrumentation-jinja2_ubuntu-latest:
- name: instrumentation-jinja2 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-jinja2 -- -ra
-
- pypy3-test-instrumentation-jinja2_ubuntu-latest:
- name: instrumentation-jinja2 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-jinja2 -- -ra
diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml
index e60b3c530..8f484d6c0 100644
--- a/.github/workflows/test_1.yml
+++ b/.github/workflows/test_1.yml
@@ -32,6 +32,158 @@ env:
jobs:
+ pypy3-test-instrumentation-starlette-oldest_ubuntu-latest:
+ name: instrumentation-starlette-oldest 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-starlette-oldest -- -ra
+
+ pypy3-test-instrumentation-starlette-latest_ubuntu-latest:
+ name: instrumentation-starlette-latest 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-starlette-latest -- -ra
+
+ py39-test-instrumentation-jinja2_ubuntu-latest:
+ name: instrumentation-jinja2 3.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-jinja2 -- -ra
+
+ py310-test-instrumentation-jinja2_ubuntu-latest:
+ name: instrumentation-jinja2 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-jinja2 -- -ra
+
+ py311-test-instrumentation-jinja2_ubuntu-latest:
+ name: instrumentation-jinja2 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-jinja2 -- -ra
+
+ py312-test-instrumentation-jinja2_ubuntu-latest:
+ name: instrumentation-jinja2 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-jinja2 -- -ra
+
+ py313-test-instrumentation-jinja2_ubuntu-latest:
+ name: instrumentation-jinja2 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-jinja2 -- -ra
+
+ pypy3-test-instrumentation-jinja2_ubuntu-latest:
+ name: instrumentation-jinja2 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-jinja2 -- -ra
+
py39-test-instrumentation-logging_ubuntu-latest:
name: instrumentation-logging 3.9 Ubuntu
runs-on: ubuntu-latest
@@ -4629,155 +4781,3 @@ jobs:
- 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/.github/workflows/test_2.yml b/.github/workflows/test_2.yml
index 8a385e54f..e9fe4edf1 100644
--- a/.github/workflows/test_2.yml
+++ b/.github/workflows/test_2.yml
@@ -32,6 +32,158 @@ env:
jobs:
+ 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
+
py39-test-instrumentation-aio-pika-2_ubuntu-latest:
name: instrumentation-aio-pika-2 3.9 Ubuntu
runs-on: ubuntu-latest
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/CHANGELOG.md b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/CHANGELOG.md
index e91401df1..95f69d6de 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/CHANGELOG.md
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/CHANGELOG.md
@@ -6,6 +6,8 @@ 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).
## Unreleased
+- Document official package metadata and README for the OpenAI Agents instrumentation.
+ ([#3859](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3859))
## Version 0.1.0 (2025-10-15)
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/README.rst b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/README.rst
new file mode 100644
index 000000000..2f7c81ee6
--- /dev/null
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/README.rst
@@ -0,0 +1,109 @@
+OpenTelemetry OpenAI Agents Instrumentation
+===========================================
+
+|pypi|
+
+.. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-openai-agents-v2.svg
+ :target: https://pypi.org/project/opentelemetry-instrumentation-openai-agents-v2/
+
+This library provides the official OpenTelemetry instrumentation for the
+`openai-agents SDK `_. It converts
+the rich trace data emitted by the Agents runtime
+into the GenAI semantic conventions, enriches spans with request/response payload
+metadata, and records duration/token usage metrics.
+
+Features
+--------
+
+* Generates spans for agents, tools, generations, guardrails, and handoffs using
+ the OpenTelemetry GenAI semantic conventions.
+* Captures prompts, responses, tool arguments, and system instructions when content
+ capture is enabled.
+* Publishes duration and token metrics for every operation.
+* Supports environment overrides so you can configure agent metadata or disable
+ telemetry without code changes.
+
+Installation
+------------
+
+If your application is already configured with OpenTelemetry, install the package
+and its optional instruments:
+
+.. code-block:: console
+
+ pip install opentelemetry-instrumentation-openai-agents-v2
+ pip install openai-agents
+
+Usage
+-----
+
+Instrumentation automatically wires the Agents tracing processor into the SDK.
+Configure OpenTelemetry as usual, then call :class:`OpenAIAgentsInstrumentor`.
+
+.. code-block:: python
+
+ from agents import Agent, Runner, function_tool
+ from opentelemetry import trace
+ from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
+ from opentelemetry.instrumentation.openai_agents import OpenAIAgentsInstrumentor
+ from opentelemetry.sdk.trace import TracerProvider
+ from opentelemetry.sdk.trace.export import BatchSpanProcessor
+
+
+ def configure_otel() -> None:
+ provider = TracerProvider()
+ provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
+ trace.set_tracer_provider(provider)
+
+ OpenAIAgentsInstrumentor().instrument(tracer_provider=provider)
+
+
+ @function_tool
+ def get_weather(city: str) -> str:
+ return f"The forecast for {city} is sunny with pleasant temperatures."
+
+
+ assistant = Agent(
+ name="Travel Concierge",
+ instructions="You are a concise travel concierge.",
+ tools=[get_weather],
+ )
+
+ result = Runner.run_sync(assistant, "I'm visiting Barcelona this weekend. How should I pack?")
+ print(result.final_output)
+
+Configuration
+-------------
+
+The instrumentor exposes runtime toggles through keyword arguments and environment
+variables:
+
+* ``OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT`` or
+ ``OTEL_INSTRUMENTATION_OPENAI_AGENTS_CAPTURE_CONTENT`` – controls how much
+ message content is captured. Valid values map to
+ :class:`opentelemetry.instrumentation.openai_agents.ContentCaptureMode`
+ (``span_only``, ``event_only``, ``span_and_event``, ``no_content``).
+* ``OTEL_INSTRUMENTATION_OPENAI_AGENTS_CAPTURE_METRICS`` – set to ``false`` to
+ disable duration/token metrics.
+* ``OTEL_INSTRUMENTATION_OPENAI_AGENTS_SYSTEM`` – overrides the ``gen_ai.system``
+ attribute when your deployment is not the default OpenAI platform.
+
+You can also override agent metadata directly when calling
+``OpenAIAgentsInstrumentor().instrument(...)`` using ``agent_name``, ``agent_id``,
+``agent_description``, ``base_url``, ``server_address``, and ``server_port``.
+
+Examples
+--------
+
+The :mod:`examples` directory contains runnable scenarios, including:
+
+* ``examples/manual`` – manual OpenTelemetry configuration for a single agent run.
+* ``examples/content-capture`` – demonstrates span and event content capture.
+* ``examples/zero-code`` – end-to-end setup using environment configuration only.
+
+References
+----------
+
+* `OpenTelemetry Python Contrib `_
+* `OpenTelemetry GenAI semantic conventions `_
+* `OpenAI Agents SDK `_
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/pyproject.toml b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/pyproject.toml
index 6d692a4c6..13dc28632 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/pyproject.toml
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/pyproject.toml
@@ -5,14 +5,15 @@ build-backend = "hatchling.build"
[project]
name = "opentelemetry-instrumentation-openai-agents-v2"
dynamic = ["version"]
-description = "OpenTelemetry OpenAI Agents instrumentation (barebones)"
+description = "OpenTelemetry Official OpenAI Agents 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 :: 3 - Alpha",
+ "Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/__init__.py b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/__init__.py
index 16e19238c..339ccc5ba 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/__init__.py
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/__init__.py
@@ -1,5 +1,7 @@
"""OpenAI Agents instrumentation for OpenTelemetry."""
+# pylint: disable=too-many-locals
+
from __future__ import annotations
import importlib
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/span_processor.py b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/span_processor.py
index 68e5dc1f0..d1dce8ec5 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/span_processor.py
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/src/opentelemetry/instrumentation/openai_agents/span_processor.py
@@ -12,6 +12,8 @@ References:
- OpenInference Pattern: https://github.com/Arize-ai/openinference
"""
+# pylint: disable=too-many-lines,invalid-name,too-many-locals,too-many-branches,too-many-statements,too-many-return-statements,too-many-nested-blocks,too-many-arguments,too-many-instance-attributes,broad-exception-caught,no-self-use,consider-iterating-dictionary,unused-variable,unnecessary-pass
+
from __future__ import annotations
import importlib
@@ -247,9 +249,9 @@ def normalize_provider(provider: Optional[str]) -> Optional[str]:
"""Normalize provider name to spec-compliant value."""
if not provider:
return None
- p = provider.strip().lower()
- if p in GenAIProvider.ALL:
- return p
+ normalized = provider.strip().lower()
+ if normalized in GenAIProvider.ALL:
+ return normalized
return provider # passthrough if unknown (forward compat)
@@ -257,15 +259,19 @@ def validate_tool_type(tool_type: Optional[str]) -> str:
"""Validate and normalize tool type."""
if not tool_type:
return GenAIToolType.FUNCTION # default
- t = tool_type.strip().lower()
- return t if t in GenAIToolType.ALL else GenAIToolType.FUNCTION
+ normalized = tool_type.strip().lower()
+ return (
+ normalized
+ if normalized in GenAIToolType.ALL
+ else GenAIToolType.FUNCTION
+ )
def normalize_output_type(output_type: Optional[str]) -> str:
"""Normalize output type to spec-compliant value."""
if not output_type:
return GenAIOutputType.TEXT # default
- o = output_type.strip().lower()
+ normalized = output_type.strip().lower()
base_map = {
"json_object": GenAIOutputType.JSON,
"jsonschema": GenAIOutputType.JSON,
@@ -276,19 +282,16 @@ def normalize_output_type(output_type: Optional[str]) -> str:
"tool_call": GenAIOutputType.JSON,
"transcription_json": GenAIOutputType.JSON,
}
- if o in base_map:
- return base_map[o]
- if o in {
+ if normalized in base_map:
+ return base_map[normalized]
+ if normalized in {
GenAIOutputType.TEXT,
GenAIOutputType.JSON,
GenAIOutputType.IMAGE,
GenAIOutputType.SPEECH,
}:
- return o
+ return normalized
return GenAIOutputType.TEXT # default for unknown
- (normalize_output_type,)
- (normalize_provider,)
- (validate_tool_type,)
if TYPE_CHECKING:
@@ -1515,7 +1518,7 @@ class GenAISemanticProcessor(TracingProcessor):
if isinstance(first_input, dict) and "role" in first_input:
return GenAIOperationName.CHAT
return GenAIOperationName.TEXT_COMPLETION
- elif _is_instance_of(span_data, AgentSpanData):
+ if _is_instance_of(span_data, AgentSpanData):
# Could be create_agent or invoke_agent based on context
operation = getattr(span_data, "operation", None)
normalized = (
@@ -1528,17 +1531,17 @@ class GenAISemanticProcessor(TracingProcessor):
if normalized in {"invoke", "invoke_agent"}:
return GenAIOperationName.INVOKE_AGENT
return GenAIOperationName.INVOKE_AGENT
- elif _is_instance_of(span_data, FunctionSpanData):
+ if _is_instance_of(span_data, FunctionSpanData):
return GenAIOperationName.EXECUTE_TOOL
- elif _is_instance_of(span_data, ResponseSpanData):
+ if _is_instance_of(span_data, ResponseSpanData):
return GenAIOperationName.CHAT # Response typically from chat
- elif _is_instance_of(span_data, TranscriptionSpanData):
+ if _is_instance_of(span_data, TranscriptionSpanData):
return GenAIOperationName.TRANSCRIPTION
- elif _is_instance_of(span_data, SpeechSpanData):
+ if _is_instance_of(span_data, SpeechSpanData):
return GenAIOperationName.SPEECH
- elif _is_instance_of(span_data, GuardrailSpanData):
+ if _is_instance_of(span_data, GuardrailSpanData):
return GenAIOperationName.GUARDRAIL
- elif _is_instance_of(span_data, HandoffSpanData):
+ if _is_instance_of(span_data, HandoffSpanData):
return GenAIOperationName.HANDOFF
return "unknown"
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.latest.txt b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.latest.txt
new file mode 100644
index 000000000..e224e4349
--- /dev/null
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.latest.txt
@@ -0,0 +1,53 @@
+# 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.
+
+
+# ********************************
+# WARNING: NOT HERMETIC !!!!!!!!!!
+# ********************************
+#
+# This "requirements.txt" is installed in conjunction
+# with multiple other dependencies in the top-level "tox.ini"
+# file. In particular, please see:
+#
+# openai_agents-latest: {[testenv]test_deps}
+# openai_agents-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.latest.txt
+#
+# This provides additional dependencies, namely:
+#
+# opentelemetry-api
+# opentelemetry-sdk
+# opentelemetry-semantic-conventions
+#
+# ... with a "dev" version based on the latest distribution.
+
+
+# This variant of the requirements aims to test the system using
+# the newest supported version of external dependencies.
+
+openai-agents==0.3.3
+pydantic>=2.10,<3
+httpx==0.27.2
+Deprecated==1.2.14
+importlib-metadata==6.11.0
+packaging==24.0
+pytest==7.4.4
+pytest-asyncio==0.21.0
+wrapt==1.16.0
+# test with the latest version of opentelemetry-api, sdk, and semantic conventions
+grpcio>=1.60.0; implementation_name != "pypy"
+grpcio<1.60.0; implementation_name == "pypy"
+
+-e opentelemetry-instrumentation
+-e instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.oldest.txt b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.oldest.txt
new file mode 100644
index 000000000..2e935a63b
--- /dev/null
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.oldest.txt
@@ -0,0 +1,35 @@
+# 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.
+
+# This variant of the requirements aims to test the system using
+# the oldest supported version of external dependencies.
+
+openai-agents==0.3.3
+pydantic>=2.10,<3
+httpx==0.27.2
+Deprecated==1.2.14
+importlib-metadata==6.11.0
+packaging==24.0
+pytest==7.4.4
+pytest-asyncio==0.21.0
+wrapt==1.16.0
+opentelemetry-exporter-otlp-proto-grpc~=1.30
+opentelemetry-exporter-otlp-proto-http~=1.30
+opentelemetry-api==1.37 # when updating, also update in pyproject.toml
+opentelemetry-sdk==1.37 # when updating, also update in pyproject.toml
+opentelemetry-semantic-conventions==0.58b0 # when updating, also update in pyproject.toml
+grpcio>=1.60.0; implementation_name != "pypy"
+grpcio<1.60.0; implementation_name == "pypy"
+
+-e instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/agents/tracing/__init__.py b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/agents/tracing/__init__.py
index 59d54ddaf..4ed06c897 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/agents/tracing/__init__.py
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/agents/tracing/__init__.py
@@ -1,3 +1,5 @@
+# pylint: skip-file
+
from __future__ import annotations
from contextlib import contextmanager
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/opentelemetry/instrumentation/instrumentor.py b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/opentelemetry/instrumentation/instrumentor.py
index c64d31de9..a84ac4978 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/opentelemetry/instrumentation/instrumentor.py
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/stubs/opentelemetry/instrumentation/instrumentor.py
@@ -1,3 +1,5 @@
+# pylint: skip-file
+
from __future__ import annotations
from typing import Collection
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_tracer.py b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_tracer.py
index 5ff37de9c..1f21ab25c 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_tracer.py
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_tracer.py
@@ -1,3 +1,5 @@
+# pylint: disable=wrong-import-position,wrong-import-order,import-error,no-name-in-module,unexpected-keyword-arg,no-value-for-parameter,redefined-outer-name
+
from __future__ import annotations
import json
@@ -220,7 +222,7 @@ def test_normalize_messages_skips_empty_when_sensitive_enabled():
normalized = processor._normalize_messages_to_role_parts(
[{"role": "user", "content": None}]
)
- assert normalized == []
+ assert not normalized
def test_normalize_messages_emits_placeholder_when_sensitive_disabled():
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_instrumentor_behaviors.py b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_instrumentor_behaviors.py
index 3aa15521c..e63e7b2c6 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_instrumentor_behaviors.py
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_instrumentor_behaviors.py
@@ -1,3 +1,5 @@
+# pylint: disable=wrong-import-position,wrong-import-order,import-error
+
from __future__ import annotations
import sys
diff --git a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_span_processor_unit.py b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_span_processor_unit.py
index f47a4a69e..b2c8c7c8f 100644
--- a/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_span_processor_unit.py
+++ b/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/test_z_span_processor_unit.py
@@ -1,3 +1,5 @@
+# pylint: disable=wrong-import-position,wrong-import-order,import-error,no-name-in-module,unexpected-keyword-arg,no-value-for-parameter,redefined-outer-name,too-many-locals,too-many-statements,too-many-branches
+
from __future__ import annotations
import importlib
@@ -91,7 +93,7 @@ except ImportError: # pragma: no cover
def _collect(iterator) -> dict[str, Any]:
- return {key: value for key, value in iterator}
+ return dict(iterator)
@pytest.fixture
diff --git a/tox.ini b/tox.ini
index 6d3aee161..0be29fe13 100644
--- a/tox.ini
+++ b/tox.ini
@@ -13,6 +13,10 @@ envlist =
pypy3-test-instrumentation-openai-v2-{oldest,latest}
lint-instrumentation-openai-v2
+ ; instrumentation-openai-agents
+ py3{10,11,12,13}-test-instrumentation-openai_agents-v2-{oldest,latest}
+ lint-instrumentation-openai_agents-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
@@ -460,6 +464,10 @@ deps =
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
+ openai_agents-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.oldest.txt
+ openai_agents-latest: {[testenv]test_deps}
+ openai_agents-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.latest.txt
+ lint-instrumentation-openai_agents-v2: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests/requirements.oldest.txt
vertexai-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/requirements.oldest.txt
vertexai-latest: {[testenv]test_deps}
@@ -847,6 +855,8 @@ commands =
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-openai_agents-v2: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2/tests {posargs}
+ lint-instrumentation-openai_agents-v2: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-agents-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"