Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
d8cbcc2
Add a basic http OpAMP client
xrmx Jul 11, 2025
04523b5
Add some docs and hook it into the system
xrmx Jul 30, 2025
479f857
Add default value of 30 seconds to heartbeat message interval
xrmx Jul 30, 2025
29c5c6a
Fix docs build
xrmx Jul 30, 2025
b79628d
More docs improvements
xrmx Jul 30, 2025
09681dc
Fix spellcheck
xrmx Jul 30, 2025
57ff0e9
Remove local workaround
xrmx Jul 30, 2025
343ce89
Generate workflows and add to release script
xrmx Jul 30, 2025
5cc66bd
Fix typos in opamp lint commands
xrmx Aug 1, 2025
b728cc4
Fix requirements for pylint
xrmx Aug 1, 2025
b3f3511
Update opamp/opentelemetry-opamp-client/pyproject.toml
emdneto Aug 1, 2025
fb34756
Recreate requirements
xrmx Aug 1, 2025
f2c015e
Add missing opentelemetry-api dependency
xrmx Aug 1, 2025
43ab284
Fix tox test commands
xrmx Aug 1, 2025
f8cca6e
Fix tox
xrmx Aug 25, 2025
9dce42a
Add baseline of vcrpy 7.0.0
xrmx Aug 25, 2025
2efd275
Ignore pb2 module in pylintrc
xrmx Aug 25, 2025
e461498
Bump pylint to match the version in core
xrmx Aug 25, 2025
9ebadde
Silence pylint warnings
xrmx Aug 25, 2025
0680595
Don't trace opamp client own http requests
xrmx Sep 11, 2025
cf600c1
Permit to pass a custom transport to client
xrmx Sep 11, 2025
a041a24
Don't bump pylint after all
xrmx Sep 11, 2025
12978d3
Fix pylint
xrmx Sep 11, 2025
eca8201
Try to typecheck opamp client
xrmx Sep 12, 2025
a8ccd7d
Bump version after rebase
xrmx Sep 12, 2025
201d5d6
Fix typecheck in client
xrmx Sep 12, 2025
fd48129
Please pyright in strict mode
xrmx Sep 12, 2025
3bd8cf9
No need for functions and methods to be private since _opamp module i…
xrmx Sep 12, 2025
1708e53
Add missing protobuf package installation for typecheck
xrmx Sep 12, 2025
1d65541
Fix docs generation
xrmx Sep 12, 2025
bea95f9
Fix pyright exclusion rule for proto
xrmx Sep 30, 2025
e1d22fc
Feedback
xrmx Oct 1, 2025
32880ae
Don't flush the queue at exit
xrmx Oct 1, 2025
96eb470
Log transport send exceptions
xrmx Oct 1, 2025
614d7ee
Update example to not assume that the config is in json format
xrmx Oct 1, 2025
6fd7df5
Fix typo in exception
xrmx Oct 2, 2025
0cc3d17
Looks like it's implementers
xrmx Oct 2, 2025
516dfcc
Add timeout to stop to forward to threads join
xrmx Oct 6, 2025
93803b1
Clarify doc
xrmx Oct 6, 2025
b3e189b
Fix typo in var name
xrmx Nov 7, 2025
150dd18
Add support for mTLS
xrmx Nov 7, 2025
ce5a896
Add helpers for handling of ReportFullState ServerToAgent flag
xrmx Nov 7, 2025
434b0fd
Remove backup file
xrmx Feb 4, 2026
bd6d708
Rewrite opamp_proto_codegen.sh to use uv
xrmx Feb 4, 2026
aa7b346
Make the package releasable independently
xrmx Feb 4, 2026
4fffbaa
Send full state at connection
xrmx Mar 5, 2026
5e332d2
Merge branch 'main' into basic-http-opamp-client
xrmx Mar 5, 2026
4d350f6
Add 3.14 test run
xrmx Mar 5, 2026
6283264
Add changelog entry
xrmx Mar 5, 2026
74646bf
Add missing ReportsEffectiveConfig capability in documentation
xrmx Mar 5, 2026
46bfa05
Start version from 0.1b0 and re-record e2e tests
xrmx Mar 5, 2026
51f2830
Record tests against opentelemetry-go
xrmx Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/workflows/core_contrib_test_0.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3112,3 +3112,63 @@ jobs:

- name: Run tests
run: tox -e py39-test-processor-baggage -- -ra

py39-test-opamp-client-latest:
name: opamp-client-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-opamp-client-latest -- -ra

py39-test-opamp-client-lowest:
name: opamp-client-lowest
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout contrib repo @ SHA - ${{ env.CONTRIB_REPO_SHA }}
uses: actions/checkout@v4
with:
repository: open-telemetry/opentelemetry-python-contrib
ref: ${{ env.CONTRIB_REPO_SHA }}

