mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-28 12:43:39 +08:00
Add opentelemetry-instrumentation-vertexai>=2.0b0 to opentelemetry-bootstrap (#3307)
Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
This commit is contained in:
@ -27,6 +27,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
([#3302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3302))
|
([#3302](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3302))
|
||||||
- `opentelemetry-instrumentation` make it simpler to initialize auto-instrumentation programmatically
|
- `opentelemetry-instrumentation` make it simpler to initialize auto-instrumentation programmatically
|
||||||
([#3273](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3273))
|
([#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
|
### Fixed
|
||||||
|
|
||||||
|
@ -20,6 +20,10 @@ libraries = [
|
|||||||
"library": "openai >= 1.26.0",
|
"library": "openai >= 1.26.0",
|
||||||
"instrumentation": "opentelemetry-instrumentation-openai-v2",
|
"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",
|
"library": "aio_pika >= 7.2.0, < 10.0.0",
|
||||||
"instrumentation": "opentelemetry-instrumentation-aio-pika==0.52b0.dev",
|
"instrumentation": "opentelemetry-instrumentation-aio-pika==0.52b0.dev",
|
||||||
|
@ -64,15 +64,14 @@ packages_to_exclude = [
|
|||||||
# development. This filter will get removed once it is further along in its
|
# development. This filter will get removed once it is further along in its
|
||||||
# development lifecycle and ready to be included by default.
|
# development lifecycle and ready to be included by default.
|
||||||
"opentelemetry-instrumentation-google-genai",
|
"opentelemetry-instrumentation-google-genai",
|
||||||
"opentelemetry-instrumentation-vertexai", # not released yet
|
|
||||||
]
|
]
|
||||||
|
|
||||||
# We should not put any version limit for instrumentations that are released independently
|
# Static version specifiers for instrumentations that are released independently
|
||||||
unversioned_packages = [
|
independent_packages = {
|
||||||
"opentelemetry-instrumentation-openai-v2",
|
"opentelemetry-instrumentation-openai-v2": "",
|
||||||
"opentelemetry-instrumentation-vertexai",
|
"opentelemetry-instrumentation-vertexai": ">=2.0b0",
|
||||||
"opentelemetry-instrumentation-google-genai",
|
"opentelemetry-instrumentation-google-genai": "",
|
||||||
]
|
}
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@ -80,7 +79,7 @@ def main():
|
|||||||
default_instrumentations = ast.List(elts=[])
|
default_instrumentations = ast.List(elts=[])
|
||||||
libraries = ast.List(elts=[])
|
libraries = ast.List(elts=[])
|
||||||
for pkg in get_instrumentation_packages(
|
for pkg in get_instrumentation_packages(
|
||||||
unversioned_packages=unversioned_packages
|
independent_packages=independent_packages
|
||||||
):
|
):
|
||||||
pkg_name = pkg.get("name")
|
pkg_name = pkg.get("name")
|
||||||
if pkg_name in packages_to_exclude:
|
if pkg_name in packages_to_exclude:
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
from subprocess import CalledProcessError
|
from subprocess import CalledProcessError
|
||||||
@ -24,8 +26,10 @@ instrumentations_path = os.path.join(root_path, "instrumentation")
|
|||||||
genai_instrumentations_path = os.path.join(root_path, "instrumentation-genai")
|
genai_instrumentations_path = os.path.join(root_path, "instrumentation-genai")
|
||||||
|
|
||||||
|
|
||||||
def get_instrumentation_packages(unversioned_packages=None):
|
def get_instrumentation_packages(
|
||||||
unversioned_packages = unversioned_packages or []
|
independent_packages: dict[str, str] | None = None,
|
||||||
|
):
|
||||||
|
independent_packages = independent_packages or {}
|
||||||
pkg_paths = []
|
pkg_paths = []
|
||||||
for pkg in os.listdir(instrumentations_path):
|
for pkg in os.listdir(instrumentations_path):
|
||||||
pkg_path = os.path.join(instrumentations_path, pkg)
|
pkg_path = os.path.join(instrumentations_path, pkg)
|
||||||
@ -63,8 +67,11 @@ def get_instrumentation_packages(unversioned_packages=None):
|
|||||||
"instruments"
|
"instruments"
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
if instrumentation["name"] in unversioned_packages:
|
if instrumentation["name"] in independent_packages:
|
||||||
instrumentation["requirement"] = instrumentation["name"]
|
specifier = independent_packages[instrumentation["name"]]
|
||||||
|
instrumentation["requirement"] = (
|
||||||
|
f"{instrumentation['name']}{specifier}"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
instrumentation["requirement"] = "==".join(
|
instrumentation["requirement"] = "==".join(
|
||||||
(
|
(
|
||||||
|
Reference in New Issue
Block a user