Skip to content

Commit

Permalink
change bootstrap_gen to use a list instead of dict
Browse files Browse the repository at this point in the history
  • Loading branch information
hartungstenio committed Nov 13, 2023
1 parent b6d77f1 commit 5da3917
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ def _pip_check():
) as check_pipe:
pip_check = check_pipe.communicate()[0].decode()
pip_check_lower = pip_check.lower()
for package_tup in libraries.values():
for package_tup in libraries:
for package in package_tup:
if package.lower() in pip_check_lower:
raise RuntimeError(f"Dependency conflict found: {pip_check}")
Expand All @@ -102,15 +102,12 @@ def _is_installed(req):


def _find_installed_libraries():
libs = default_instrumentations[:]
libs.extend(
[
v["instrumentation"]
for _, v in libraries.items()
if _is_installed(v["library"])
]
)
return libs
for lib in default_instrumentations:
yield lib

for lib in libraries:
if _is_installed(lib["library"]):
yield lib["instrumentation"]


def _run_requirements():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,176 +15,176 @@
# DO NOT EDIT. THIS FILE WAS AUTOGENERATED FROM INSTRUMENTATION PACKAGES.
# RUN `python scripts/generate_instrumentation_bootstrap.py` TO REGENERATE.

libraries = {
"aio_pika": {
libraries = [
{
"library": "aio_pika >= 7.2.0, < 10.0.0",
"instrumentation": "opentelemetry-instrumentation-aio-pika==0.43b0.dev",
},
"aiohttp": {
{
"library": "aiohttp ~= 3.0",
"instrumentation": "opentelemetry-instrumentation-aiohttp-client==0.43b0.dev",
},
"aiohttp": {
{
"library": "aiohttp ~= 3.0",
"instrumentation": "opentelemetry-instrumentation-aiohttp-server==0.43b0.dev",
},
"aiopg": {
{
"library": "aiopg >= 0.13.0, < 2.0.0",
"instrumentation": "opentelemetry-instrumentation-aiopg==0.43b0.dev",
},
"asgiref": {
{
"library": "asgiref ~= 3.0",
"instrumentation": "opentelemetry-instrumentation-asgi==0.43b0.dev",
},
"asyncpg": {
{
"library": "asyncpg >= 0.12.0",
"instrumentation": "opentelemetry-instrumentation-asyncpg==0.43b0.dev",
},
"boto": {
{
"library": "boto~=2.0",
"instrumentation": "opentelemetry-instrumentation-boto==0.43b0.dev",
},
"boto3": {
{
"library": "boto3 ~= 1.0",
"instrumentation": "opentelemetry-instrumentation-boto3sqs==0.43b0.dev",
},
"botocore": {
{
"library": "botocore ~= 1.0",
"instrumentation": "opentelemetry-instrumentation-botocore==0.43b0.dev",
},
"cassandra-driver": {
{
"library": "cassandra-driver ~= 3.25",
"instrumentation": "opentelemetry-instrumentation-cassandra==0.43b0.dev",
},
"scylla-driver": {
{
"library": "scylla-driver ~= 3.25",
"instrumentation": "opentelemetry-instrumentation-cassandra==0.43b0.dev",
},
"celery": {
{
"library": "celery >= 4.0, < 6.0",
"instrumentation": "opentelemetry-instrumentation-celery==0.43b0.dev",
},
"confluent-kafka": {
{
"library": "confluent-kafka >= 1.8.2, <= 2.2.0",
"instrumentation": "opentelemetry-instrumentation-confluent-kafka==0.43b0.dev",
},
"django": {
{
"library": "django >= 1.10",
"instrumentation": "opentelemetry-instrumentation-django==0.43b0.dev",
},
"elasticsearch": {
{
"library": "elasticsearch >= 2.0",
"instrumentation": "opentelemetry-instrumentation-elasticsearch==0.43b0.dev",
},
"falcon": {
{
"library": "falcon >= 1.4.1, < 4.0.0",
"instrumentation": "opentelemetry-instrumentation-falcon==0.43b0.dev",
},
"fastapi": {
{
"library": "fastapi ~= 0.58",
"instrumentation": "opentelemetry-instrumentation-fastapi==0.43b0.dev",
},
"flask": {
{
"library": "flask >= 1.0, < 3.0",
"instrumentation": "opentelemetry-instrumentation-flask==0.43b0.dev",
},
"werkzeug": {
{
"library": "werkzeug < 3.0.0",
"instrumentation": "opentelemetry-instrumentation-flask==0.43b0.dev",
},
"grpcio": {
{
"library": "grpcio ~= 1.27",
"instrumentation": "opentelemetry-instrumentation-grpc==0.43b0.dev",
},
"httpx": {
{
"library": "httpx >= 0.18.0",
"instrumentation": "opentelemetry-instrumentation-httpx==0.43b0.dev",
},
"jinja2": {
{
"library": "jinja2 >= 2.7, < 4.0",
"instrumentation": "opentelemetry-instrumentation-jinja2==0.43b0.dev",
},
"kafka-python": {
{
"library": "kafka-python >= 2.0",
"instrumentation": "opentelemetry-instrumentation-kafka-python==0.43b0.dev",
},
"mysql-connector-python": {
{
"library": "mysql-connector-python ~= 8.0",
"instrumentation": "opentelemetry-instrumentation-mysql==0.43b0.dev",
},
"mysqlclient": {
{
"library": "mysqlclient < 3",
"instrumentation": "opentelemetry-instrumentation-mysqlclient==0.43b0.dev",
},
"pika": {
{
"library": "pika >= 0.12.0",
"instrumentation": "opentelemetry-instrumentation-pika==0.43b0.dev",
},
"psycopg2": {
{
"library": "psycopg2 >= 2.7.3.1",
"instrumentation": "opentelemetry-instrumentation-psycopg2==0.43b0.dev",
},
"pymemcache": {
{
"library": "pymemcache >= 1.3.5, < 5",
"instrumentation": "opentelemetry-instrumentation-pymemcache==0.43b0.dev",
},
"pymongo": {
{
"library": "pymongo >= 3.1, < 5.0",
"instrumentation": "opentelemetry-instrumentation-pymongo==0.43b0.dev",
},
"PyMySQL": {
{
"library": "PyMySQL < 2",
"instrumentation": "opentelemetry-instrumentation-pymysql==0.43b0.dev",
},
"pyramid": {
{
"library": "pyramid >= 1.7",
"instrumentation": "opentelemetry-instrumentation-pyramid==0.43b0.dev",
},
"redis": {
{
"library": "redis >= 2.6",
"instrumentation": "opentelemetry-instrumentation-redis==0.43b0.dev",
},
"remoulade": {
{
"library": "remoulade >= 0.50",
"instrumentation": "opentelemetry-instrumentation-remoulade==0.43b0.dev",
},
"requests": {
{
"library": "requests ~= 2.0",
"instrumentation": "opentelemetry-instrumentation-requests==0.43b0.dev",
},
"scikit-learn": {
{
"library": "scikit-learn ~= 0.24.0",
"instrumentation": "opentelemetry-instrumentation-sklearn==0.43b0.dev",
},
"sqlalchemy": {
{
"library": "sqlalchemy",
"instrumentation": "opentelemetry-instrumentation-sqlalchemy==0.43b0.dev",
},
"starlette": {
{
"library": "starlette ~= 0.13.0",
"instrumentation": "opentelemetry-instrumentation-starlette==0.43b0.dev",
},
"psutil": {
{
"library": "psutil >= 5",
"instrumentation": "opentelemetry-instrumentation-system-metrics==0.43b0.dev",
},
"tornado": {
{
"library": "tornado >= 5.1.1",
"instrumentation": "opentelemetry-instrumentation-tornado==0.43b0.dev",
},
"tortoise-orm": {
{
"library": "tortoise-orm >= 0.17.0",
"instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.43b0.dev",
},
"pydantic": {
{
"library": "pydantic >= 1.10.2",
"instrumentation": "opentelemetry-instrumentation-tortoiseorm==0.43b0.dev",
},
"urllib3": {
{
"library": "urllib3 >= 1.0.0, < 3.0.0",
"instrumentation": "opentelemetry-instrumentation-urllib3==0.43b0.dev",
},
}
]
default_instrumentations = [
"opentelemetry-instrumentation-aws-lambda==0.43b0.dev",
"opentelemetry-instrumentation-dbapi==0.43b0.dev",
Expand Down
6 changes: 2 additions & 4 deletions scripts/generate_instrumentation_bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,12 @@
def main():
# pylint: disable=no-member
default_instrumentations = ast.List(elts=[])
libraries = ast.Dict(keys=[], values=[])
libraries = ast.List(elts=[])
for pkg in get_instrumentation_packages():
if not pkg["instruments"]:
default_instrumentations.elts.append(ast.Str(pkg["requirement"]))
for target_pkg in pkg["instruments"]:
parsed = pkg_resources.Requirement.parse(target_pkg)
libraries.keys.append(ast.Str(parsed.name))
libraries.values.append(
libraries.elts.append(
ast.Dict(
keys=[ast.Str("library"), ast.Str("instrumentation")],
values=[ast.Str(target_pkg), ast.Str(pkg["requirement"])],
Expand Down

0 comments on commit 5da3917

Please sign in to comment.