Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
([#3275](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3275))
- `opentelemetry-instrumentation` make it simpler to initialize auto-instrumentation programmatically
([#3273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3273))
- Add `opentelemetry-instrumentation-vertexai>=2.0b0` to `opentelemetry-bootstrap`
([#3307](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3307))


### Fixed

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@
"library": "openai >= 1.26.0",
"instrumentation": "opentelemetry-instrumentation-openai-v2",
},
{
"library": "google-cloud-aiplatform >= 1.64",
"instrumentation": "opentelemetry-instrumentation-vertexai>=2.0b0",
},
{
"library": "aio_pika >= 7.2.0, < 10.0.0",
"instrumentation": "opentelemetry-instrumentation-aio-pika==0.52b0.dev",
Expand Down
15 changes: 7 additions & 8 deletions scripts/generate_instrumentation_bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,23 +64,22 @@
# development. This filter will get removed once it is further along in its
# development lifecycle and ready to be included by default.
"opentelemetry-instrumentation-google-genai",
"opentelemetry-instrumentation-vertexai", # not released yet
]

# We should not put any version limit for instrumentations that are released independently
unversioned_packages = [
"opentelemetry-instrumentation-openai-v2",
"opentelemetry-instrumentation-vertexai",
"opentelemetry-instrumentation-google-genai",
]
# Static version specifiers for instrumentations that are released independently
independent_packages = {
"opentelemetry-instrumentation-openai-v2": "",
"opentelemetry-instrumentation-vertexai": ">=2.0b0",
"opentelemetry-instrumentation-google-genai": "",
}


def main():
# pylint: disable=no-member
default_instrumentations = ast.List(elts=[])
libraries = ast.List(elts=[])
for pkg in get_instrumentation_packages(
unversioned_packages=unversioned_packages
independent_packages=independent_packages
):
pkg_name = pkg.get("name")
if pkg_name in packages_to_exclude:
Expand Down
15 changes: 11 additions & 4 deletions scripts/otel_packaging.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from __future__ import annotations

import os
import subprocess
from subprocess import CalledProcessError
Expand All @@ -24,8 +26,10 @@
genai_instrumentations_path = os.path.join(root_path, "instrumentation-genai")


def get_instrumentation_packages(unversioned_packages=None):
unversioned_packages = unversioned_packages or []
def get_instrumentation_packages(
independent_packages: dict[str, str] | None = None,
):
independent_packages = independent_packages or {}
pkg_paths = []
for pkg in os.listdir(instrumentations_path):
pkg_path = os.path.join(instrumentations_path, pkg)
Expand Down Expand Up @@ -63,8 +67,11 @@ def get_instrumentation_packages(unversioned_packages=None):
"instruments"
],
}
if instrumentation["name"] in unversioned_packages:
instrumentation["requirement"] = instrumentation["name"]
if instrumentation["name"] in independent_packages:
specifier = independent_packages[instrumentation["name"]]
instrumentation["requirement"] = (
f"{instrumentation['name']}{specifier}"
)
else:
instrumentation["requirement"] = "==".join(
(
Expand Down