[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 ### Added
- Add `opentelemetry-instrumentation-openai-v2` to `opentelemetry-bootstrap`
([#2996](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2996))
### Fixed ### Fixed
- `opentelemetry-instrumentation-httpx`: instrument_client is a static method again - `opentelemetry-instrumentation-httpx`: instrument_client is a static method again

View File

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

View File

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

View File

@ -21,14 +21,23 @@ import tomli
scripts_path = os.path.dirname(os.path.abspath(__file__)) scripts_path = os.path.dirname(os.path.abspath(__file__))
root_path = os.path.dirname(scripts_path) root_path = os.path.dirname(scripts_path)
instrumentations_path = os.path.join(root_path, "instrumentation") instrumentations_path = os.path.join(root_path, "instrumentation")
genai_instrumentations_path = os.path.join(root_path, "instrumentation-genai")
def get_instrumentation_packages(): 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) pkg_path = os.path.join(instrumentations_path, pkg)
if not os.path.isdir(pkg_path): if not os.path.isdir(pkg_path):
continue 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: try:
version = subprocess.check_output( version = subprocess.check_output(
"hatch version", "hatch version",