Skip to content

Commit 3a39cbb

Browse files
hartungsteniosrikanthccv
authored andcommitted
change bootstrap_gen to use a list instead of dict
1 parent 45a2679 commit 3a39cbb

File tree

3 files changed

+53
-58
lines changed

3 files changed

+53
-58
lines changed

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

+7-10
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def _pip_check():
7777
) as check_pipe:
7878
pip_check = check_pipe.communicate()[0].decode()
7979
pip_check_lower = pip_check.lower()
80-
for package_tup in libraries.values():
80+
for package_tup in libraries:
8181
for package in package_tup:
8282
if package.lower() in pip_check_lower:
8383
raise RuntimeError(f"Dependency conflict found: {pip_check}")
@@ -102,15 +102,12 @@ def _is_installed(req):
102102

103103

104104
def _find_installed_libraries():
105-
libs = default_instrumentations[:]
106-
libs.extend(
107-
[
108-
v["instrumentation"]
109-
for _, v in libraries.items()
110-
if _is_installed(v["library"])
111-
]
112-
)
113-
return libs
105+
for lib in default_instrumentations:
106+
yield lib
107+
108+
for lib in libraries:
109+
if _is_installed(lib["library"]):
110+
yield lib["instrumentation"]
114111

115112

116113
def _run_requirements():

opentelemetry-instrumentation/src/opentelemetry/instrumentation/bootstrap_gen.py

+44-44
Original file line numberDiff line numberDiff line change
@@ -15,176 +15,176 @@
1515
# DO NOT EDIT. THIS FILE WAS AUTOGENERATED FROM INSTRUMENTATION PACKAGES.
1616
# RUN `python scripts/generate_instrumentation_bootstrap.py` TO REGENERATE.
1717

