Commit Graph

71 Commits

Author SHA1 Message Date
Riccardo Magliocchetti
88e5bfc630 Add a basic http OpAMP client (#3635)
* 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>
2026-03-05 16:36:54 +01:00
Tammy Baylis
c907282d68 Fix psycopg2 (un)instrument_connection to use weakref, not mutate connection object (#4257)
* Fix psycopg2 (un)instrument_connection to use weakref, not mutate object

* Changelog

* conditional import for docs types

* Lint

* SImplify test

* Simplify

* Fix docs

---------

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2026-03-03 08:35:29 +00:00
Sri Kaaviya
3fcabc3f41 asyncio: fix environment variables not appearing in docs (#4261)
* 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>
2026-03-02 08:47:10 +00:00
deepakdinesh1123
0ab0c5f4c0 starlette: add args to instrument_app docstring (#4014)
* fix: add args to instrument_app docstring in starlette

* Update docs-requirements.txt

* fix docs ci

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

---------

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
Co-authored-by: emdneto <9735060+emdneto@users.noreply.github.com>
2026-01-14 16:24:11 +00:00
Lukas Hering
940d673730 opentelemetry-instrumentation-system-metrics: add OTEL_PYTHON_SYSTEM_METRICS_EXCLUDED_METRICS environment variable (#3959)
* add OTEL_PYTHON_SYSTEM_METRICS_EXCLUDED_METRICS environment variable

* fix CHANGELOG.md format

* tweak how config is initialized

* Limit documentation to basic glob patterns

---------

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2025-12-30 15:26:15 +00:00
Keith Decker
e3d3817424 GenAI Utils | Inference Type and Span Creation (#3768)
* 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>
2025-10-10 17:11:58 -04:00
Leighton Chen
114e590350 Fix docs build (#3816) 2025-10-07 10:34:07 -08:00
Aaron Abbott
229d969a34 Rename "fsspec_upload" entry point and classes to more generic "upload" (#3798) 2025-09-30 20:46:12 +00:00
Aaron Abbott
cf00cf57b6 Rename UploadHook -> CompletionHook (#3780) 2025-09-24 15:29:39 -04:00
Aaron Abbott
7819be1850 Add fsspec gen ai upload hook (#3759)
* 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
2025-09-17 13:44:44 -04:00
Aaron Abbott
7eb92032b2 Define genai content uploader hook and entry point (#3752)
* Get genai utils sphinx docs building

* Add genai types and utils for loading an uploader hook
2025-09-15 15:56:21 -04:00
Riccardo Magliocchetti
04f8899252 docs: update redis-py documentation link (#3581) 2025-06-13 10:01:16 -03:00
Emídio Neto
4a21b3974b resource-dector-container: package rename to opentelemetry-resource-detector-containerid (#3536)
* resource-dector-container: package rename

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix ruff

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* change entrypoint

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix test

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix for entrypoint name

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* add changelog

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

---------

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>
2025-06-04 10:41:38 +02:00
Adrian Garcia Badaracco
4d6893e8fa fastapi: fix wrapping of middlewares (#3012)
* fastapi: fix wrapping of middlewares

* fix import, super

* add test

* changelog

* lint

* lint

* fix

* ci

* fix wip

* fix

* fix

* lint

* lint

* Exit?

* Update test_fastapi_instrumentation.py

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>

* remove break

* fix

* remove dunders

* add test

* lint

* add endpoint to class

* fmt

* pr feedback

* move type ignores

* fix sphinx?

* Update CHANGELOG.md

* update fastapi versions

* fix?

* generate

* stop passing on user-supplied error handler

This prevents potential side effects, such as logging, to be executed
more than once per request handler exception.

* fix ci

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix ruff

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* remove unused funcs

Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>

* fix lint,ruff

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix changelog

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* add changelog note

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix conflicts with main

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

---------

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
Co-authored-by: Alexander Dorn <ad@not.one>
Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>
2025-05-20 11:00:56 -03:00
Oleg
2c0033f842 Add redis client only instrumentation (#3143)
* 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>
2025-05-09 09:13:46 +00:00
Joe McGinley
0ea9998c4c Add asyncclick instrumentation (#3319)
* Add asyncclick instrumentation

* Add instrumentation for asyncclick based CLI apps
* Add tox
* Add Changelog
* Update workflows

This implementation is based on the original click instrumentation work by:
- Emídio Neto <9735060+emdneto@users.noreply.github.com>
- Anuraag (Rag) Agrawal <anuraaga@gmail.com>
- Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>

* Update CHANGELOG.md

Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>

* Fix async refs in code-block example

---------

Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com>
2025-03-28 12:20:29 +01:00
guillaumep
5478a0b77a Add pymssql instrumentation (#394)
* Add pymssql instrumentation

* Run tox -e generate

* tox -e generate-workflows

---------

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2025-01-27 16:12:21 +01:00
Marcelo Trylesinski
07c97eac38 Add type hints to psycopg (#3067)
* 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>
2025-01-15 16:30:01 +00:00
Marcelo Trylesinski
29ef6a9455 Add type hints to dbapi (#3068) 2025-01-10 10:03:09 -08:00
Marcelo Trylesinski
d155540038 httpx: update type hints to RequestInfo/ResponseInfo (#3105) 2024-12-17 09:43:22 -08:00
Emídio Neto
668cb75f24 docs: add missing autodoc for click and aiohttp-server (#3060)
* add missing docs for click and aiohttp-server

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* fix click readme

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

* add nitpick

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>

---------

Signed-off-by: emdneto <9735060+emdneto@users.noreply.github.com>
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2024-12-03 09:19:43 +00:00
Liudmila Molkova
142b86c1bf OpenAI instrumentation docs fixes (#2988)
* Add openai docs config and improve readme

* up

* Add manual sample, add no-content tests

* update headers

* lint

* use grpc endpoint in openai samples, add extra env vars to readme

* move distro fix to another PR

* nits

* Ignore examples for pylint

* Update .pylintrc

* ignroe lint for example

* Fix README docs

* Update openai.rst

* Update conf.py

* Update docs-requirements.txt

* docs

---------

Co-authored-by: Leighton Chen <lechen@microsoft.com>
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2024-12-02 10:23:11 +01:00
Dmitriy
1a39ac80f8 feat: add opentelemetry-instrumentation-aiokafka (#2082) 2024-09-16 12:02:39 -07:00
Changemyminds
a5c48871fa feat: add opentelemetry-instrumentation-threading library (#2253)
* 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>
2024-04-11 11:57:19 -05:00
Diego Hurtado
24c1ccabc5 Remove [test] package from sdk-extension-aws (#2324)
Fixes #2234
2024-03-21 19:16:41 -06:00
Federico Bond
8daa8ad481 Add instrumentation for Psycopg 3.x (#2123)
* Add instrumentation for Psycopg 3.x

* Add federicobond to component_owners.yml
2024-02-24 19:35:25 +00:00
Allen Kim
b6492a7999 Feature/asyncio instrumentation (#1943)
* add asyncio instrumentation

* add asyncio instrumentation

* modify test configure

* modify test configure

* modify tox generate result

* modify tox generate result

* add python version check

* modify test code

* add CHANGELOG.md

* add docs

* modify pyproject.toml

* modify pyproject.toml

* Add comments mentioned in an issue #1919

* Add comments mentioned in an issue #1919

* add asyncio component owner

* - Add instrumentation-asyncio metric.
- Configure coroutines/to_thread func to apply trace via environment variables.
- Apply trace to future using a boolean environment variable.

* modify docs

* modify docs

* modify docs

* modify docs

* modify docs

* modify test_code

* modify test_code

* modify test_code

* modify asyncio version

* modify asyncio version

* update dependency

* modified lint results

* modified lint results

* modified lint results

* modified lint results

* modified lint results

* modified lint results

* modified lint results

* include feedback

* include feedback

* include feedback

* modify docs test results

* Update instrumentation/opentelemetry-instrumentation-asyncio/README.rst

Co-authored-by: Aaron Abbott <aaronabbott@google.com>

* Update instrumentation/opentelemetry-instrumentation-asyncio/README.rst

Co-authored-by: Aaron Abbott <aaronabbott@google.com>

* Update instrumentation/opentelemetry-instrumentation-asyncio/README.rst

Co-authored-by: Aaron Abbott <aaronabbott@google.com>

* Update instrumentation/opentelemetry-instrumentation-asyncio/README.rst

Co-authored-by: Aaron Abbott <aaronabbott@google.com>

* Update instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/utils.py

Co-authored-by: Aaron Abbott <aaronabbott@google.com>

* Update instrumentation/opentelemetry-instrumentation-asyncio/src/opentelemetry/instrumentation/asyncio/utils.py

Co-authored-by: Aaron Abbott <aaronabbott@google.com>

* include feedback

* include feedback

* drop python 3.7 support

* drop python 3.7 support

* Removed from default_instrumentations

* Recover

---------

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
Co-authored-by: Aaron Abbott <aaronabbott@google.com>
2024-02-14 15:44:17 -06:00
mattcontinisio
a02d98cb38 Add Cassandra instrumentation (#1902) 2023-08-30 15:40:14 +00:00
Alexandre Papin
09efe708c3 Instrument mysqlclient library (#1744)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2023-07-12 21:09:26 +02:00
Sanket Mehta
530650df41 Resource detector for container properties (#1584)
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: Leighton Chen <lechen@microsoft.com>
2023-05-22 11:24:31 -06:00
Nimrod Shlagman
d5cbd67e88 Add boto3sqs to docs (#1666) 2023-02-20 21:51:13 +05:30
Nimrod Shlagman
1e89854832 Add confluent kafka docs (#1668)
* add elasticsearch to docs

* add confluent kafka to docs

* tox generate fix

* tox docs fix

---------

Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2023-02-15 12:17:28 +00:00
Nimrod Shlagman
6d1550bb0b add python-kafka to docs (#1552) 2023-01-07 05:19:39 +00:00
Nimrod Shlagman
3dc2f8ee30 add elasticsearch to docs (#1542) 2023-01-06 20:35:44 +00:00
Nimrod Shlagman
1f96608388 Add aio_pika readthedocs documentation (#1504) 2023-01-04 05:26:37 +05:30
Nimrod Shlagman
de4cde7e33 add tortoiseorm docs (#1541) 2023-01-02 23:42:29 +05:30
Nimrod Shlagman
abaa26381e auto generate system metrics docs (#1530) 2023-01-01 22:43:13 +00:00
Nimrod Shlagman
e79b313bd7 Add/aws lamda docs (#1534) 2023-01-01 23:32:20 +05:30
Nimrod Shlagman
ddbc40f907 add pika to docs (#1540) 2022-12-27 12:39:49 +05:30
Nimrod Shlagman
426d641590 Add remoulade readthedocs documentation (#1515) 2022-12-22 19:29:29 +00:00
Nimrod Shlagman
33bb7be903 Add urllib readthedocs documentation (#1510) 2022-12-20 15:03:12 +00:00
Srikanth Chekuri
0adb306a8e Remove DataDog exporter from main (#1366) 2022-10-06 10:46:31 +00:00
Srikanth Chekuri
6753c872d2 Update tooling (#1330) 2022-09-15 23:42:49 +05:30
Ran Nozik
0b9e96dae0 Support newer httpx versions (#866) 2022-02-04 09:07:31 -08:00
Oleg A
895800fa1d aiohttp instrumentation: correct url filter input type (#864)
* fix: correct _UrlFilterT

* docs: CHANGELOG.md update

* style: apply isort

* fix: add yarl to docs requirements

* Revert "fix: add yarl to docs requirements"

This reverts commit e482ba54fc.

* fix: add yarl to nitpick exceptions

Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2022-02-01 16:04:49 -06:00
Owais Lone
3137c1fa41 Upgrade black (#802) 2021-11-10 20:57:01 +00:00
(Eliseo) Nathaniel Ruiz Nowell
78f887ef3d Better file naming for AWS XRay Propagator + Add NathanielRN as Propagator owner (#729) 2021-10-12 19:08:16 +00:00
(Eliseo) Nathaniel Ruiz Nowell
224780f38d Move AWS X-Ray Propagator into its own package (#720)
Co-authored-by: Owais Lone <owais@users.noreply.github.com>
Co-authored-by: Diego Hurtado <ocelotl@users.noreply.github.com>
2021-10-12 15:44:03 +00:00
alrex
d2984f5242 remove need to clone core repo (#678) 2021-09-27 20:28:32 +00:00
Diego Hurtado
278149553b Remove opentelemetry-instrumentation (#595)
Fixes #592
2021-07-19 09:19:48 -07:00