Skip to content

Commit 695ece2

Browse files
authoredNov 4, 2024
Merge branch 'main' into fix-system-metrics-win
2 parents 76c8452 + 3109724 commit 695ece2

31 files changed

+24
-12
lines changed
 

Diff for: ‎.github/component_owners.yml

+5
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,8 @@ components:
6666

6767
processor/opentelemetry-processor-baggage:
6868
- codeboten
69+
70+
instrumentation-genai/:
71+
- karthikscale3
72+
- lmolkova
73+
- lzchen

Diff for: ‎CONTRIBUTING.md

+13
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Please also read the [OpenTelemetry Contributor Guide](https://github.com/open-t
3434
* [Testing against a different Core repo branch/commit](#testing-against-a-different-core-repo-branchcommit)
3535
* [Style Guide](#style-guide)
3636
* [Guideline for instrumentations](#guideline-for-instrumentations)
37+
* [Guidance for GenAI instrumentations](#guideline-for-genai-instrumentations)
3738
* [Expectations from contributors](#expectations-from-contributors)
3839

3940
## 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
272273
- ex. <https://github.com/open-telemetry/opentelemetry-python-contrib/blob/60fb936b7e5371b3e5587074906c49fb873cbd76/instrumentation/opentelemetry-instrumentation-grpc/tests/test_aio_server_interceptor.py#L84>
273274
- 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.
274275

276+
## Guidance for GenAI instrumentations
277+
278+
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.
279+
280+
### Get Involved
281+
282+
* 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).
283+
284+
* 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.
285+
286+
* 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.
287+
275288
## Expectations from contributors
276289

277290
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.

Diff for: ‎README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,14 @@ Emeritus Approvers:
133133
Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-telemetry/teams/python-maintainers)):
134134

135135
- [Aaron Abbott](https://github.com/aabmass), Google
136-
- [Diego Hurtado](https://github.com/ocelotl), Lightstep
137136
- [Leighton Chen](https://github.com/lzchen), Microsoft
138137
- [Riccardo Magliocchetti](https://github.com/xrmx), Elastic
139138
- [Shalev Roda](https://github.com/shalevr), Cisco
140139

141140
Emeritus Maintainers:
142141

143142
- [Alex Boten](https://github.com/codeboten), Lightstep
143+
- [Diego Hurtado](https://github.com/ocelotl), Lightstep
144144
- [Owais Lone](https://github.com/owais), Splunk
145145
- [Yusuke Tsutsumi](https://github.com/toumorokoshi), Google
146146

Diff for: ‎instrumentation/opentelemetry-instrumentation-openai-v2/test-requirements.txt renamed to ‎instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ pytest-vcr==1.0.2
88
wrapt==1.16.0
99

1010
-e opentelemetry-instrumentation
11-
-e instrumentation/opentelemetry-instrumentation-openai-v2
11+
-e instrumentation-genai/opentelemetry-instrumentation-openai-v2

Diff for: ‎instrumentation/README.md

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
| [opentelemetry-instrumentation-logging](./opentelemetry-instrumentation-logging) | logging | No | experimental
3030
| [opentelemetry-instrumentation-mysql](./opentelemetry-instrumentation-mysql) | mysql-connector-python >= 8.0, < 10.0 | No | experimental
3131
| [opentelemetry-instrumentation-mysqlclient](./opentelemetry-instrumentation-mysqlclient) | mysqlclient < 3 | No | experimental
32-
| [opentelemetry-instrumentation-openai-v2](./opentelemetry-instrumentation-openai-v2) | openai >= 1.26.0 | No | experimental
3332
| [opentelemetry-instrumentation-pika](./opentelemetry-instrumentation-pika) | pika >= 0.12.0 | No | experimental
3433
| [opentelemetry-instrumentation-psycopg](./opentelemetry-instrumentation-psycopg) | psycopg >= 3.1.0 | No | experimental
3534
| [opentelemetry-instrumentation-psycopg2](./opentelemetry-instrumentation-psycopg2) | psycopg2 >= 2.7.3.1 | No | experimental

Diff for: ‎opentelemetry-contrib-instrumentations/pyproject.toml

-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ dependencies = [
5757
"opentelemetry-instrumentation-logging==0.49b0.dev",
5858
"opentelemetry-instrumentation-mysql==0.49b0.dev",
5959
"opentelemetry-instrumentation-mysqlclient==0.49b0.dev",
60-
"opentelemetry-instrumentation-openai-v2==2.0.0.dev",
6160
"opentelemetry-instrumentation-pika==0.49b0.dev",
6261
"opentelemetry-instrumentation-psycopg==0.49b0.dev",
6362
"opentelemetry-instrumentation-psycopg2==0.49b0.dev",

Diff for: ‎opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py

-4
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,6 @@
120120
"library": "mysqlclient < 3",
121121
"instrumentation": "opentelemetry-instrumentation-mysqlclient==0.49b0.dev",
122122
},
123-
{
124-
"library": "openai >= 1.0.0",
125-
"instrumentation": "opentelemetry-instrumentation-openai-v2==2.0.0.dev",
126-
},
127123
{
128124
"library": "pika >= 0.12.0",
129125
"instrumentation": "opentelemetry-instrumentation-pika==0.49b0.dev",

Diff for: ‎tox.ini

+4-4
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ commands_pre =
414414
openai: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
415415
openai: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk
416416
openai: pip install opentelemetry-test-utils@{env:CORE_REPO}\#egg=opentelemetry-test-utils&subdirectory=tests/opentelemetry-test-utils
417-
openai: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-openai-v2/test-requirements.txt
417+
openai: pip install -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements.txt
418418

419419
distro: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api
420420
distro: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
@@ -471,7 +471,7 @@ commands_pre =
471471
openai: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api
472472
openai: pip install opentelemetry-sdk@{env:CORE_REPO}\#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk
473473
openai: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
474-
openai: pip install -r {toxinidir}/instrumentation/opentelemetry-instrumentation-openai-v2/test-requirements.txt
474+
openai: pip install -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/test-requirements.txt
475475

476476
confluent-kafka: pip install opentelemetry-api@{env:CORE_REPO}\#egg=opentelemetry-api&subdirectory=opentelemetry-api
477477
confluent-kafka: pip install opentelemetry-semantic-conventions@{env:CORE_REPO}\#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions
@@ -910,8 +910,8 @@ commands =
910910
test-instrumentation-mysqlclient: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-mysqlclient/tests {posargs}
911911
lint-instrumentation-mysqlclient: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mysqlclient"
912912

913-
test-instrumentation-openai-v2: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-openai-v2/tests {posargs}
914-
lint-instrumentation-openai-v2: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2"
913+
test-instrumentation-openai-v2: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-openai-v2/tests {posargs}
914+
lint-instrumentation-openai-v2: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-openai-v2"
915915

916916
test-instrumentation-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs}
917917
lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika"

0 commit comments

Comments
 (0)