[release/v1.28.x-0.49bx] Add openai instrumentation to opentelemetry-bootstrap (#2996) (#3010)

* Add openai instrumentation to opentelemetry-bootstrap (#2996)

* Move changelog entry to Unreleased section

* Run `tox -e generate` to fix bootstrap_gen.py

---------

Co-authored-by: Leighton Chen <lechen@microsoft.com>
This commit is contained in:
Aaron Abbott
2024-11-15 12:10:02 -05:00
committed by GitHub
parent 934ede51e0
commit d2e860c56c
4 changed files with 18 additions and 2 deletions

View File

@ -13,6 +13,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap`
([#2996](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2996))
### Fixed
- `opentelemetry-instrumentation-httpx`: instrument_client is a static method again

View File

@ -32,7 +32,7 @@ dependencies = [
[project.optional-dependencies]
instruments = [
"openai >= 1.0.0",
"openai >= 1.26.0",
]
[project.entry-points.opentelemetry_instrumentor]

View File

@ -16,6 +16,10 @@
# RUN `python scripts/generate_instrumentation_bootstrap.py` TO REGENERATE.
libraries = [
{
"library": "openai >= 1.26.0",
"instrumentation": "opentelemetry-instrumentation-openai-v2==2.0.0.dev",
},
{
"library": "aio_pika >= 7.2.0, < 10.0.0",
"instrumentation": "opentelemetry-instrumentation-aio-pika==0.49b1",

View File

@ -21,14 +21,23 @@ import tomli
scripts_path = os.path.dirname(os.path.abspath(__file__))
root_path = os.path.dirname(scripts_path)
instrumentations_path = os.path.join(root_path, "instrumentation")
genai_instrumentations_path = os.path.join(root_path, "instrumentation-genai")
def get_instrumentation_packages():
for pkg in sorted(os.listdir(instrumentations_path)):
pkg_paths = []
for pkg in os.listdir(instrumentations_path):
pkg_path = os.path.join(instrumentations_path, pkg)
if not os.path.isdir(pkg_path):
continue
pkg_paths.append(pkg_path)
for pkg in os.listdir(genai_instrumentations_path):
pkg_path = os.path.join(genai_instrumentations_path, pkg)
if not os.path.isdir(pkg_path):
continue
pkg_paths.append(pkg_path)
for pkg_path in sorted(pkg_paths):
try:
version = subprocess.check_output(
"hatch version",