mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-08-02 02:52:18 +08:00
Add genai contributing guidance (#2944)
This commit is contained in:
5
.github/component_owners.yml
vendored
5
.github/component_owners.yml
vendored
@ -66,3 +66,8 @@ components:
|
||||
|
||||
processor/opentelemetry-processor-baggage:
|
||||
- codeboten
|
||||
|
||||
instrumentation-genai/:
|
||||
- karthikscale3
|
||||
- lmolkova
|
||||
- lzchen
|
||||
|
@ -34,6 +34,7 @@ Please also read the [OpenTelemetry Contributor Guide](https://github.com/open-t
|
||||
* [Testing against a different Core repo branch/commit](#testing-against-a-different-core-repo-branchcommit)
|
||||
* [Style Guide](#style-guide)
|
||||
* [Guideline for instrumentations](#guideline-for-instrumentations)
|
||||
* [Guidance for GenAI instrumentations](#guideline-for-genai-instrumentations)
|
||||
* [Expectations from contributors](#expectations-from-contributors)
|
||||
|
||||
## Find a Buddy and get Started Quickly
|
||||
@ -272,6 +273,18 @@ Below is a checklist of things to be mindful of when implementing a new instrume
|
||||
- ex. <https://github.com/open-telemetry/opentelemetry-python-contrib/blob/60fb936b7e5371b3e5587074906c49fb873cbd76/instrumentation/opentelemetry-instrumentation-grpc/tests/test_aio_server_interceptor.py#L84>
|
||||
- All instrumentations have the same version. If you are going to develop a new instrumentation it would probably have `X.Y.dev` version and depends on `opentelemetry-instrumentation` and `opentelemetry-semantic-conventions` for the same version. That means that if you want to install your instrumentation you need to install its dependencies from this repo and the core repo also from git.
|
||||
|
||||
## Guidance for GenAI instrumentations
|
||||
|
||||
Instrumentations that relate to [Generative AI](https://opentelemetry.io/docs/specs/semconv/gen-ai/) systems will be placed in the [genai](./instrumentation/genai) folder. This section covers contributions related to those instrumentations. Please note that the [guidelines for instrumentations](#guideline-for-instrumentations) and [expectations from contributors](#expectations-from-contributors) still apply.
|
||||
|
||||
### Get Involved
|
||||
|
||||
* Reviewing PRs: If you would like to be tagged as reviewer in new PRs related to these instrumentations, please submit a PR to add your GitHub handle to [component_owners.yml](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2944/.github/component_owners.yml) under the corresponding instrumentation folder(s).
|
||||
|
||||
* Approving PRs: If you would like to be able to approve PRs related to these instrumentations, you must join [opentelemetry-python-contrib-approvers](https://github.com/orgs/open-telemetry/teams/opentelemetry-python-contrib-approvers) team. Please ask one of the [Python contrib maintainers](https://github.com/orgs/open-telemetry/teams/opentelemetry-python-contrib-maintainers) to be accepted into the team.
|
||||
|
||||
* Tracking and Creating Issues: For tracking issues related to Generative AI, please filter or add the label [gen-ai](https://github.com/open-telemetry/opentelemetry-python-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Agen-ai) when creating or searching issues. If you do not see an issue related to an instrumentation you would like to contribute to, please create a new tracking issue so the community is aware of its progress.
|
||||
|
||||
## Expectations from contributors
|
||||
|
||||
OpenTelemetry is an open source community, and as such, greatly encourages contributions from anyone interested in the project. With that being said, there is a certain level of expectation from contributors even after a pull request is merged, specifically pertaining to instrumentations. The OpenTelemetry Python community expects contributors to maintain a level of support and interest in the instrumentations they contribute. This is to ensure that the instrumentation does not become stale and still functions the way the original contributor intended. Some instrumentations also pertain to libraries that the current members of the community are not so familiar with, so it is necessary to rely on the expertise of the original contributing parties.
|
||||
|
@ -133,7 +133,6 @@ Emeritus Approvers:
|
||||
Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-telemetry/teams/python-maintainers)):
|
||||
|
||||
- [Aaron Abbott](https://github.com/aabmass), Google
|
||||
- [Diego Hurtado](https://github.com/ocelotl), Lightstep
|
||||
- [Leighton Chen](https://github.com/lzchen), Microsoft
|
||||
- [Riccardo Magliocchetti](https://github.com/xrmx), Elastic
|
||||
- [Shalev Roda](https://github.com/shalevr), Cisco
|
||||
@ -141,6 +140,7 @@ Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-t
|
||||
Emeritus Maintainers:
|
||||
|
||||
- [Alex Boten](https://github.com/codeboten), Lightstep
|
||||
- [Diego Hurtado](https://github.com/ocelotl), Lightstep
|
||||
- [Owais Lone](https://github.com/owais), Splunk
|
||||
- [Yusuke Tsutsumi](https://github.com/toumorokoshi), Google
|
||||
|
||||
|
@ -8,4 +8,4 @@ pytest-vcr==1.0.2
|
||||
wrapt==1.16.0
|
||||
|
||||
-e opentelemetry-instrumentation
|
||||
-e instrumentation/opentelemetry-instrumentation-openai-v2
|
||||
-e instrumentation-genai/opentelemetry-instrumentation-openai-v2
|
@ -29,7 +29,6 @@
|
||||
| [opentelemetry-instrumentation-logging](./opentelemetry-instrumentation-logging) | logging | No | experimental
|
||||
| [opentelemetry-instrumentation-mysql](./opentelemetry-instrumentation-mysql) | mysql-connector-python >= 8.0, < 10.0 | No | experimental
|
||||
| [opentelemetry-instrumentation-mysqlclient](./opentelemetry-instrumentation-mysqlclient) | mysqlclient < 3 | No | experimental
|
||||
| [opentelemetry-instrumentation-openai-v2](./opentelemetry-instrumentation-openai-v2) | openai >= 1.26.0 | No | experimental
|
||||
| [opentelemetry-instrumentation-pika](./opentelemetry-instrumentation-pika) | pika >= 0.12.0 | No | experimental
|
||||
| [opentelemetry-instrumentation-psycopg](./opentelemetry-instrumentation-psycopg) | psycopg >= 3.1.0 | No | experimental
|
||||
| [opentelemetry-instrumentation-psycopg2](./opentelemetry-instrumentation-psycopg2) | psycopg2 >= 2.7.3.1 | No | experimental
|
||||
|
@ -57,7 +57,6 @@ dependencies = [
|
||||
"opentelemetry-instrumentation-logging==0.49b0.dev",
|
||||
"opentelemetry-instrumentation-mysql==0.49b0.dev",
|
||||
"opentelemetry-instrumentation-mysqlclient==0.49b0.dev",
|
||||
"opentelemetry-instrumentation-openai-v2==2.0.0.dev",
|
||||
"opentelemetry-instrumentation-pika==0.49b0.dev",
|
||||
"opentelemetry-instrumentation-psycopg==0.49b0.dev",
|
||||
"opentelemetry-instrumentation-psycopg2==0.49b0.dev",
|
||||
|
@ -120,10 +120,6 @@ libraries = [
|
||||
"library": "mysqlclient < 3",
|
||||
"instrumentation": "opentelemetry-instrumentation-mysqlclient==0.49b0.dev",
|
||||
},
|
||||
{
|
||||
"library": "openai >= 1.0.0",
|
||||
"instrumentation": "opentelemetry-instrumentation-openai-v2==2.0.0.dev",
|
||||
},
|
||||
{
|
||||
"library": "pika >= 0.12.0",
|
||||
"instrumentation": "opentelemetry-instrumentation-pika==0.49b0.dev",
|
||||
|
8
tox.ini
8
tox.ini
@ -414,7 +414,7 @@ commands_pre =
|
||||
openai: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
|
||||
openai: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk
|
||||
openai: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils
|
||||
openai: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-openai-v2/test-requirements.txt
|
||||
openai: pip install -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements.txt
|
||||
|
||||
distro: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api
|
||||
distro: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
|
||||
@ -471,7 +471,7 @@ commands_pre =
|
||||
openai: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api
|
||||
openai: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk
|
||||
openai: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
|
||||
openai: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-openai-v2/test-requirements.txt
|
||||
openai: pip install -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements.txt
|
||||
|
||||
confluent-kafka: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api
|
||||
confluent-kafka: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
|
||||
@ -910,8 +910,8 @@ commands =
|
||||
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/opentelemetry-instrumentation-openai-v2/tests {posargs}
|
||||
lint-instrumentation-openai-v2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2"
|
||||
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-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs}
|
||||
lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika"
|
||||
|
Reference in New Issue
Block a user