Skip to content

Commit c711a18

Browse files
committed
fix: address review comments - fix error message and remove no-upgrade flag
1 parent 4316b4e commit c711a18

2 files changed

Lines changed: 27 additions & 24 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
> Use [this search for a list of all CHANGELOG.md files in this repo](https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-python-contrib+path%3A**%2FCHANGELOG.md&type=code).
1111
1212
## Unreleased
13-
13+
### Changed
14+
- `opentelemetry-instrumentation`: Batch all packages into a single `pip install` call in `bootstrap.py` to improve performance
15+
([#4530](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4530))
16+
1417
### Added
1518

1619
- Add `BaggageLogProcessor` to `opentelemetry-processor-baggage`
@@ -37,8 +40,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3740
([#4438](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4438))
3841

3942
### Fixed
40-
- `opentelemetry-instrumentation`: Batch all packages into a single `pip install` call in `bootstrap.py` to improve performance
41-
([#4530](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4530))
4243
- `opentelemetry-instrumentation-pika` Use `ObjectProxy` instead of `BaseObjectProxy` for `ReadyMessagesDequeProxy` to restore iterability with wrapt 2.x
4344
([#4461](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4461))
4445
- `opentelemetry-instrumentation-dbapi` Use `ObjectProxy` instead of `BaseObjectProxy` for `TracedCursorProxy` to restore iterability with wrapt 2.x

opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap.py

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,31 +31,40 @@
3131

3232

3333
def _syscall(func):
34-
def wrapper(packages=None, upgrade=True):
34+
def wrapper(packages=None):
3535
try:
36-
if packages:
37-
return func(packages, upgrade)
38-
return func()
36+
if packages is None:
37+
return func()
38+
if not packages:
39+
return None
40+
return func(packages)
3941
except SubprocessError as exp:
4042
cmd = getattr(exp, "cmd", None)
4143
if cmd:
4244
msg = f'Error calling system command "{" ".join(cmd)}"'
4345
if packages:
44-
msg = f'{msg} for package "{packages}"'
46+
msg = f'{msg} for packages "{", ".join(packages)}"'
4547
raise RuntimeError(msg)
4648

4749
return wrapper
4850

4951

5052
@_syscall
51-
def _sys_pip_install(packages, upgrade=True):
53+
def _sys_pip_install(packages):
5254
# explicit upgrade strategy to override potential pip config
5355
try:
54-
cmd = [sys.executable, "-m", "pip", "install"]
55-
if upgrade:
56-
cmd += ["-U", "--upgrade-strategy", "only-if-needed"]
57-
cmd += [*packages]
58-
check_call(cmd)
56+
check_call(
57+
[
58+
sys.executable,
59+
"-m",
60+
"pip",
61+
"install",
62+
"-U",
63+
"--upgrade-strategy",
64+
"only-if-needed",
65+
*packages,
66+
]
67+
)
5968
except CalledProcessError as error:
6069
print(error)
6170

@@ -115,10 +124,10 @@ def _run_requirements(default_instrumentations, libraries):
115124
)
116125

117126

118-
def _run_install(default_instrumentations, libraries, upgrade=True):
127+
def _run_install(default_instrumentations, libraries):
119128
libs = list(_find_installed_libraries(default_instrumentations, libraries))
120129
if libs:
121-
_sys_pip_install(libs, upgrade=upgrade)
130+
_sys_pip_install(libs)
122131
_pip_check(libraries)
123132

124133

@@ -153,11 +162,6 @@ def run(
153162
be piped and appended to a requirements.txt file.
154163
""",
155164
)
156-
parser.add_argument(
157-
"--no-upgrade",
158-
action="store_true",
159-
help="Do not upgrade packages with -U flag during install",
160-
)
161165
args = parser.parse_args()
162166

163167
if libraries is None:
@@ -167,8 +171,6 @@ def run(
167171
default_instrumentations = gen_default_instrumentations
168172

169173
if args.action == action_install:
170-
_run_install(
171-
default_instrumentations, libraries, upgrade=not args.no_upgrade
172-
)
174+
_run_install(default_instrumentations, libraries)
173175
else:
174176
_run_requirements(default_instrumentations, libraries)

0 commit comments

Comments
 (0)