Skip to content

Commit bf753ff

Browse files
authored
Merge branch 'main' into django-issue-fix
2 parents aeda5d2 + cf00cf5 commit bf753ff

File tree

65 files changed

+6568
-2922
lines changed

Some content is hidden

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

65 files changed

+6568
-2922
lines changed

.github/component_owners.yml

Lines changed: 24 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,23 @@
11
components:
22

3-
docs/instrumentation:
4-
- nemoshlag
5-
6-
7-
instrumentation/opentelemetry-instrumentation-aio-pika:
8-
- ofek1weiss
3+
instrumentation/opentelemetry-instrumentation-aiokafka:
4+
- dimastbk
95

10-
instrumentation/opentelemetry-instrumentation-boto3sqs:
11-
- oxeye-nikolay
12-
- nikosokolik
13-
146
instrumentation/opentelemetry-instrumentation-asyncclick:
157
- jomcgi
168

17-
instrumentation/opentelemetry-instrumentation-kafka-python:
18-
- nozik
19-
20-
instrumentation/opentelemetry-instrumentation-pika:
21-
- oxeye-nikolay
22-
- nikosokolik
23-
24-
instrumentation/opentelemetry-instrumentation-redis:
25-
- sungwonh
26-
27-
instrumentation/opentelemetry-instrumentation-remoulade:
28-
- ben-natan
29-
- machine424
30-
31-
instrumentation/opentelemetry-instrumentation-confluent-kafka:
32-
- oxeye-dorkolog
33-
- dorkolog
34-
35-
propagator/opentelemetry-propagator-aws-xray:
36-
- jj22ee
37-
38-
sdk-extension/opentelemetry-sdk-extension-aws:
39-
- srprash
40-
- jj22ee
41-
42-
instrumentation/opentelemetry-instrumentation-tortoiseorm:
43-
- tonybaloney
9+
instrumentation/opentelemetry-instrumentation-asyncio:
10+
- bourbonkk
4411

45-
instrumentation/opentelemetry-instrumentation-tornado:
46-
- shalevr
12+
instrumentation/opentelemetry-instrumentation-pymssql:
13+
- guillaumep
4714

4815
instrumentation/opentelemetry-instrumentation-urllib:
4916
- shalevr
5017

5118
instrumentation/opentelemetry-instrumentation-urllib3:
5219
- shalevr
5320

54-
instrumentation/opentelemetry-instrumentation-sqlalchemy:
55-
- shalevr
56-
57-
instrumentation/opentelemetry-instrumentation-cassandra:
58-
- mattcontinisio
59-
60-
instrumentation/opentelemetry-instrumentation-asyncio:
61-
- bourbonkk
62-
63-
instrumentation/opentelemetry-instrumentation-psycopg:
64-
- federicobond
65-
66-
instrumentation/opentelemetry-instrumentation-pymssql:
67-
- guillaumep
68-
69-
instrumentation/opentelemetry-instrumentation-aiokafka:
70-
- dimastbk
71-
72-
processor/opentelemetry-processor-baggage:
73-
- codeboten
74-
7521
instrumentation-genai/:
7622
- karthikscale3
7723
- lmolkova
@@ -80,3 +26,21 @@ components:
8026
- nirga
8127
- alizenhom
8228
- codefromthecrypt
29+
30+
processor/opentelemetry-processor-baggage:
31+
- codeboten
32+
33+
propagator/opentelemetry-propagator-aws-xray:
34+
- jj22ee
35+
36+
sdk-extension/opentelemetry-sdk-extension-aws:
37+
- srprash
38+
- jj22ee
39+
40+
util/opentelemetry-util-genai:
41+
- DylanRussell
42+
- keith-decker
43+
44+
instrumentation-genai/opentelemetry-instrumentation-langchain:
45+
- zhirafovod
46+
- wrisa

CHANGELOG.md

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

