* Add a basic http OpAMP client
* Add some docs and hook it into the system
Still not building content
* Add default value of 30 seconds to heartbeat message interval
* Fix docs build
* More docs improvements
* Fix spellcheck
* Remove local workaround
* Generate workflows and add to release script
* Fix typos in opamp lint commands
* Fix requirements for pylint
* Update opamp/opentelemetry-opamp-client/pyproject.toml
* Recreate requirements
* Add missing opentelemetry-api dependency
* Fix tox test commands
Drop opentelemetry api fixed version from requirements
* Fix tox
* Add baseline of vcrpy 7.0.0
* Ignore pb2 module in pylintrc
* Bump pylint to match the version in core
* Silence pylint warnings
* Don't trace opamp client own http requests
* Permit to pass a custom transport to client
And a custom session to RequestsTransport
* Don't bump pylint after all
* Fix pylint
* Try to typecheck opamp client
* Bump version after rebase
* Fix typecheck in client
* Please pyright in strict mode
* No need for functions and methods to be private since _opamp module is already private
* Add missing protobuf package installation for typecheck
* Fix docs generation
* Fix pyright exclusion rule for proto
Missed .pyi exclusion
* Feedback
* Don't flush the queue at exit
* Log transport send exceptions
* Update example to not assume that the config is in json format
* Fix typo in exception
* Looks like it's implementers
* Add timeout to stop to forward to threads join
* Clarify doc
* Fix typo in var name
* Add support for mTLS
* Add helpers for handling of ReportFullState ServerToAgent flag
Introducing basic handling of the ReportsEffectiveConfig capability
* Remove backup file
* Rewrite opamp_proto_codegen.sh to use uv
* Make the package releasable independently
* Send full state at connection
* Add 3.14 test run
* Add changelog entry
* Add missing ReportsEffectiveConfig capability in documentation
* Start version from 0.1b0 and re-record e2e tests
* Record tests against opentelemetry-go
---------
Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>
* asyncio: fix environment variables not in docs
Fix the docstrings in environment_variables.py so they are correctly
picked up by Sphinx autodoc for Read the Docs.
Previously the docstrings were placed above the variable assignments,
which Sphinx cannot parse. Moved them below and added the
required '.. envvar::' directives, consistent with how other
packages (e.g. opentelemetry-instrumentation) document their
environment variables.
Fixes#4256
* Fix typo from 'determines' to 'determine'
* Apply suggestion from @xrmx
* asyncio: move environment_variables docs to __init__ module docstring for sphinx
* asyncio: keep envvar docs in environment_variables.py with module-level docstring
---------
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
* cherry pick changes from previous PR
* move span utils to new file
* remove span state, use otel context for parent/child
* flatten LLMInvocation to use attributes instead of dict keys
* helper function and docstrings
* refactor: store span and context token in LLMInvocation instead of SpanGenerator
* refactor: rename prompts/chat_generations to input_messages/output_messages for clarity
* refactor: simplify TelemetryHandler API by moving invocation data management to LLMInvocation class
* refactor: update relative imports to absolute imports
* Update handler to use a context manager instead of start_llm and stop_llm
* resolve tox -e doc failure
* safeguard against empty request-model
* fix tox typecheck errors for utils
* refactor: move tracer to generator, clean up dead code
* remove unused linting hint
* back off stricter request-model requirements
* reintroduce manual start/stop for langchain callback flow
* clean up context handler, clarify unit tests
* remove generator concept
* update token types
* code cleanup
* Refactor TestTelemetryHandler to use instance method for span exporter setup
* refactor: remove unused type properties
* refactor: update TelemetryHandler initialization to remove **kwargs
* refactor: remove tracer variable
* refactor: code style updates
* refactor: replace json.dumps with gen_ai_json_dumps for message serialization
* refactor: update span lifecycle to use sdk over setting context manually
* refactor: don't reinvent span attribute assignment
* refactor: pylint update for python 3.13
* Revert "refactor: update span lifecycle to use sdk over setting context manually"
This reverts commit be8620bb33.
---------
Co-authored-by: Aaron Abbott <aaronabbott@google.com>
* Add fsspec gen ai upload hook
* split up into sub-package to make imports cleaner
* Get rid of FsspecUploader separate class
* comments, clean up doc strings
* Rough draft of the contribution
* Add connection instrumentation based on the existing pattern.
add a helper function assert_span_count to simplify tests
add unit tests for pipeline hooks
* fix tests to use fake redis
* replace the redis version checks with defines
* Adjust comment and fix one test
* Update documentation with the client method
* Update the changelog
* Update the HTTPX readme to point to proper class method
* Add back the assert_span_count method
* Move the changelog update to the unreleased section
* Remove extra whitespace in the Changelog
* Fix linter complaints
* Remove hasattr assert
* Move the Changelog to Unreleased
* Review comments. Move types to types.py, move some functions to util.py. Tested and verified docs.
* Fix type compatibility
* fix typing and lint
---------
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>
* Add type hints to Psycopg
* fix tests
* fix
* Add psycopg.Connection to nitpick
* Add py.typed
* add psycopg to nitpick again
* add psycopg to nitpick again
* move py.typed to the right folder
---------
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
* feat: add opentelemetry-instrumentation-threading library
* fix: update python file with black formatter
* fix: modified title underline too short issue
* fix: modified library sorted via isort tool
* fix: modified CHANGELOG.md and remove unused parameter
* test: migrated unit test cases from the #1582 to this project
* chroe: updated the tox.ini test commands
* fix: fixed the lint issue
* feat: support ThreadPool and update document
* fix: fixed the lint issue
* refactor: remove redundant class and simplify capture OTel context usage
* fix: removed unused parameter
* test: added a new test case for thread pool
* fix: remove unused return response
* refactor: compared the array
* fix: remove f-string
* fix: fixed pylint issue
* fix: test library
* fix: updated CHANGELOG.md
---------
Co-authored-by: Aaron Abbott <aaronabbott@google.com>