18-
libraries = {
19-
"aio_pika": {
18+
libraries = [
19+
{
2020
"library": "aio_pika >= 7.2.0, < 10.0.0",
2121
"instrumentation": "opentelemetry-instrumentation-aio-pika==0.43b0.dev",
2222
},
23-
"aiohttp": {
23+
{
2424
"library": "aiohttp ~= 3.0",
2525
"instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.43b0.dev",
2626
},
27-
"aiohttp": {
27+
{
2828
"library": "aiohttp ~= 3.0",
2929
"instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.43b0.dev",
3030
},
31-
"aiopg": {
31+
{
3232
"library": "aiopg >= 0.13.0, < 2.0.0",
3333
"instrumentation": "opentelemetry-instrumentation-aiopg==0.43b0.dev",
3434
},
35-
"asgiref": {
35+
{
3636
"library": "asgiref ~= 3.0",
3737
"instrumentation": "opentelemetry-instrumentation-asgi==0.43b0.dev",
3838
},
39-
"asyncpg": {
39+
{
4040
"library": "asyncpg >= 0.12.0",
4141
"instrumentation": "opentelemetry-instrumentation-asyncpg==0.43b0.dev",
4242
},
43-
"boto": {
43+
{
4444
"library": "boto~=2.0",
4545
"instrumentation": "opentelemetry-instrumentation-boto==0.43b0.dev",
4646
},
47-
"boto3": {
47+
{
4848
"library": "boto3 ~= 1.0",
4949
"instrumentation": "opentelemetry-instrumentation-boto3sqs==0.43b0.dev",
5050
},
51-
"botocore": {
51+
{
5252
"library": "botocore ~= 1.0",
5353
"instrumentation": "opentelemetry-instrumentation-botocore==0.43b0.dev",
5454
},
55-
"cassandra-driver": {
55+
{
5656
"library": "cassandra-driver ~= 3.25",
5757
"instrumentation": "opentelemetry-instrumentation-cassandra==0.43b0.dev",
5858
},
59-
"scylla-driver": {
59+
{
6060
"library": "scylla-driver ~= 3.25",
6161
"instrumentation": "opentelemetry-instrumentation-cassandra==0.43b0.dev",
6262
},
63-
"celery": {
63+
{
6464
"library": "celery >= 4.0, < 6.0",
6565
"instrumentation": "opentelemetry-instrumentation-celery==0.43b0.dev",
6666
},
67-
"confluent-kafka": {
67+
{
6868
"library": "confluent-kafka >= 1.8.2, <= 2.2.0",
6969
"instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.43b0.dev",
7070
},
71-
"django": {
71+
{
7272
"library": "django >= 1.10",
7373
"instrumentation": "opentelemetry-instrumentation-django==0.43b0.dev",
7474
},
75-
"elasticsearch": {
75+
{
7676
"library": "elasticsearch >= 2.0",
7777
"instrumentation": "opentelemetry-instrumentation-elasticsearch==0.43b0.dev",
7878
},
79-
"falcon": {
79+
{
8080
"library": "falcon >= 1.4.1, < 4.0.0",
8181
"instrumentation": "opentelemetry-instrumentation-falcon==0.43b0.dev",
8282
},
83-
"fastapi": {
83+
{
8484
"library": "fastapi ~= 0.58",
8585
"instrumentation": "opentelemetry-instrumentation-fastapi==0.43b0.dev",
8686
},
87-
"flask": {
87+
{
8888
"library": "flask >= 1.0, < 3.0",
8989
"instrumentation": "opentelemetry-instrumentation-flask==0.43b0.dev",
9090
},
91-
"werkzeug": {
91+
{
9292
"library": "werkzeug < 3.0.0",
9393
"instrumentation": "opentelemetry-instrumentation-flask==0.43b0.dev",
9494
},
95-
"grpcio": {
95+
{
9696
"library": "grpcio ~= 1.27",
9797
"instrumentation": "opentelemetry-instrumentation-grpc==0.43b0.dev",
9898
},
99-
"httpx": {
99+
{
100100
"library": "httpx >= 0.18.0",
101101
"instrumentation": "opentelemetry-instrumentation-httpx==0.43b0.dev",
102102
},
103-
"jinja2": {
103+
{
104104
"library": "jinja2 >= 2.7, < 4.0",
105105
"instrumentation": "opentelemetry-instrumentation-jinja2==0.43b0.dev",
106106
},
107-
"kafka-python": {
107+
{
108108
"library": "kafka-python >= 2.0",
109109
"instrumentation": "opentelemetry-instrumentation-kafka-python==0.43b0.dev",
110110
},
111-
"mysql-connector-python": {
111+
{
112112
"library": "mysql-connector-python ~= 8.0",
113113
"instrumentation": "opentelemetry-instrumentation-mysql==0.43b0.dev",
114114
},
115-
"mysqlclient": {
115+
{
116116
"library": "mysqlclient < 3",
117117
"instrumentation": "opentelemetry-instrumentation-mysqlclient==0.43b0.dev",
118118
},
119-
"pika": {
119+
{
120120
"library": "pika >= 0.12.0",
121121
"instrumentation": "opentelemetry-instrumentation-pika==0.43b0.dev",
122122
},
123-
"psycopg2": {
123+
{
124124
"library": "psycopg2 >= 2.7.3.1",
125125
"instrumentation": "opentelemetry-instrumentation-psycopg2==0.43b0.dev",
126126
},
127-
"pymemcache": {
127+
{
128128
"library": "pymemcache >= 1.3.5, < 5",
129129
"instrumentation": "opentelemetry-instrumentation-pymemcache==0.43b0.dev",
130130
},
131-
"pymongo": {
131+
{
132132
"library": "pymongo >= 3.1, < 5.0",
133133
"instrumentation": "opentelemetry-instrumentation-pymongo==0.43b0.dev",
134134
},
135-
"PyMySQL": {
135+
{
136136
"library": "PyMySQL < 2",
137137
"instrumentation": "opentelemetry-instrumentation-pymysql==0.43b0.dev",
138138
},
139-
"pyramid": {
139+
{
140140
"library": "pyramid >= 1.7",
141141
"instrumentation": "opentelemetry-instrumentation-pyramid==0.43b0.dev",
142142
},
143-
"redis": {
143+
{
144144
"library": "redis >= 2.6",
145145
"instrumentation": "opentelemetry-instrumentation-redis==0.43b0.dev",
146146
},
147-
"remoulade": {
147+
{
148148
"library": "remoulade >= 0.50",
149149
"instrumentation": "opentelemetry-instrumentation-remoulade==0.43b0.dev",
150150
},
151-
"requests": {
151+
{
152152
"library": "requests ~= 2.0",
153153
"instrumentation": "opentelemetry-instrumentation-requests==0.43b0.dev",
154154
},
155-
"scikit-learn": {
155+
{
156156
"library": "scikit-learn ~= 0.24.0",
157157
"instrumentation": "opentelemetry-instrumentation-sklearn==0.43b0.dev",
158158
},
159-
"sqlalchemy": {
159+
{
160160
"library": "sqlalchemy",
161161
"instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.43b0.dev",
162162
},
163-
"starlette": {
163+
{
164164
"library": "starlette ~= 0.13.0",
165165
"instrumentation": "opentelemetry-instrumentation-starlette==0.43b0.dev",
166166
},
167-
"psutil": {
167+
{
168168
"library": "psutil >= 5",
169169
"instrumentation": "opentelemetry-instrumentation-system-metrics==0.43b0.dev",
170170
},
171-
"tornado": {
171+
{
172172
"library": "tornado >= 5.1.1",
173173
"instrumentation": "opentelemetry-instrumentation-tornado==0.43b0.dev",
174174
},
175-
"tortoise-orm": {
175+
{
176176
"library": "tortoise-orm >= 0.17.0",
177177
"instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.43b0.dev",
178178
},
179-
"pydantic": {
179+
{
180180
"library": "pydantic >= 1.10.2",
181181
"instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.43b0.dev",
182182
},
183-
"urllib3": {
183+
{
184184
"library": "urllib3 >= 1.0.0, < 3.0.0",
185185
"instrumentation": "opentelemetry-instrumentation-urllib3==0.43b0.dev",
186186
},
187-
}
187+
]
188188
default_instrumentations = [
189189
"opentelemetry-instrumentation-aws-lambda==0.43b0.dev",
190190
"opentelemetry-instrumentation-dbapi==0.43b0.dev",

scripts/generate_instrumentation_bootstrap.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,12 @@
5858
def main():
5959
# pylint: disable=no-member
6060
default_instrumentations = ast.List(elts=[])
61-
libraries = ast.Dict(keys=[], values=[])
61+
libraries = ast.List(elts=[])
6262
for pkg in get_instrumentation_packages():
6363
if not pkg["instruments"]:
6464
default_instrumentations.elts.append(ast.Str(pkg["requirement"]))
6565
for target_pkg in pkg["instruments"]:
66-
parsed = pkg_resources.Requirement.parse(target_pkg)
67-
libraries.keys.append(ast.Str(parsed.name))
68-
libraries.values.append(
66+
libraries.elts.append(
6967
ast.Dict(
7068
keys=[ast.Str("library"), ast.Str("instrumentation")],
7169
values=[ast.Str(target_pkg), ast.Str(pkg["requirement"])],

0 commit comments

Comments
 (0)