Skip to content

Commit 76cb1ed

Browse files
committed
Add instruments_either to bootstrap
1 parent a8c0854 commit 76cb1ed

File tree

5 files changed

+20
-4
lines changed

5 files changed

+20
-4
lines changed

instrumentation/opentelemetry-instrumentation-fastapi/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies = [
3333
]
3434

3535
[project.optional-dependencies]
36+
instruments = []
3637
instruments_either = [
3738
"fastapi ~= 0.92",
3839
"fastapi-slim ~= 0.92",

instrumentation/opentelemetry-instrumentation-kafka-python/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ dependencies = [
3131
]
3232

3333
[project.optional-dependencies]
34+
instruments = []
3435
instruments_either = [
3536
"kafka-python >= 2.0, < 3.0",
3637
"kafka-python-ng >= 2.0, < 3.0"

instrumentation/opentelemetry-instrumentation-psycopg2/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ dependencies = [
3131
]
3232

3333
[project.optional-dependencies]
34+
instruments = []
3435
instruments_either = [
3536
"psycopg2 >= 2.7.3.1",
3637
"psycopg2-binary >= 2.7.3.1",

scripts/generate_instrumentation_bootstrap.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def main():
8484
pkg_name = pkg.get("name")
8585
if pkg_name in packages_to_exclude:
8686
continue
87-
if not pkg["instruments"]:
87+
if not pkg["instruments"] and not pkg["instruments_either"]:
8888
default_instrumentations.elts.append(ast.Str(pkg["requirement"]))
8989
for target_pkg in pkg["instruments"]:
9090
libraries.elts.append(
@@ -93,6 +93,13 @@ def main():
9393
values=[ast.Str(target_pkg), ast.Str(pkg["requirement"])],
9494
)
9595
)
96+
for target_pkg in pkg["instruments_either"]:
97+
libraries.elts.append(
98+
ast.Dict(
99+
keys=[ast.Str("library"), ast.Str("instrumentation")],
100+
values=[ast.Str(target_pkg), ast.Str(pkg["requirement"])],
101+
)
102+
)
96103

97104
tree = ast.parse(_source_tmpl)
98105
tree.body[0].value = libraries

scripts/otel_packaging.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,18 @@ def get_instrumentation_packages(
6060
with open(pyproject_toml_path, "rb") as file:
6161
pyproject_toml = tomli.load(file)
6262

63+
optional_dependencies = pyproject_toml["project"][
64+
"optional-dependencies"
65+
]
66+
instruments = optional_dependencies.get("instruments", [])
67+
instruments_either = optional_dependencies.get(
68+
"instruments_either", []
69+
)
6370
instrumentation = {
6471
"name": pyproject_toml["project"]["name"],
6572
"version": version.strip(),
66-
"instruments": pyproject_toml["project"]["optional-dependencies"][
67-
"instruments"
68-
],
73+
"instruments": instruments,
74+
"instruments_either": instruments_either,
6975
}
7076
if instrumentation["name"] in independent_packages:
7177
specifier = independent_packages[instrumentation["name"]]

0 commit comments

Comments
 (0)