14+
### Fixed
15+
16+
### Added
17+
- `opentelemetry-instrumentation`: botocore: Add support for AWS Secrets Manager semantic convention attribute
18+
([#3765](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3765))
19+
1420
## Version 1.37.0/0.58b0 (2025-09-11)
1521

1622
### Fixed
@@ -42,8 +48,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4248

4349
### Added
4450

45-
- `opentelemetry-util-genai` Add a utility to parse the `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT` environment variable.
46-
Add `gen_ai_latest_experimental` as a new value to the Sem Conv stability flag ([#3716](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3716)).
4751
- `opentelemetry-instrumentation-confluent-kafka` Add support for confluent-kafka <=2.11.0
4852
([#3685](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3685))
4953
- `opentelemetry-instrumentation-system-metrics`: Add `cpython.gc.collected_objects` and `cpython.gc.uncollectable_objects` metrics

dev-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
pylint==3.0.2
22
httpretty==1.1.4
3-
pyright==v1.1.396
3+
pyright==v1.1.404
44
sphinx==7.1.2
55
sphinx-rtd-theme==2.0.0rc4
66
sphinx-autodoc-typehints==1.25.2

docs-requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ pymemcache~=1.3
99
# Required by conf
1010
django>=2.2
1111

12+
# Require by opentelemetry-util-genai
13+
fsspec>=2025.9.0
14+
1215
# Required by instrumentation and exporter packages
1316
aio_pika~=7.2.0
1417
aiohttp~=3.0

docs/conf.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,20 @@
6767
for f in listdir(resource)
6868
if isdir(join(resource, f))
6969
]
70+
util = "../util"
71+
util_dirs = [
72+
os.path.abspath("/".join([util, f, "src"]))
73+
for f in listdir(util)
74+
if isdir(join(util, f))
75+
]
7076
sys.path[:0] = (
7177
exp_dirs
7278
+ instr_dirs
7379
+ instr_genai_dirs
7480
+ sdk_ext_dirs
7581
+ prop_dirs
7682
+ resource_dirs
83+
+ util_dirs
7784
)
7885

7986
# -- Project information -----------------------------------------------------
@@ -123,6 +130,7 @@
123130
None,
124131
),
125132
"redis": ("https://redis.readthedocs.io/en/latest/", None),
133+
"fsspec": ("https://filesystem-spec.readthedocs.io/en/latest/", None),
126134
}
127135

128136
# http://www.sphinx-doc.org/en/master/config.html#confval-nitpicky
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
OpenTelemetry Python - GenAI Util
2+
=================================
3+
4+
.. automodule:: opentelemetry.util.genai
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:
8+
9+
.. automodule:: opentelemetry.util.genai.utils
10+
:members:
11+
:undoc-members:
12+
:show-inheritance:
13+
14+
.. automodule:: opentelemetry.util.genai.types
15+
:members:
16+
:undoc-members:
17+
:show-inheritance:
18+
19+
.. automodule:: opentelemetry.util.genai.environment_variables
20+
:members:
21+
:undoc-members:
22+
:show-inheritance:
23+
24+
.. automodule:: opentelemetry.util.genai.completion_hook
25+
:members:
26+
:undoc-members:
27+
:show-inheritance:
28+
29+
.. automodule:: opentelemetry.util.genai._fsspec_upload
30+
:members:
31+
:show-inheritance:

instrumentation-genai/opentelemetry-instrumentation-langchain/CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,7 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## Unreleased
8+
## Unreleased
9+
10+
- Added span support for genAI langchain llm invocation.
11+
([#3665](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3665))
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This project is inspired by and portions of it are derived from Traceloop OpenLLMetry
2+
(https://github.com/traceloop/openllmetry).
3+
Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0).
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Update this with your real OpenAI API key
2+
OPENAI_API_KEY=sk-YOUR_API_KEY
3+
4+
# Uncomment and change to your OTLP endpoint
5+
# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
6+
# OTEL_EXPORTER_OTLP_PROTOCOL=grpc
7+
8+
OTEL_SERVICE_NAME=opentelemetry-python-langchain-manual
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
OpenTelemetry Langcahin Instrumentation Example
2+
============================================
3+
4+
This is an example of how to instrument Langchain when configuring OpenTelemetry SDK and instrumentations manually.
5+
6+
When :code:`main.py <main.py>`_ is run, it exports traces to an OTLP-compatible endpoint.
7+
Traces include details such as the span name and other attributes.
8+
9+
Note: :code:`.env <.env>`_ file configures additional environment variables:
10+
- :code:`OTEL_LOGS_EXPORTER=otlp` to specify exporter type.
11+
- :code:`OPENAI_API_KEY` open AI key for accessing the OpenAI API.
12+
- :code:`OTEL_EXPORTER_OTLP_ENDPOINT` to specify the endpoint for exporting traces (default is http://localhost:4317).
13+
14+
Setup
15+
-----
16+
17+
Minimally, update the :code:`.env <.env>`_ file with your :code:`OPENAI_API_KEY`.
18+
An OTLP compatible endpoint should be listening for traces http://localhost:4317.
19+
If not, update :code:`OTEL_EXPORTER_OTLP_ENDPOINT` as well.
20+
21+
Next, set up a virtual environment like this:
22+
23+
::
24+
25+
python3 -m venv .venv
26+
source .venv/bin/activate
27+
pip install "python-dotenv[cli]"
28+
pip install -r requirements.txt
29+
30+
Run
31+
---
32+
33+
Run the example like this:
34+
35+
::
36+
37+
dotenv run -- python main.py
38+
39+
You should see the capital of France generated by Langchain ChatOpenAI while traces export to your configured observability tool.

0 commit comments

Comments
 (0)