Skip to content

Commit 6a49f92

Browse files
authored
Merge branch 'main' into add-type-checker
2 parents 54f9bee + 54cbf59 commit 6a49f92

File tree

90 files changed

+608
-176
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+608
-176
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
1212
## Unreleased
1313

14+
### Added
15+
16+
- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.7.0
17+
([#3100](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3100))
18+
- Add support to database stability opt-in in `_semconv` utilities and add tests
19+
([#3111](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3111))
20+
21+
### Fixed
22+
23+
- `opentelemetry-instrumentation-httpx` Fix `RequestInfo`/`ResponseInfo` type hints
24+
([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105))
25+
26+
1427
## Version 1.29.0/0.50b0 (2024-12-11)
1528

1629
### Added

CONTRIBUTING.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ You can run `tox` with the following arguments:
6363

6464
* `tox` to run all existing tox commands, including unit tests for all packages
6565
under multiple Python versions
66-
* `tox -e docs` to regenerate the API docs
66+
* `tox -e docs` to regenerate all docs
6767
* `tox -e py312-test-instrumentation-aiopg` to e.g. run the aiopg instrumentation unit tests under a specific
6868
Python version
6969
* `tox -e spellcheck` to run a spellcheck on all the code
@@ -89,7 +89,9 @@ for more detail on available tox commands.
8989

9090
### Troubleshooting
9191

92-
> Some packages may require additional system wide dependencies to be installed. For example, you may need to install `libpq-dev` to run the postgresql client libraries instrumentation tests. or `libsnappy-dev` to run the prometheus exporter tests. If you encounter a build error, please check the installation instructions for the package you are trying to run tests for.
92+
Some packages may require additional system-wide dependencies to be installed. For example, you may need to install `libpq-dev` to run the postgresql client libraries instrumentation tests or `libsnappy-dev` to run the prometheus exporter tests. If you encounter a build error, please check the installation instructions for the package you are trying to run tests for.
93+
94+
For `docs` building, you may need to install `mysql-client` and other required dependencies as necessary. Ensure the Python version used in your local setup matches the version used in the [CI](./.github/workflows/) to maintain compatibility when building the documentation.
9395

9496
### Benchmarks
9597

@@ -278,6 +280,20 @@ Below is a checklist of things to be mindful of when implementing a new instrume
278280
- Testing
279281
- When adding a new instrumentation remember to update `tox.ini` adding appropriate rules in `envlist`, `command_pre` and `commands` sections
280282

283+
### Update supported instrumentation package versions
284+
285+
- Navigate to the **instrumentation package directory:**
286+
- Update **`pyproject.toml`** file by modifying _instruments_ entry in the `[project.optional-dependencies]` section with the new version constraint
287+
- Update `_instruments` variable in instrumentation **`package.py`** file with the new version constraint
288+
- At the **root of the project directory**, run `tox -e generate` to regenerate necessary files
289+
290+
If you're adding support for a new version of the instrumentation package, follow these additional steps:
291+
292+
- At the **instrumentation package directory:** Add new test-requirements.txt file with the respective package version required for testing
293+
- At the **root of the project directory**: Add a new test environment entry for the package version in [tox.ini](./tox.ini) and run `tox -e generate-workflows` to regenerate new workflows accordingly. In the same [tox.ini](./tox.ini) file, search for `opentelemetry-instrumentation-{package}/test-requirements` and add a new line to point to the new test-requirements.txt you created in the previous step so tox can install the correct requirements.
294+
295+
Example PRs: [#2976](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2976), [#2845](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2845)
296+
281297
## Guideline for GenAI instrumentations
282298

283299
Instrumentations that relate to [Generative AI](https://opentelemetry.io/docs/specs/semconv/gen-ai/) systems will be placed in the [instrumentation-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.

_template/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ REPLACE_ME = "opentelemetry.instrumentation.<REPLACE>"
4141
# url of the instrumentation e.g
4242
# Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/instrumentation/opentelemetry-instrumentation-sqlalchemy"
4343
Homepage = "<REPLACE ME>"
44+
Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib"
4445

4546
[tool.hatch.version]
4647
# REPLACE ME: the path to the version file e.g

docs/nitpick-exceptions.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ py-class=
2929
httpx.SyncByteStream
3030
httpx.AsyncByteStream
3131
httpx.Response
32+
httpx.URL
33+
httpx.Headers
3234
aiohttp.web_request.Request
3335
yarl.URL
3436
cimpl.Producer

exporter/opentelemetry-exporter-prometheus-remote-write/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ dependencies = [
3535

3636
[project.urls]
3737
Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/exporter/opentelemetry-exporter-prometheus-remote-write"
38+
Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib"
3839

3940
[tool.hatch.version]
4041
path = "src/opentelemetry/exporter/prometheus_remote_write/version.py"

exporter/opentelemetry-exporter-richconsole/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies = [
3333

3434
[project.urls]
3535
Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/exporter/opentelemetry-exporter-richconsole"
36+
Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib"
3637

3738
[tool.hatch.version]
3839
path = "src/opentelemetry/exporter/richconsole/version.py"
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
openai~=1.54.4
1+
openai~=1.57.3
22

3-
opentelemetry-sdk~=1.28.2
4-
opentelemetry-exporter-otlp-proto-grpc~=1.28.2
3+
opentelemetry-sdk~=1.29.0
4+
opentelemetry-exporter-otlp-proto-grpc~=1.29.0
55
opentelemetry-instrumentation-openai-v2~=2.0b0
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
openai~=1.54.4
1+
openai~=1.57.3
22

3-
opentelemetry-sdk~=1.28.2
4-
opentelemetry-exporter-otlp-proto-grpc~=1.28.2
5-
opentelemetry-distro~=0.49b2
3+
opentelemetry-sdk~=1.29.0
4+
opentelemetry-exporter-otlp-proto-grpc~=1.29.0
5+
opentelemetry-distro~=0.50b0
66
opentelemetry-instrumentation-openai-v2~=2.0b0

instrumentation-genai/opentelemetry-instrumentation-openai-v2/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ openai = "opentelemetry.instrumentation.openai_v2:OpenAIInstrumentor"
4040

4141
[project.urls]
4242
Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation-genai/opentelemetry-instrumentation-openai-v2"
43+
Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib"
4344

4445
[tool.hatch.version]
4546
path = "src/opentelemetry/instrumentation/openai_v2/version.py"

instrumentation/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
| [opentelemetry-instrumentation-cassandra](./opentelemetry-instrumentation-cassandra) | cassandra-driver ~= 3.25,scylla-driver ~= 3.25 | No | experimental
1717
| [opentelemetry-instrumentation-celery](./opentelemetry-instrumentation-celery) | celery >= 4.0, < 6.0 | No | experimental
1818
| [opentelemetry-instrumentation-click](./opentelemetry-instrumentation-click) | click >= 8.1.3, < 9.0.0 | No | experimental
19-
| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.4.0 | No | experimental
19+
| [opentelemetry-instrumentation-confluent-kafka](./opentelemetry-instrumentation-confluent-kafka) | confluent-kafka >= 1.8.2, <= 2.7.0 | No | experimental
2020
| [opentelemetry-instrumentation-dbapi](./opentelemetry-instrumentation-dbapi) | dbapi | No | experimental
2121
| [opentelemetry-instrumentation-django](./opentelemetry-instrumentation-django) | django >= 1.10 | Yes | experimental
2222
| [opentelemetry-instrumentation-elasticsearch](./opentelemetry-instrumentation-elasticsearch) | elasticsearch >= 6.0 | No | experimental

0 commit comments

Comments
 (0)