- name: Checkout core repo @ SHA - ${{ env.CORE_REPO_SHA }}
uses: actions/checkout@v4
with:
repository: open-telemetry/opentelemetry-python
ref: ${{ env.CORE_REPO_SHA }}
path: opentelemetry-python

- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: "3.9"
architecture: "x64"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py39-test-opamp-client-lowest -- -ra
19 changes: 19 additions & 0 deletions .github/workflows/lint_0.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1361,3 +1361,22 @@ jobs:

- name: Run tests
run: tox -e lint-processor-baggage

lint-opamp-client:
name: opamp-client
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e lint-opamp-client
1 change: 1 addition & 0 deletions .github/workflows/package-prepare-patch-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
package:
type: choice
options:
- opentelemetry-opamp-client
- opentelemetry-propagator-aws-xray
- opentelemetry-resource-detector-azure
- opentelemetry-sdk-extension-aws
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/package-prepare-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
package:
type: choice
options:
- opentelemetry-opamp-client
- opentelemetry-propagator-aws-xray
- opentelemetry-resource-detector-azure
- opentelemetry-sdk-extension-aws
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/package-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
package:
type: choice
options:
- opentelemetry-opamp-client
- opentelemetry-propagator-aws-xray
- opentelemetry-resource-detector-azure
- opentelemetry-sdk-extension-aws
Expand Down
228 changes: 228 additions & 0 deletions .github/workflows/test_2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3641,3 +3641,231 @@ jobs:

- name: Run tests
run: tox -e pypy3-test-processor-baggage -- -ra

py39-test-opamp-client-latest_ubuntu-latest:
name: opamp-client-latest 3.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-opamp-client-latest -- -ra

py39-test-opamp-client-lowest_ubuntu-latest:
name: opamp-client-lowest 3.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-opamp-client-lowest -- -ra

py310-test-opamp-client-latest_ubuntu-latest:
name: opamp-client-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-opamp-client-latest -- -ra

py310-test-opamp-client-lowest_ubuntu-latest:
name: opamp-client-lowest 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-opamp-client-lowest -- -ra

py311-test-opamp-client-latest_ubuntu-latest:
name: opamp-client-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-opamp-client-latest -- -ra

py311-test-opamp-client-lowest_ubuntu-latest:
name: opamp-client-lowest 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-opamp-client-lowest -- -ra

py312-test-opamp-client-latest_ubuntu-latest:
name: opamp-client-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-opamp-client-latest -- -ra

py312-test-opamp-client-lowest_ubuntu-latest:
name: opamp-client-lowest 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-opamp-client-lowest -- -ra

py313-test-opamp-client-latest_ubuntu-latest:
name: opamp-client-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-opamp-client-latest -- -ra

py313-test-opamp-client-lowest_ubuntu-latest:
name: opamp-client-lowest 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-opamp-client-lowest -- -ra

py314-test-opamp-client-latest_ubuntu-latest:
name: opamp-client-latest 3.14 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py314-test-opamp-client-latest -- -ra

py314-test-opamp-client-lowest_ubuntu-latest:
name: opamp-client-lowest 3.14 Ubuntu
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v4

- name: Set up Python 3.14
uses: actions/setup-python@v5
with:
python-version: "3.14"

- name: Install tox
run: pip install tox-uv

- name: Run tests
run: tox -e py314-test-opamp-client-lowest -- -ra
4 changes: 2 additions & 2 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ extension-pkg-whitelist=cassandra

# Add list of files or directories to be excluded. They should be base names, not
# paths.
ignore=CVS,gen,Dockerfile,docker-compose.yml,README.md,requirements.txt,docs,.venv,site-packages,.tox
ignore=CVS,gen,Dockerfile,docker-compose.yml,README.md,requirements.txt,docs,.venv,site-packages,.tox,proto

# Add files or directories matching the regex patterns to be excluded. The
# regex matches against base names, not paths.
Expand Down Expand Up @@ -179,7 +179,7 @@ contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=types_pb2.*
generated-members=types_pb2.*,anyvalue_pb2.*,opamp_pb2.*

# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
Expand Down
2 changes: 2 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

> [!NOTE]
> Per-package release is supported for the following packages only:
> - opentelemetry-opamp-client
> - opentelemetry-propagator-aws-xray
> - opentelemetry-resource-detector-azure
> - opentelemetry-sdk-extension-aws
Expand Down Expand Up @@ -87,6 +88,7 @@ The workflow will create a pull request that should be merged in order to procee

> [!NOTE]
> Per-package patch release is supported for the following packages only:
> - opentelemetry-opamp-client
> - opentelemetry-propagator-aws-xray
> - opentelemetry-resource-detector-azure
> - opentelemetry-sdk-extension-aws
Expand Down
5 changes: 5 additions & 0 deletions docs-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ starlette~=0.50
tornado>=5.1.1
tortoise-orm>=0.17.0

# required by opamp
uuid_utils
protobuf>=5.0,< 7.0

# indirect dependency pins
markupsafe==2.0.1
itsdangerous==2.0.1

Loading