├── opentelemetry-distro ├── tests │ ├── __init__.py │ └── test_distro.py ├── src │ └── opentelemetry │ │ └── distro │ │ ├── py.typed │ │ ├── version.py │ │ └── __init__.py └── README.rst ├── opentelemetry-instrumentation ├── tests │ └── __init__.py └── src │ └── opentelemetry │ └── instrumentation │ ├── py.typed │ ├── version.py │ └── environment_variables.py ├── util └── opentelemetry-util-http │ ├── tests │ └── __init__.py │ ├── src │ └── opentelemetry │ │ └── util │ │ └── http │ │ └── version.py │ └── pyproject.toml ├── exporter └── opentelemetry-exporter-richconsole │ ├── tests │ └── __init__.py │ ├── src │ └── opentelemetry │ │ └── exporter │ │ └── richconsole │ │ └── version.py │ ├── README.rst │ └── pyproject.toml ├── propagator ├── opentelemetry-propagator-aws-xray │ ├── tests │ │ ├── __init__.py │ │ └── performance │ │ │ └── benchmarks │ │ │ └── test_benchmark_aws_xray_propagator.py │ ├── MANIFEST.rst │ ├── src │ │ └── opentelemetry │ │ │ └── propagators │ │ │ └── aws │ │ │ ├── version.py │ │ │ └── __init__.py │ └── pyproject.toml └── opentelemetry-propagator-ot-trace │ ├── tests │ └── __init__.py │ ├── src │ └── opentelemetry │ │ └── propagators │ │ └── ot_trace │ │ └── version.py │ └── pyproject.toml ├── sdk-extension └── opentelemetry-sdk-extension-aws │ ├── tests │ ├── __init__.py │ ├── trace │ │ └── __init__.py │ └── performance │ │ └── benchmarks │ │ └── trace │ │ └── test_benchmark_aws_xray_ids_generator.py │ ├── MANIFEST.rst │ ├── src │ └── opentelemetry │ │ └── sdk │ │ └── extension │ │ └── aws │ │ ├── version.py │ │ ├── trace │ │ └── __init__.py │ │ └── resource │ │ └── __init__.py │ └── pyproject.toml ├── .coveragerc ├── instrumentation ├── opentelemetry-instrumentation-asgi │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── asgi │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-boto │ ├── tests │ │ ├── __init__.py │ │ └── conftest.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── boto │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-pika │ ├── tests │ │ ├── __init__.py │ │ └── test_getter.py │ ├── README.rst │ └── src │ │ └── opentelemetry │ │ └── instrumentation │ │ └── pika │ │ ├── version.py │ │ └── package.py ├── opentelemetry-instrumentation-aio-pika │ ├── tests │ │ ├── __init__.py │ │ ├── consts.py │ │ ├── test_span_builder.py │ │ └── test_aio_pika_instrumentation.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── aio_pika │ │ │ ├── utils.py │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-aiopg │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── aiopg │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-asyncpg │ ├── tests │ │ ├── __init__.py │ │ └── test_asyncpg_wrapper.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── asyncpg │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-boto3sqs │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── boto3sqs │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-botocore │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── botocore │ │ │ ├── version.py │ │ │ ├── package.py │ │ │ └── extensions │ │ │ └── sqs.py │ └── README.rst ├── opentelemetry-instrumentation-celery │ ├── tests │ │ ├── __init__.py │ │ ├── celery_test_tasks.py │ │ └── test_getter.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── celery │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-dbapi │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── dbapi │ │ │ ├── package.py │ │ │ └── version.py │ └── README.rst ├── opentelemetry-instrumentation-django │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── django │ │ │ ├── middleware │ │ │ └── __init__.py │ │ │ ├── version.py │ │ │ ├── package.py │ │ │ └── environment_variables.py │ └── README.rst ├── opentelemetry-instrumentation-falcon │ ├── tests │ │ └── __init__.py │ └── src │ │ └── opentelemetry │ │ └── instrumentation │ │ └── falcon │ │ ├── version.py │ │ └── package.py ├── opentelemetry-instrumentation-fastapi │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── fastapi │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-flask │ ├── tests │ │ └── __init__.py │ └── src │ │ └── opentelemetry │ │ └── instrumentation │ │ └── flask │ │ ├── version.py │ │ └── package.py ├── opentelemetry-instrumentation-httpx │ ├── tests │ │ └── __init__.py │ └── src │ │ └── opentelemetry │ │ └── instrumentation │ │ └── httpx │ │ ├── version.py │ │ └── package.py ├── opentelemetry-instrumentation-jinja2 │ ├── tests │ │ ├── __init__.py │ │ └── templates │ │ │ ├── base.html │ │ │ └── template.html │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── jinja2 │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-logging │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── logging │ │ │ ├── package.py │ │ │ ├── version.py │ │ │ └── environment_variables.py │ └── README.rst ├── opentelemetry-instrumentation-mysql │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── mysql │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-psycopg2 │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── psycopg2 │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-pymongo │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── pymongo │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-pymysql │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── pymysql │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-pyramid │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── pyramid │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-remoulade │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── remoulade │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-requests │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── requests │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-sklearn │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── sklearn │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-sqlite3 │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── sqlite3 │ │ │ ├── package.py │ │ │ └── version.py │ └── README.rst ├── opentelemetry-instrumentation-starlette │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── starlette │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-tornado │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── tornado │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-urllib │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── urllib │ │ │ ├── package.py │ │ │ └── version.py │ └── README.rst ├── opentelemetry-instrumentation-urllib3 │ ├── tests │ │ └── __init__.py │ └── src │ │ └── opentelemetry │ │ └── instrumentation │ │ └── urllib3 │ │ ├── version.py │ │ └── package.py ├── opentelemetry-instrumentation-aiohttp-client │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── aiohttp_client │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-elasticsearch │ ├── tests │ │ ├── __init__.py │ │ ├── helpers_es7.py │ │ ├── helpers_es6.py │ │ ├── helpers_es5.py │ │ └── helpers_es2.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── elasticsearch │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-kafka-python │ ├── tests │ │ ├── __init__.py │ │ └── test_instrumentation.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── kafka │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-pymemcache │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── pymemcache │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-system-metrics │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── system_metrics │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-confluent-kafka │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── confluent_kafka │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-grpc │ ├── tests │ │ ├── __init__.py │ │ └── protobuf │ │ │ └── test_server.proto │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── grpc │ │ │ ├── version.py │ │ │ ├── package.py │ │ │ └── _utilities.py │ └── README.rst ├── opentelemetry-instrumentation-redis │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── redis │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-sqlalchemy │ ├── tests │ │ └── __init__.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── sqlalchemy │ │ │ ├── version.py │ │ │ └── package.py │ └── README.rst ├── opentelemetry-instrumentation-aws-lambda │ ├── tests │ │ ├── test_aws_lambda_instrumentation.py │ │ └── mocks │ │ │ └── lambda_function.py │ ├── src │ │ └── opentelemetry │ │ │ └── instrumentation │ │ │ └── aws_lambda │ │ │ ├── version.py │ │ │ └── package.py │ ├── README.rst │ └── pyproject.toml └── opentelemetry-instrumentation-wsgi │ ├── src │ └── opentelemetry │ │ └── instrumentation │ │ └── wsgi │ │ ├── version.py │ │ └── package.py │ ├── README.rst │ └── tests │ └── __init__.py ├── .codespellrc ├── pyproject.toml ├── pytest.ini ├── gen-requirements.txt ├── docs ├── instrumentation │ ├── boto │ │ └── boto.rst │ ├── wsgi │ │ └── wsgi.rst │ ├── aiopg │ │ └── aiopg.rst │ ├── flask │ │ └── flask.rst │ ├── mysql │ │ └── mysql.rst │ ├── redis │ │ └── redis.rst │ ├── celery │ │ └── celery.rst │ ├── django │ │ └── django.rst │ ├── falcon │ │ └── falcon.rst │ ├── jinja2 │ │ └── jinja2.rst │ ├── logging │ │ └── logging.rst │ ├── pymongo │ │ └── pymongo.rst │ ├── pymysql │ │ └── pymysql.rst │ ├── pyramid │ │ └── pyramid.rst │ ├── sqlite3 │ │ └── sqlite3.rst │ ├── tornado │ │ └── tornado.rst │ ├── botocore │ │ └── botocore.rst │ ├── dbapi │ │ └── dbapi.rst │ ├── psycopg2 │ │ └── psycopg2.rst │ ├── requests │ │ └── requests.rst │ ├── urllib3 │ │ └── urllib3.rst │ ├── pymemcache │ │ └── pymemcache.rst │ ├── sqlalchemy │ │ └── sqlalchemy.rst │ ├── asgi │ │ └── asgi.rst │ ├── fastapi │ │ └── fastapi.rst │ ├── starlette │ │ └── starlette.rst │ ├── aiohttp_client │ │ └── aiohttp_client.rst │ ├── base │ │ ├── instrumentor.rst │ │ └── instrumentation.rst │ ├── grpc │ │ └── grpc.rst │ ├── asyncpg │ │ └── asyncpg.rst │ └── httpx │ │ └── httpx.rst ├── propagator │ └── aws │ │ └── aws.rst ├── sdk-extension │ └── aws │ │ └── aws.rst ├── performance │ └── benchmarks.rst ├── Makefile ├── make.bat └── nitpick-exceptions.ini ├── .readthedocs.yml ├── dev-requirements.txt ├── .isort.cfg ├── .github ├── workflows │ ├── component-owners.yml │ ├── publish-a-package.yml │ ├── codeql-analysis.yml │ ├── changelog.yml │ └── publish.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── component_owners.yml ├── CODEOWNERS └── pull_request_template.md ├── scripts ├── license_header.txt ├── coverage.sh ├── prepare_release.sh ├── build.sh └── check_for_valid_readme.py ├── _template ├── version.py └── README.rst ├── tests └── opentelemetry-docker-tests │ └── tests │ └── sqlalchemy_tests │ └── __init__.py ├── opentelemetry-contrib-instrumentations ├── src │ └── opentelemetry │ │ └── contrib-instrumentations │ │ └── version.py └── README.rst ├── .gitignore ├── .flake8 ├── docs-requirements.txt └── LICENSE.BSD3 /opentelemetry-distro/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /opentelemetry-instrumentation/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /util/opentelemetry-util-http/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /opentelemetry-distro/src/opentelemetry/distro/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /exporter/opentelemetry-exporter-richconsole/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-aws-xray/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-ot-trace/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | omit = 3 | */tests/* 4 | */gen/* 5 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asgi/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pika/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiopg/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asyncpg/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto3sqs/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-botocore/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-celery/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-dbapi/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-django/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-falcon/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-fastapi/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-flask/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-httpx/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-jinja2/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-logging/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-mysql/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-psycopg2/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymongo/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymysql/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pyramid/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-remoulade/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-requests/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sklearn/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlite3/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-starlette/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-tornado/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-urllib/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-urllib3/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /opentelemetry-instrumentation/src/opentelemetry/instrumentation/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/tests/trace/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiohttp-client/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-kafka-python/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymemcache/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-system-metrics/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-confluent-kafka/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-jinja2/tests/templates/base.html: -------------------------------------------------------------------------------- 1 | Message: {% block content %}{% endblock %} 2 | -------------------------------------------------------------------------------- /.codespellrc: -------------------------------------------------------------------------------- 1 | [codespell] 2 | # skipping auto generated folders 3 | skip = ./.tox,./.mypy_cache,./docs/_build,./target,*/LICENSE,./venv 4 | ignore-words-list = ot 5 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-jinja2/tests/templates/template.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block content %}Hello {{name}}!{% endblock %} 3 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.black] 2 | line-length = 79 3 | exclude = ''' 4 | ( 5 | \.git 6 | | \.tox 7 | | venv 8 | | build 9 | | dist 10 | ) 11 | ''' 12 | -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = -rs -v 3 | log_cli = true 4 | log_cli_level = warning 5 | testpaths = instrumentation/opentelemetry-instrumentation-falcon/tests/ 6 | -------------------------------------------------------------------------------- /gen-requirements.txt: -------------------------------------------------------------------------------- 1 | -c dev-requirements.txt 2 | astor==0.8.1 3 | jinja2~=2.7 4 | markupsafe==2.0.1 5 | isort 6 | black 7 | requests 8 | tomli 9 | tomli_w 10 | hatch 11 | -------------------------------------------------------------------------------- /docs/instrumentation/boto/boto.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Boto Instrumentation 2 | ================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.boto 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/wsgi/wsgi.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry WSGI Instrumentation 2 | ================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.wsgi 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/propagator/aws/aws.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Python - AWS X-Ray Propagator 2 | =========================================== 3 | 4 | .. automodule:: opentelemetry.propagators.aws 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: -------------------------------------------------------------------------------- /docs/instrumentation/aiopg/aiopg.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry aiopg Instrumentation 2 | =================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.aiopg 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/flask/flask.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Flask Instrumentation 2 | =================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.flask 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/mysql/mysql.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry MySQL Instrumentation 2 | =================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.mysql 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/redis/redis.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Redis Instrumentation 2 | =================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.redis 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/celery/celery.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Celery Instrumentation 2 | ==================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.celery 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/django/django.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Django Instrumentation 2 | ==================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.django 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/falcon/falcon.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Falcon Instrumentation 2 | ==================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.falcon 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/jinja2/jinja2.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Jinja2 Instrumentation 2 | ==================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.jinja2 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/logging/logging.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Logging Instrumentation 2 | ===================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.logging 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/pymongo/pymongo.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry pymongo Instrumentation 2 | ===================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.pymongo 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/pymysql/pymysql.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry PyMySQL Instrumentation 2 | ===================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.pymysql 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/pyramid/pyramid.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Pyramid Instrumentation 2 | ===================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.pyramid 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/sqlite3/sqlite3.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry SQLite3 Instrumentation 2 | ===================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.sqlite3 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/tornado/tornado.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Tornado Instrumentation 2 | ====================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.tornado 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/botocore/botocore.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Botocore Instrumentation 2 | ====================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.botocore 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/dbapi/dbapi.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Database API Instrumentation 2 | ========================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.dbapi 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/psycopg2/psycopg2.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Psycopg Instrumentation 2 | ===================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.psycopg2 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/requests/requests.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry requests Instrumentation 2 | ====================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.requests 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/urllib3/urllib3.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry urllib3 Instrumentation 2 | ============================================ 3 | 4 | .. automodule:: opentelemetry.instrumentation.urllib3 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/pymemcache/pymemcache.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry pymemcache Instrumentation 2 | ======================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.pymemcache 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/sqlalchemy/sqlalchemy.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry SQLAlchemy Instrumentation 2 | ======================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.sqlalchemy 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-aws-xray/MANIFEST.rst: -------------------------------------------------------------------------------- 1 | graft src 2 | graft tests 3 | global-exclude *.pyc 4 | global-exclude *.pyo 5 | global-exclude __pycache__/* 6 | include CHANGELOG.md 7 | include MANIFEST.in 8 | include README.rst 9 | include LICENSE 10 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/MANIFEST.rst: -------------------------------------------------------------------------------- 1 | graft src 2 | graft tests 3 | global-exclude *.pyc 4 | global-exclude *.pyo 5 | global-exclude __pycache__/* 6 | include CHANGELOG.md 7 | include MANIFEST.in 8 | include README.rst 9 | include LICENSE 10 | -------------------------------------------------------------------------------- /docs/sdk-extension/aws/aws.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Python - AWS SDK Extension 2 | ======================================== 3 | 4 | .. automodule:: opentelemetry.sdk.extension.aws.trace.aws_xray_id_generator 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/asgi/asgi.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../../instrumentation/opentelemetry-instrumentation-asgi/README.rst 2 | 3 | API 4 | --- 5 | 6 | .. automodule:: opentelemetry.instrumentation.asgi 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: 10 | -------------------------------------------------------------------------------- /docs/instrumentation/fastapi/fastapi.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../../instrumentation/opentelemetry-instrumentation-fastapi/README.rst 2 | 3 | API 4 | --- 5 | 6 | .. automodule:: opentelemetry.instrumentation.fastapi 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: -------------------------------------------------------------------------------- /docs/performance/benchmarks.rst: -------------------------------------------------------------------------------- 1 | Performance Tests - Benchmarks 2 | ============================== 3 | 4 | Click `here `_ to view the latest performance benchmarks for packages in this repo. 5 | -------------------------------------------------------------------------------- /docs/instrumentation/starlette/starlette.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../../instrumentation/opentelemetry-instrumentation-starlette/README.rst 2 | 3 | API 4 | --- 5 | 6 | .. automodule:: opentelemetry.instrumentation.starlette 7 | :members: 8 | :undoc-members: 9 | :show-inheritance: -------------------------------------------------------------------------------- /docs/instrumentation/aiohttp_client/aiohttp_client.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry aiohttp client Instrumentation 2 | ============================================ 3 | 4 | .. automodule:: opentelemetry.instrumentation.aiohttp_client 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/base/instrumentor.rst: -------------------------------------------------------------------------------- 1 | opentelemetry.instrumentation.instrumentor package 2 | ================================================== 3 | 4 | .. automodule:: opentelemetry.instrumentation.instrumentor 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | -------------------------------------------------------------------------------- /docs/instrumentation/grpc/grpc.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry gRPC Instrumentation 2 | ================================== 3 | 4 | Module contents 5 | --------------- 6 | 7 | .. automodule:: opentelemetry.instrumentation.grpc 8 | :members: 9 | :undoc-members: 10 | :show-inheritance: 11 | -------------------------------------------------------------------------------- /docs/instrumentation/asyncpg/asyncpg.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry asyncpg Instrumentation 2 | ===================================== 3 | 4 | Module contents 5 | --------------- 6 | 7 | .. automodule:: opentelemetry.instrumentation.asyncpg 8 | :members: 9 | :undoc-members: 10 | :show-inheritance: 11 | -------------------------------------------------------------------------------- /docs/instrumentation/httpx/httpx.rst: -------------------------------------------------------------------------------- 1 | .. include:: ../../../instrumentation/opentelemetry-instrumentation-httpx/README.rst 2 | :end-before: References 3 | 4 | API 5 | --- 6 | 7 | .. automodule:: opentelemetry.instrumentation.httpx 8 | :members: 9 | :undoc-members: 10 | :show-inheritance: 11 | -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | # Read the Docs configuration file 2 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 3 | version: 2 4 | 5 | sphinx: 6 | configuration: docs/conf.py 7 | 8 | build: 9 | image: latest 10 | 11 | python: 12 | version: 3.8 13 | install: 14 | - requirements: docs-requirements.txt 15 | -------------------------------------------------------------------------------- /docs/instrumentation/base/instrumentation.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Python Instrumentor 2 | ================================= 3 | 4 | .. automodule:: opentelemetry.instrumentation 5 | :members: 6 | :undoc-members: 7 | :show-inheritance: 8 | 9 | Submodules 10 | ---------- 11 | 12 | .. toctree:: 13 | :maxdepth: 1 14 | 15 | instrumentor 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/src/opentelemetry/instrumentation/aio_pika/utils.py: -------------------------------------------------------------------------------- 1 | from opentelemetry import context 2 | 3 | 4 | def is_instrumentation_enabled() -> bool: 5 | if context.get_value("suppress_instrumentation") or context.get_value( 6 | context._SUPPRESS_INSTRUMENTATION_KEY 7 | ): 8 | return False 9 | return True 10 | -------------------------------------------------------------------------------- /dev-requirements.txt: -------------------------------------------------------------------------------- 1 | pylint==2.12.2 2 | flake8~=3.7 3 | isort~=5.6 4 | black>=22.1.0 5 | httpretty~=1.0 6 | mypy==0.790 7 | sphinx 8 | sphinx-rtd-theme~=0.4 9 | sphinx-autodoc-typehints 10 | pytest!=5.2.3 11 | pytest-cov>=2.8 12 | readme-renderer~=24.0 13 | bleach==4.1.0 # transient dependency for readme-renderer 14 | grpcio-tools==1.29.0 15 | mypy-protobuf>=1.23 16 | protobuf~=3.13 17 | markupsafe==2.0.1 18 | codespell==2.1.0 19 | -------------------------------------------------------------------------------- /.isort.cfg: -------------------------------------------------------------------------------- 1 | [settings] 2 | include_trailing_comma=True 3 | force_grid_wrap=0 4 | use_parentheses=True 5 | line_length=79 6 | profile=black 7 | 8 | ; 3 stands for Vertical Hanging Indent, e.g. 9 | ; from third_party import ( 10 | ; lib1, 11 | ; lib2, 12 | ; lib3, 13 | ; ) 14 | ; docs: https://github.com/timothycrosley/isort#multi-line-output-modes 15 | multi_line_output=3 16 | skip=target 17 | skip_glob=**/gen/*,.venv*/*,venv*/*,.tox/* 18 | known_first_party=opentelemetry 19 | known_third_party=psutil,pytest,redis,redis_opentracing 20 | -------------------------------------------------------------------------------- /.github/workflows/component-owners.yml: -------------------------------------------------------------------------------- 1 | # This action assigns and requires approval from owners of components for 2 | # PRs that are open against those components. Components are defined as 3 | # individual paths within this repository. 4 | name: 'Component Owners' 5 | 6 | on: 7 | pull_request_target: 8 | 9 | jobs: 10 | run_self: 11 | runs-on: ubuntu-latest 12 | name: Auto Assign Owners 13 | # Don't fail tests if this workflow fails. Some pending issues: 14 | # - https://github.com/dyladan/component-owners/issues/8 15 | continue-on-error: true 16 | steps: 17 | - uses: dyladan/component-owners@main 18 | -------------------------------------------------------------------------------- /opentelemetry-distro/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Distro 2 | ==================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-distro.svg 7 | :target: https://pypi.org/project/opentelemetry-distro/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-distro 15 | 16 | 17 | This package provides entrypoints to configure OpenTelemetry. 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry Project `_ 23 | * `Example using opentelemetry-distro `_ 24 | -------------------------------------------------------------------------------- /scripts/license_header.txt: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SOURCEDIR = . 8 | BUILDDIR = _build 9 | 10 | # Put it first so that "make" without argument is like "make help". 11 | help: 12 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 13 | 14 | .PHONY: help Makefile 15 | 16 | # Catch-all target: route all unknown targets to Sphinx using the new 17 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 18 | %: Makefile 19 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 20 | -------------------------------------------------------------------------------- /_template/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-grpc/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /tests/opentelemetry-docker-tests/tests/sqlalchemy_tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-redis/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlalchemy/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /opentelemetry-distro/src/opentelemetry/distro/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aws-lambda/tests/test_aws_lambda_instrumentation.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /util/opentelemetry-util-http/src/opentelemetry/util/http/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /opentelemetry-instrumentation/src/opentelemetry/instrumentation/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pika/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry pika Instrumentation 2 | ================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-pika.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-pika/ 8 | 9 | This library allows tracing requests made by the pika library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-pika 17 | 18 | References 19 | ---------- 20 | 21 | * `OpenTelemetry pika/ Tracing `_ 22 | * `OpenTelemetry Project `_ 23 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-aws-xray/src/opentelemetry/propagators/aws/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "1.0.1" 16 | -------------------------------------------------------------------------------- /exporter/opentelemetry-exporter-richconsole/src/opentelemetry/exporter/richconsole/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /opentelemetry-contrib-instrumentations/src/opentelemetry/contrib-instrumentations/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "2.0.1" 16 | -------------------------------------------------------------------------------- /_template/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Instrumentation 2 | =========================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-/ 8 | 9 | This library allows tracing requests made by the library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation- 17 | 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry / Tracing /.html>`_ 23 | * `OpenTelemetry Project `_ 24 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto/src/opentelemetry/instrumentation/boto/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-jinja2/src/opentelemetry/instrumentation/jinja2/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-mysql/src/opentelemetry/instrumentation/mysql/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | *.sw[op] 3 | 4 | # C extensions 5 | *.so 6 | 7 | # Packages 8 | *.egg 9 | *.egg-info 10 | dist 11 | dist-info 12 | build 13 | eggs 14 | parts 15 | bin 16 | var 17 | sdist 18 | develop-eggs 19 | .installed.cfg 20 | pyvenv.cfg 21 | lib 22 | lib64 23 | __pycache__ 24 | venv*/ 25 | .venv*/ 26 | 27 | # Installer logs 28 | pip-log.txt 29 | 30 | # Unit test / coverage reports 31 | coverage.xml 32 | .coverage 33 | .nox 34 | .tox 35 | .cache 36 | htmlcov 37 | 38 | # Translations 39 | *.mo 40 | 41 | # Mac 42 | .DS_Store 43 | 44 | # Mr Developer 45 | .mr.developer.cfg 46 | .project 47 | .pydevproject 48 | 49 | # JetBrains 50 | .idea 51 | 52 | # VSCode 53 | .vscode 54 | 55 | # Sphinx 56 | _build/ 57 | 58 | # mypy 59 | .mypy_cache/ 60 | target 61 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/src/opentelemetry/instrumentation/aio_pika/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = tuple() 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymysql/src/opentelemetry/instrumentation/pymysql/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sklearn/src/opentelemetry/instrumentation/sklearn/version.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020, OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | ignore = 3 | E501 # line too long, defer to black 4 | W503 # allow line breaks before binary ops 5 | W504 # allow line breaks after binary ops 6 | E203 # allow whitespace before ':' (https://github.com/psf/black#slices) 7 | exclude = 8 | .bzr 9 | .git 10 | .hg 11 | .svn 12 | .tox 13 | CVS 14 | .venv*/ 15 | venv*/ 16 | target 17 | __pycache__ 18 | exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/gen/ 19 | exporter/opentelemetry-exporter-jaeger/build/* 20 | docs/examples/opentelemetry-example-app/src/opentelemetry_example_app/grpc/gen/ 21 | docs/examples/opentelemetry-example-app/build/* 22 | opentelemetry-proto/build/* 23 | opentelemetry-proto/src/opentelemetry/proto/ 24 | scripts/* 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto/src/opentelemetry/instrumentation/boto/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("boto~=2.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-logging/src/opentelemetry/instrumentation/logging/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = tuple() 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymemcache/src/opentelemetry/instrumentation/pymemcache/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlite3/src/opentelemetry/instrumentation/sqlite3/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = tuple() 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = tuple() 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("asgiref ~= 3.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aws-lambda/src/opentelemetry/instrumentation/aws_lambda/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = tuple() 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-grpc/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry gRPC Integration 2 | ============================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-grpc.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-grpc/ 8 | 9 | Client and server interceptors for `gRPC Python`_. 10 | 11 | .. _gRPC Python: https://grpc.github.io/grpc/python/grpc.html 12 | 13 | Installation 14 | ------------ 15 | 16 | :: 17 | 18 | pip install opentelemetry-instrumentation-grpc 19 | 20 | 21 | References 22 | ---------- 23 | 24 | * `OpenTelemetry Project `_ 25 | * `OpenTelemetry Python Examples `_ -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("grpcio ~= 1.27",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-redis/src/opentelemetry/instrumentation/redis/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("redis >= 2.6",) 17 | -------------------------------------------------------------------------------- /scripts/coverage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | function cov { 6 | pytest \ 7 | --cov ${1} \ 8 | --cov-append \ 9 | --cov-branch \ 10 | --cov-report='' \ 11 | ${1} 12 | } 13 | 14 | PYTHON_VERSION=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:3])))') 15 | PYTHON_VERSION_INFO=(${PYTHON_VERSION//./ }) 16 | 17 | coverage erase 18 | 19 | cov instrumentation/opentelemetry-instrumentation-flask 20 | cov instrumentation/opentelemetry-instrumentation-requests 21 | cov instrumentation/opentelemetry-instrumentation-wsgi 22 | cov instrumentation/opentelemetry-instrumentation-aiohttp-client 23 | cov instrumentation/opentelemetry-instrumentation-asgi 24 | 25 | 26 | coverage report --show-missing 27 | coverage xml 28 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/version.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020, OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aws-lambda/tests/mocks/lambda_function.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | def handler(event, context): 17 | return "200 ok" 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("httpx >= 0.18.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymysql/src/opentelemetry/instrumentation/pymysql/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("PyMySQL < 2",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | -------------------------------------------------------------------------------- /opentelemetry-contrib-instrumentations/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Instrumentation 2 | ============================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-contrib-instrumentations.svg 7 | :target: https://pypi.org/project/opentelemetry-contrib-instrumentations/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-contrib-instrumentations 15 | 16 | 17 | This package installs all instrumentation packages hosted by the OpenTelemetry Python Contrib repository. 18 | The list of packages can be found (here)[https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation] 19 | 20 | 21 | References 22 | ---------- 23 | 24 | * `OpenTelemetry Project `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asyncpg/src/opentelemetry/instrumentation/asyncpg/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("asyncpg >= 0.12.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("botocore ~= 1.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("celery >= 4.0, < 6.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-jinja2/src/opentelemetry/instrumentation/jinja2/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("jinja2 >= 2.7, < 4.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-remoulade/src/opentelemetry/instrumentation/remoulade/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | _instruments = ("remoulade >= 0.50",) 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("aiopg >= 0.13.0, < 1.3.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("kafka-python >= 2.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("psycopg2 >= 2.7.3.1",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymongo/src/opentelemetry/instrumentation/pymongo/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("pymongo >= 3.1, < 5.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sklearn/src/opentelemetry/instrumentation/sklearn/package.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020, OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("scikit-learn ~= 0.24.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-dbapi/src/opentelemetry/instrumentation/dbapi/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | 17 | _instruments = tuple() 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-mysql/src/opentelemetry/instrumentation/mysql/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("mysql-connector-python ~= 8.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-system-metrics/src/opentelemetry/instrumentation/system_metrics/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("psutil >= 5",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | 17 | _instruments = tuple() 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiohttp-client/src/opentelemetry/instrumentation/aiohttp_client/package.py: -------------------------------------------------------------------------------- 1 | # Copyright 2020, OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("aiohttp ~= 3.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto3sqs/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Boto3 SQS Instrumentation 2 | ======================================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-boto3sqs.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-boto3sqs/ 8 | 9 | This library allows tracing requests made by the Boto3 library to the SQS service. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-boto3sqs 17 | 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry boto3sqs/ Tracing `_ 23 | * `OpenTelemetry Project `_ 24 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/src/opentelemetry/instrumentation/elasticsearch/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("elasticsearch >= 2.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-jinja2/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry jinja2 integration 2 | ================================ 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-jinja2.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-jinja2/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-jinja2 15 | 16 | 17 | References 18 | ---------- 19 | 20 | * `OpenTelemetry jinja2 integration `_ 21 | * `OpenTelemetry Project `_ 22 | * `OpenTelemetry Python Examples `_ 23 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-logging/src/opentelemetry/instrumentation/logging/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | 17 | _instruments = tuple() 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymemcache/src/opentelemetry/instrumentation/pymemcache/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("pymemcache >= 1.3.5, < 4",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlite3/src/opentelemetry/instrumentation/sqlite3/version.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | __version__ = "0.34b0" 16 | 17 | _instruments = tuple() 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = tuple() 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiopg/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry aiopg instrumentation 2 | =================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-aiopg.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-aiopg/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-aiopg 15 | 16 | 17 | References 18 | ---------- 19 | 20 | * `OpenTelemetry aiopg Instrumentation `_ 21 | * `OpenTelemetry Project `_ 22 | * `OpenTelemetry Python Examples `_ 23 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("confluent-kafka ~= 1.8.2",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("django >= 1.10",) 17 | _supports_metrics = True 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-logging/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry logging integration 2 | ================================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-logging.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-logging/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-logging 15 | 16 | 17 | References 18 | ---------- 19 | 20 | * `OpenTelemetry logging integration `_ 21 | * `OpenTelemetry Project `_ 22 | * `OpenTelemetry Python Examples `_ 23 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/environment_variables.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | OTEL_PYTHON_DJANGO_INSTRUMENT = "OTEL_PYTHON_DJANGO_INSTRUMENT" 16 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymysql/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry PyMySQL Instrumentation 2 | ===================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-pymysql.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-pymysql/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-pymysql 15 | 16 | 17 | References 18 | ---------- 19 | * `OpenTelemetry PyMySQL Instrumentation `_ 20 | * `OpenTelemetry Project `_ 21 | * `OpenTelemetry Python Examples `_ 22 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pyramid/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Pyramid Instrumentation 2 | ===================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-pyramid.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-pyramid/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-pyramid 15 | 16 | References 17 | ---------- 18 | * `OpenTelemetry Pyramid Instrumentation `_ 19 | * `OpenTelemetry Project `_ 20 | * `OpenTelemetry Python Examples `_ 21 | 22 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("fastapi ~= 0.58",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("flask >= 1.0, < 3.0",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from typing import Collection 15 | 16 | _instruments: Collection[str] = ("pika >= 0.12.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-psycopg2/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Psycopg Instrumentation 2 | ===================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-psycopg2.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-psycopg2/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-psycopg2 15 | 16 | 17 | References 18 | ---------- 19 | * `OpenTelemetry Psycopg Instrumentation `_ 20 | * `OpenTelemetry Project `_ 21 | * `OpenTelemetry Python Examples `_ 22 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymongo/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry pymongo Instrumentation 2 | ===================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-pymongo.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-pymongo/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-pymongo 15 | 16 | 17 | References 18 | ---------- 19 | * `OpenTelemetry pymongo Instrumentation `_ 20 | * `OpenTelemetry Project `_ 21 | * `OpenTelemetry Python Examples `_ 22 | 23 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("pyramid >= 1.7",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("requests ~= 2.0",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlite3/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry SQLite3 Instrumentation 2 | ===================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-sqlite3.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-sqlite3/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-sqlite3 15 | 16 | 17 | References 18 | ---------- 19 | * `OpenTelemetry SQLite3 Instrumentation `_ 20 | * `OpenTelemetry Project `_ 21 | * `OpenTelemetry Python Examples `_ 22 | 23 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-tornado/src/opentelemetry/instrumentation/tornado/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("tornado >= 5.1.1",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-dbapi/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Database API instrumentation 2 | ========================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-dbapi.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-dbapi/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-dbapi 15 | 16 | 17 | References 18 | ---------- 19 | 20 | * `OpenTelemetry Database API Instrumentation `_ 21 | * `OpenTelemetry Project `_ 22 | * `OpenTelemetry Python Examples `_ 23 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("falcon >= 1.4.1, < 4.0.0",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-starlette/src/opentelemetry/instrumentation/starlette/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("starlette ~= 0.13.0",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from typing import Collection 15 | 16 | _instruments: Collection[str] = ("boto3 ~= 1.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | _instruments = ("urllib3 >= 1.0.0, < 2.0.0",) 17 | 18 | _supports_metrics = True 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/src/opentelemetry/instrumentation/aio_pika/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from typing import Collection 15 | 16 | _instruments: Collection[str] = ("aio_pika ~= 7.2.0",) 17 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-system-metrics/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry System Metrics Instrumentation 2 | ============================================ 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-system-metrics.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-system-metrics/ 8 | 9 | Instrumentation to collect system performance metrics. 10 | 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-system-metrics 18 | 19 | 20 | References 21 | ---------- 22 | * `OpenTelemetry System Metrics Instrumentation `_ 23 | * `OpenTelemetry Project `_ 24 | 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pymemcache/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry pymemcache Instrumentation 2 | ======================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-pymemcache.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-pymemcache/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-pymemcache 15 | 16 | 17 | References 18 | ---------- 19 | * `OpenTelemetry Pymemcache Instrumentation `_ 20 | * `OpenTelemetry Project `_ 21 | * `OpenTelemetry Python Examples `_ 22 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asgi/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry ASGI Instrumentation 2 | ================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-asgi.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-asgi/ 8 | 9 | 10 | This library provides a ASGI middleware that can be used on any ASGI framework 11 | (such as Django, Starlette, FastAPI or Quart) to track requests timing through OpenTelemetry. 12 | 13 | Installation 14 | ------------ 15 | 16 | :: 17 | 18 | pip install opentelemetry-instrumentation-asgi 19 | 20 | References 21 | ---------- 22 | 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Boto Tracing 2 | ========================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-boto.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-boto/ 8 | 9 | This library allows tracing requests made by the Boto library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-boto 17 | 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry Boto Tracing `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-celery/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Celery Instrumentation 2 | ==================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-celery.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-celery/ 8 | 9 | Instrumentation for Celery. 10 | 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-celery 18 | 19 | References 20 | ---------- 21 | * `OpenTelemetry Celery Instrumentation `_ 22 | * `OpenTelemetry Project `_ 23 | * `OpenTelemetry Python Examples `_ 24 | 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-confluent-kafka/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry confluent-kafka Instrumentation 2 | ============================================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-confluent-kafka.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-confluent-kafka/ 8 | 9 | This library allows tracing requests made by the confluent-kafka library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-confluent-kafka 17 | 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry confluent-kafka/ Tracing `_ 23 | * `OpenTelemetry Project `_ 24 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-aws-xray/src/opentelemetry/propagators/aws/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from opentelemetry.propagators.aws.aws_xray_propagator import AwsXRayPropagator 16 | 17 | __all__ = ["AwsXRayPropagator"] 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-kafka-python/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry kafka-python integration 2 | ====================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-kafka-python.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-kafka-python/ 8 | 9 | Installation 10 | ------------ 11 | 12 | :: 13 | 14 | pip install opentelemetry-instrumentation-kafka-python 15 | 16 | 17 | References 18 | ---------- 19 | 20 | * `OpenTelemetry kafka-python Instrumentation `_ 21 | * `OpenTelemetry Project `_ 22 | * `OpenTelemetry Python Examples `_ 23 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlalchemy/src/opentelemetry/instrumentation/sqlalchemy/package.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | _instrumenting_module_name = "opentelemetry.instrumentation.sqlalchemy" 16 | 17 | _instruments = ("sqlalchemy",) 18 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-redis/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Redis Instrumentation 2 | =================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-redis.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-redis/ 8 | 9 | This library allows tracing requests made by the Redis library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-redis 17 | 18 | References 19 | ---------- 20 | 21 | * `OpenTelemetry Redis Instrumentation `_ 22 | * `OpenTelemetry Project `_ 23 | * `OpenTelemetry Python Examples `_ 24 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/tests/consts.py: -------------------------------------------------------------------------------- 1 | from argparse import Namespace 2 | 3 | from yarl import URL 4 | 5 | MESSAGE_ID = "meesage_id" 6 | CORRELATION_ID = "correlation_id" 7 | MESSAGING_SYSTEM = "rabbitmq" 8 | EXCHANGE_NAME = "exchange_name" 9 | QUEUE_NAME = "queue_name" 10 | ROUTING_KEY = "routing_key" 11 | SERVER_HOST = "localhost" 12 | SERVER_PORT = 1234 13 | SERVER_USER = "guest" 14 | SERVER_PASS = "guest" 15 | SERVER_URL = URL( 16 | f"amqp://{SERVER_USER}:{SERVER_PASS}@{SERVER_HOST}:{SERVER_PORT}/" 17 | ) 18 | CONNECTION = Namespace(connection=Namespace(url=SERVER_URL)) 19 | CHANNEL = Namespace(connection=CONNECTION, loop=None) 20 | MESSAGE = Namespace( 21 | properties=Namespace( 22 | message_id=MESSAGE_ID, correlation_id=CORRELATION_ID, headers={} 23 | ), 24 | exchange=EXCHANGE_NAME, 25 | headers={}, 26 | ) 27 | -------------------------------------------------------------------------------- /opentelemetry-instrumentation/src/opentelemetry/instrumentation/environment_variables.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | OTEL_PYTHON_DISABLED_INSTRUMENTATIONS = "OTEL_PYTHON_DISABLED_INSTRUMENTATIONS" 16 | """ 17 | .. envvar:: OTEL_PYTHON_DISABLED_INSTRUMENTATIONS 18 | """ 19 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-botocore/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Botocore Tracing 2 | ============================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-botocore.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-botocore/ 8 | 9 | This library allows tracing requests made by the Botocore library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-botocore 17 | 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry Botocore Tracing `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/trace/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from opentelemetry.sdk.extension.aws.trace.aws_xray_id_generator import ( 16 | AwsXRayIdGenerator, 17 | ) 18 | 19 | __all__ = ["AwsXRayIdGenerator"] 20 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Aio-pika Instrumentation 2 | ====================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-aio-pika.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-aio-pika/ 8 | 9 | This library allows tracing requests made by the Aio-pika library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-aio-pika 17 | 18 | References 19 | ---------- 20 | 21 | * `OpenTelemetry Aio-pika instrumentation `_ 22 | * `OpenTelemetry Project `_ 23 | * `OpenTelemetry Python Examples `_ 24 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Create a report to help us improve 4 | labels: bug 5 | --- 6 | 7 | **Describe your environment** Describe any aspect of your environment relevant to the problem, including your Python version, [platform](https://docs.python.org/3/library/platform.html), version numbers of installed dependencies, information about your cloud hosting provider, etc. If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on main. 8 | 9 | **Steps to reproduce** 10 | Describe exactly how to reproduce the error. Include a code sample if applicable. 11 | 12 | **What is the expected behavior?** 13 | What did you expect to see? 14 | 15 | **What is the actual behavior?** 16 | What did you see instead? 17 | 18 | **Additional context** 19 | Add any other context about the problem here. 20 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-remoulade/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Remoulade Instrumentation 2 | ======================================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-remoulade.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-remoulade/ 8 | 9 | This library allows tracing requests made by the Remoulade library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-remoulade 17 | 18 | References 19 | ---------- 20 | 21 | * `OpenTelemetry Remoulade Instrumentation `_ 22 | * `OpenTelemetry Project `_ 23 | * `OpenTelemetry Python Examples `_ 24 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-django/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Django Tracing 2 | ============================ 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-django.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-django/ 8 | 9 | This library allows tracing requests for Django applications. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-django 17 | 18 | References 19 | ---------- 20 | 21 | * `Django `_ 22 | * `OpenTelemetry Instrumentation for Django `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-logging/src/opentelemetry/instrumentation/logging/environment_variables.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | OTEL_PYTHON_LOG_CORRELATION = "OTEL_PYTHON_LOG_CORRELATION" 16 | OTEL_PYTHON_LOG_FORMAT = "OTEL_PYTHON_LOG_FORMAT" 17 | OTEL_PYTHON_LOG_LEVEL = "OTEL_PYTHON_LOG_LEVEL" 18 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: Suggest an idea for this project 4 | labels: feature-request 5 | --- 6 | 7 | Before opening a feature request against this repo, consider whether the feature should/could be implemented in the [other OpenTelemetry client libraries](https://github.com/open-telemetry/). If so, please [open an issue on opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification/issues/new) first. 8 | 9 | **Is your feature request related to a problem?** 10 | If so, provide a concise description of the problem. 11 | 12 | **Describe the solution you'd like** 13 | What do you want to happen instead? What is the expected behavior? 14 | 15 | **Describe alternatives you've considered** 16 | Which alternative solutions or features have you considered? 17 | 18 | **Additional context** 19 | Add any other context about the feature request here. 20 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-tornado/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Tornado Instrumentation 2 | ====================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-tornado.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-tornado/ 8 | 9 | This library builds on the OpenTelemetry WSGI middleware to track web requests 10 | in Tornado applications. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-tornado 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry Tornado Instrumentation `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aiohttp-client/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry aiohttp client Integration 2 | ======================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-aiohttp-client.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-aiohttp-client/ 8 | 9 | This library allows tracing HTTP requests made by the 10 | `aiohttp client `_ library. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-aiohttp-client 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry Project `_ 23 | * `aiohttp client Tracing `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /.github/component_owners.yml: -------------------------------------------------------------------------------- 1 | components: 2 | 3 | instrumentation/opentelemetry-instrumentation-aio-pika: 4 | - ofek1weiss 5 | 6 | instrumentation/opentelemetry-instrumentation-boto3sqs: 7 | - oxeye-nikolay 8 | - nikosokolik 9 | 10 | instrumentation/opentelemetry-instrumentation-kafka-python: 11 | - nozik 12 | 13 | instrumentation/opentelemetry-instrumentation-pika: 14 | - oxeye-nikolay 15 | - nikosokolik 16 | 17 | instrumentation/opentelemetry-instrumentation-redis: 18 | - sungwonh 19 | 20 | instrumentation/opentelemetry-instrumentation-remoulade: 21 | - ben-natan 22 | - machine424 23 | 24 | instrumentation/opentelemetry-instrumentation-confluent-kafka: 25 | - oxeye-dorkolog 26 | - dorkolog 27 | 28 | propagator/opentelemetry-propagator-aws-xray: 29 | - NathanielRN 30 | 31 | sdk-extension/opentelemetry-sdk-extension-aws: 32 | - NathanielRN 33 | - Kausik-A 34 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-mysql/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry MySQL Instrumentation 2 | =================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-mysql.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-mysql/ 8 | 9 | Instrumentation with MySQL that supports the mysql-connector library and is 10 | specified to trace_integration using 'MySQL'. 11 | 12 | 13 | Installation 14 | ------------ 15 | 16 | :: 17 | 18 | pip install opentelemetry-instrumentation-mysql 19 | 20 | 21 | References 22 | ---------- 23 | * `OpenTelemetry MySQL Instrumentation `_ 24 | * `OpenTelemetry Project `_ 25 | * `OpenTelemetry Python Examples `_ 26 | 27 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-urllib/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry urllib Instrumentation 2 | ==================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-urllib.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-urllib/ 8 | 9 | This library allows tracing HTTP requests made by the 10 | `urllib `_ library. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-urllib 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry urllib Instrumentation `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-fastapi/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry FastAPI Instrumentation 2 | ======================================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-fastapi.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-fastapi/ 8 | 9 | 10 | This library provides automatic and manual instrumentation of FastAPI web frameworks, 11 | instrumenting http requests served by applications utilizing the framework. 12 | 13 | auto-instrumentation using the opentelemetry-instrumentation package is also supported. 14 | 15 | Installation 16 | ------------ 17 | 18 | :: 19 | 20 | pip install opentelemetry-instrumentation-fastapi 21 | 22 | References 23 | ---------- 24 | 25 | * `OpenTelemetry Project `_ 26 | * `OpenTelemetry Python Examples `_ 27 | -------------------------------------------------------------------------------- /exporter/opentelemetry-exporter-richconsole/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Rich Console Exporter 2 | =================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-exporter-richconsole.svg 7 | :target: https://pypi.org/project/opentelemetry-exporter-richconsole/ 8 | 9 | This library is a console exporter using the Rich tree view. When used with a batch span processor, the rich console exporter will show the trace as a 10 | tree and all related spans as children within the tree, including properties. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-exporter-richconsole 18 | 19 | 20 | .. _Rich: https://rich.readthedocs.io/ 21 | .. _OpenTelemetry: https://github.com/open-telemetry/opentelemetry-python/ 22 | 23 | 24 | References 25 | ---------- 26 | 27 | * `Rich `_ 28 | * `OpenTelemetry Project `_ 29 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sklearn/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Scikit-Learn Instrumentation 2 | ========================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-sklearn.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-sklearn/ 8 | 9 | This library allows tracing HTTP requests made by the 10 | `scikit-learn `_ library. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-sklearn 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry sklearn Instrumentation `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asyncpg/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry asyncpg Instrumentation 2 | ===================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-asyncpg.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-asyncpg/ 8 | 9 | This library allows tracing PostgreSQL queries made by the 10 | `asyncpg `_ library. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-asyncpg 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry asyncpg Instrumentation `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-starlette/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Starlette Instrumentation 2 | ======================================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-starlette.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-starlette/ 8 | 9 | 10 | This library provides automatic and manual instrumentation of Starlette web frameworks, 11 | instrumenting http requests served by applications utilizing the framework. 12 | 13 | auto-instrumentation using the opentelemetry-instrumentation package is also supported. 14 | 15 | Installation 16 | ------------ 17 | 18 | :: 19 | 20 | pip install opentelemetry-instrumentation-starlette 21 | 22 | References 23 | ---------- 24 | 25 | * `OpenTelemetry Project `_ 26 | * `OpenTelemetry Python Examples `_ 27 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/tests/helpers_es7.py: -------------------------------------------------------------------------------- 1 | from elasticsearch_dsl import ( # pylint: disable=unused-import 2 | Document, 3 | Keyword, 4 | Text, 5 | ) 6 | 7 | 8 | class Article(Document): 9 | title = Text(analyzer="snowball", fields={"raw": Keyword()}) 10 | body = Text(analyzer="snowball") 11 | 12 | class Index: 13 | name = "test-index" 14 | 15 | 16 | dsl_create_statement = { 17 | "mappings": { 18 | "properties": { 19 | "title": { 20 | "analyzer": "snowball", 21 | "fields": {"raw": {"type": "keyword"}}, 22 | "type": "text", 23 | }, 24 | "body": {"analyzer": "snowball", "type": "text"}, 25 | } 26 | } 27 | } 28 | dsl_index_result = (1, {}, '{"result": "created"}') 29 | dsl_index_span_name = "Elasticsearch/test-index/_doc/2" 30 | dsl_index_url = "/test-index/_doc/2" 31 | dsl_search_method = "POST" 32 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-sqlalchemy/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry SQLAlchemy Instrumentation 2 | ======================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-sqlalchemy.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-sqlalchemy/ 8 | 9 | This library allows tracing requests made by the SQLAlchemy library. 10 | 11 | Installation 12 | ------------ 13 | 14 | :: 15 | 16 | pip install opentelemetry-instrumentation-sqlalchemy 17 | 18 | 19 | References 20 | ---------- 21 | 22 | * `SQLAlchemy Project `_ 23 | * `OpenTelemetry SQLAlchemy Tracing `_ 24 | * `OpenTelemetry Project `_ 25 | * `OpenTelemetry Python Examples `_ -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-wsgi/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry WSGI Middleware 2 | ============================= 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-wsgi.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-wsgi/ 8 | 9 | 10 | This library provides a WSGI middleware that can be used on any WSGI framework 11 | (such as Django / Flask) to track requests timing through OpenTelemetry. 12 | 13 | Installation 14 | ------------ 15 | 16 | :: 17 | 18 | pip install opentelemetry-instrumentation-wsgi 19 | 20 | References 21 | ---------- 22 | 23 | * `OpenTelemetry WSGI Middleware `_ 24 | * `OpenTelemetry Project `_ 25 | * `WSGI `_ 26 | * `OpenTelemetry Python Examples `_ 27 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry elasticsearch Integration 2 | ======================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-elasticsearch.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-elasticsearch/ 8 | 9 | This library allows tracing elasticsearch made by the 10 | `elasticsearch `_ library. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-elasticsearch 18 | 19 | References 20 | ---------- 21 | 22 | * `OpenTelemetry elasticsearch Integration `_ 23 | * `OpenTelemetry Project `_ 24 | * `OpenTelemetry Python Examples `_ 25 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-celery/tests/celery_test_tasks.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from celery import Celery 16 | 17 | 18 | class Config: 19 | result_backend = "rpc" 20 | broker_backend = "memory" 21 | 22 | 23 | app = Celery(broker="memory:///") 24 | app.config_from_object(Config) 25 | 26 | 27 | @app.task 28 | def task_add(num_a, num_b): 29 | return num_a + num_b 30 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/tests/helpers_es6.py: -------------------------------------------------------------------------------- 1 | from elasticsearch_dsl import ( # pylint: disable=unused-import 2 | Document, 3 | Keyword, 4 | Text, 5 | ) 6 | 7 | 8 | class Article(Document): 9 | title = Text(analyzer="snowball", fields={"raw": Keyword()}) 10 | body = Text(analyzer="snowball") 11 | 12 | class Index: 13 | name = "test-index" 14 | 15 | 16 | dsl_create_statement = { 17 | "mappings": { 18 | "doc": { 19 | "properties": { 20 | "title": { 21 | "analyzer": "snowball", 22 | "fields": {"raw": {"type": "keyword"}}, 23 | "type": "text", 24 | }, 25 | "body": {"analyzer": "snowball", "type": "text"}, 26 | } 27 | } 28 | } 29 | } 30 | dsl_index_result = (1, {}, '{"result": "created"}') 31 | dsl_index_span_name = "Elasticsearch/test-index/doc/2" 32 | dsl_index_url = "/test-index/doc/2" 33 | dsl_search_method = "GET" 34 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/tests/helpers_es5.py: -------------------------------------------------------------------------------- 1 | from elasticsearch_dsl import ( # pylint: disable=no-name-in-module 2 | DocType, 3 | Keyword, 4 | Text, 5 | ) 6 | 7 | 8 | class Article(DocType): 9 | title = Text(analyzer="snowball", fields={"raw": Keyword()}) 10 | body = Text(analyzer="snowball") 11 | 12 | class Meta: 13 | index = "test-index" 14 | 15 | 16 | dsl_create_statement = { 17 | "mappings": { 18 | "article": { 19 | "properties": { 20 | "title": { 21 | "analyzer": "snowball", 22 | "fields": {"raw": {"type": "keyword"}}, 23 | "type": "text", 24 | }, 25 | "body": {"analyzer": "snowball", "type": "text"}, 26 | } 27 | } 28 | }, 29 | } 30 | dsl_index_result = (1, {}, '{"created": true}') 31 | dsl_index_span_name = "Elasticsearch/test-index/article/2" 32 | dsl_index_url = "/test-index/article/2" 33 | dsl_search_method = "GET" 34 | -------------------------------------------------------------------------------- /.github/workflows/publish-a-package.yml: -------------------------------------------------------------------------------- 1 | name: Publish a Package from Tag 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'opentelemetry-*==[1-9]*.*' 7 | 8 | jobs: 9 | publish-a-package: 10 | name: Publish package from tag 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v1 14 | - uses: actions/setup-python@v1 15 | with: 16 | python-version: '3.9' 17 | - name: Log tag that triggered publish workflow 18 | run: echo "Attempting to publish package from tag $GITHUB_REF" 19 | - name: Build wheel for tag 20 | run: ./scripts/build_a_package.sh 21 | - name: Install twine 22 | run: | 23 | pip install twine 24 | # We don't need to publish to TestPyPI because we only publish 1 package. 25 | # If it fails no other work needs to be reversed. 26 | - name: Publish to PyPI 27 | env: 28 | TWINE_USERNAME: '__token__' 29 | TWINE_PASSWORD: ${{ secrets.pypi_password }} 30 | run: | 31 | twine upload --skip-existing --verbose dist/* 32 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-elasticsearch/tests/helpers_es2.py: -------------------------------------------------------------------------------- 1 | from elasticsearch_dsl import ( # pylint: disable=no-name-in-module 2 | DocType, 3 | String, 4 | ) 5 | 6 | 7 | class Article(DocType): 8 | title = String(analyzer="snowball", fields={"raw": String()}) 9 | body = String(analyzer="snowball") 10 | 11 | class Meta: 12 | index = "test-index" 13 | 14 | 15 | dsl_create_statement = { 16 | "mappings": { 17 | "article": { 18 | "properties": { 19 | "title": { 20 | "analyzer": "snowball", 21 | "fields": {"raw": {"type": "string"}}, 22 | "type": "string", 23 | }, 24 | "body": {"analyzer": "snowball", "type": "string"}, 25 | } 26 | } 27 | }, 28 | "settings": {"analysis": {}}, 29 | } 30 | dsl_index_result = (1, {}, '{"created": true}') 31 | dsl_index_span_name = "Elasticsearch/test-index/article/2" 32 | dsl_index_url = "/test-index/article/2" 33 | dsl_search_method = "GET" 34 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/tests/performance/benchmarks/trace/test_benchmark_aws_xray_ids_generator.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from opentelemetry.sdk.extension.aws.trace import AwsXRayIdGenerator 16 | 17 | id_generator = AwsXRayIdGenerator() 18 | 19 | 20 | def test_generate_xray_trace_id(benchmark): 21 | benchmark(id_generator.generate_trace_id) 22 | 23 | 24 | def test_generate_xray_span_id(benchmark): 25 | benchmark(id_generator.generate_span_id) 26 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | name: CodeQL Analysis 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | # ┌───────────── minute (0 - 59) 7 | # │ ┌───────────── hour (0 - 23) 8 | # │ │ ┌───────────── day of the month (1 - 31) 9 | # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) 10 | # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) 11 | # │ │ │ │ │ 12 | # │ │ │ │ │ 13 | # │ │ │ │ │ 14 | # * * * * * 15 | - cron: '30 1 * * *' 16 | 17 | jobs: 18 | CodeQL-Build: 19 | runs-on: ubuntu-latest 20 | 21 | steps: 22 | - name: Checkout repository 23 | uses: actions/checkout@v2 24 | 25 | # Initializes the CodeQL tools for scanning. 26 | - name: Initialize CodeQL 27 | uses: github/codeql-action/init@v1 28 | with: 29 | languages: python 30 | 31 | - name: Autobuild 32 | uses: github/codeql-action/autobuild@v1 33 | 34 | - name: Perform CodeQL Analysis 35 | uses: github/codeql-action/analyze@v1 -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/tests/test_span_builder.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from unittest import TestCase 15 | 16 | from opentelemetry.instrumentation.aio_pika.span_builder import SpanBuilder 17 | from opentelemetry.trace import Span, get_tracer 18 | 19 | 20 | class TestBuilder(TestCase): 21 | def test_build(self): 22 | builder = SpanBuilder(get_tracer(__name__)) 23 | builder.set_as_consumer() 24 | builder.set_destination('destination') 25 | span = builder.build() 26 | self.assertTrue(isinstance(span, Span)) 27 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-wsgi/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | import pkg_resources 15 | 16 | # IMPORTANT: Only the wsgi module needs this because it is always the first 17 | # package that uses the `{rootdir}/*/tests/` path and gets installed by 18 | # `eachdist.py` and according to `eachdist.ini`. 19 | 20 | # Naming the tests module as a namespace package ensures that 21 | # relative imports will resolve properly for subsequent test packages, 22 | # as it enables searching for a composite of multiple test modules. 23 | pkg_resources.declare_namespace(__name__) 24 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/extensions/sqs.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from opentelemetry.instrumentation.botocore.extensions.types import ( 16 | _AttributeMapT, 17 | _AwsSdkExtension, 18 | ) 19 | 20 | 21 | class _SqsExtension(_AwsSdkExtension): 22 | def extract_attributes(self, attributes: _AttributeMapT): 23 | queue_url = self._call_context.params.get("QueueUrl") 24 | if queue_url: 25 | # TODO: update when semantic conventions exist 26 | attributes["aws.queue_url"] = queue_url 27 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Code owners file. 2 | # This file controls who is tagged for review for any given pull request. 3 | # 4 | # What is a "CODEOWNER"? 5 | # 6 | # A CODEOWNER lends their expertise to a specific package hosted by an OpenTelemetry repository. 7 | # 8 | # A CODEOWNER MUST: 9 | # - introduce themselves on the CNCF OTel Python channel: https://cloud-native.slack.com/archives/C01PD4HUVBL 10 | # - have enough knowledge of the corresponding instrumented library 11 | # - respond to issues 12 | # - fix failing unit tests or any other blockers to the CI/CD workflow 13 | # - update usage of `opentelemetry-python-core` APIs upon the introduction of breaking changes 14 | # - be a member of the OpenTelemetry community so that the `component-owners.yml` action to automatically assign CODEOWNERS to PRs works correctly. 15 | # 16 | 17 | 18 | # For anything not explicitly taken by someone else: 19 | * @open-telemetry/opentelemetry-python-contrib-approvers 20 | 21 | # Learn about CODEOWNERS file format: 22 | # https://help.github.com/en/articles/about-code-owners 23 | # 24 | # Learn about membership in OpenTelemetry community: 25 | # https://github.com/open-telemetry/community/blob/main/community-membership.md 26 | # 27 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-grpc/src/opentelemetry/instrumentation/grpc/_utilities.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Internal utilities.""" 16 | 17 | 18 | class RpcInfo: 19 | def __init__( 20 | self, 21 | full_method=None, 22 | metadata=None, 23 | timeout=None, 24 | request=None, 25 | response=None, 26 | error=None, 27 | ): 28 | self.full_method = full_method 29 | self.metadata = metadata 30 | self.timeout = timeout 31 | self.request = request 32 | self.response = response 33 | self.error = error 34 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-grpc/tests/protobuf/test_server.proto: -------------------------------------------------------------------------------- 1 | // Copyright 2019 gRPC authors. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | syntax = "proto3"; 15 | 16 | message Request { 17 | int64 client_id = 1; 18 | string request_data = 2; 19 | } 20 | 21 | message Response { 22 | int64 server_id = 1; 23 | string response_data = 2; 24 | } 25 | 26 | service GRPCTestServer { 27 | rpc SimpleMethod (Request) returns (Response); 28 | 29 | rpc ClientStreamingMethod (stream Request) returns (Response); 30 | 31 | rpc ServerStreamingMethod (Request) returns (stream Response); 32 | 33 | rpc BidirectionalStreamingMethod (stream Request) returns (stream Response); 34 | } 35 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-asyncpg/tests/test_asyncpg_wrapper.py: -------------------------------------------------------------------------------- 1 | from asyncpg import Connection 2 | 3 | from opentelemetry.instrumentation.asyncpg import AsyncPGInstrumentor 4 | from opentelemetry.test.test_base import TestBase 5 | 6 | 7 | class TestAsyncPGInstrumentation(TestBase): 8 | def test_duplicated_instrumentation(self): 9 | AsyncPGInstrumentor().instrument() 10 | AsyncPGInstrumentor().instrument() 11 | AsyncPGInstrumentor().instrument() 12 | AsyncPGInstrumentor().uninstrument() 13 | for method_name in ["execute", "fetch"]: 14 | method = getattr(Connection, method_name, None) 15 | self.assertFalse( 16 | hasattr(method, "_opentelemetry_ext_asyncpg_applied") 17 | ) 18 | 19 | def test_duplicated_uninstrumentation(self): 20 | AsyncPGInstrumentor().instrument() 21 | AsyncPGInstrumentor().uninstrument() 22 | AsyncPGInstrumentor().uninstrument() 23 | AsyncPGInstrumentor().uninstrument() 24 | for method_name in ["execute", "fetch"]: 25 | method = getattr(Connection, method_name, None) 26 | self.assertFalse( 27 | hasattr(method, "_opentelemetry_ext_asyncpg_applied") 28 | ) 29 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-boto/tests/conftest.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from os import environ 16 | 17 | 18 | def pytest_sessionstart(session): 19 | # pylint: disable=unused-argument 20 | environ["AWS_ACCESS_KEY_ID"] = "testing" 21 | environ["AWS_SECRET_ACCESS_KEY"] = "testing" 22 | environ["AWS_SECURITY_TOKEN"] = "testing" 23 | environ["AWS_SESSION_TOKEN"] = "testing" 24 | 25 | 26 | def pytest_sessionfinish(session): 27 | # pylint: disable=unused-argument 28 | environ.pop("AWS_ACCESS_KEY_ID") 29 | environ.pop("AWS_SECRET_ACCESS_KEY") 30 | environ.pop("AWS_SECURITY_TOKEN") 31 | environ.pop("AWS_SESSION_TOKEN") 32 | -------------------------------------------------------------------------------- /scripts/prepare_release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # This script: 4 | # 1. parses the version number from the branch name 5 | # 2. updates version.py files to match that version 6 | # 3. iterates through CHANGELOG.md files and updates any files containing 7 | # unreleased changes 8 | # 4. sets the output variable 'version_updated' to determine whether 9 | # the github action to create a pull request should run. this allows 10 | # maintainers to merge changes back into the release branch without 11 | # triggering unnecessary pull requests 12 | # 13 | 14 | VERSION=$(./scripts/eachdist.py version --mode stable)-$(./scripts/eachdist.py version --mode prerelease) 15 | echo "Using version ${VERSION}" 16 | 17 | 18 | # create the release branch 19 | git checkout -b release/${VERSION} 20 | git push origin release/${VERSION} 21 | 22 | ./scripts/eachdist.py update_versions --versions stable,prerelease 23 | ./scripts/generate_instrumentation_bootstrap.py 24 | rc=$? 25 | if [ $rc != 0 ]; then 26 | echo "::set-output name=version_updated::0" 27 | exit 0 28 | fi 29 | 30 | git add . 31 | 32 | git commit -m "updating changelogs and version to ${VERSION}" 33 | 34 | echo "Time to create a release, here's a sample title:" 35 | echo "[pre-release] Update changelogs, version [${VERSION}]" 36 | -------------------------------------------------------------------------------- /util/opentelemetry-util-http/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "opentelemetry-util-http" 7 | dynamic = ["version"] 8 | description = "Web util for OpenTelemetry" 9 | readme = "README.rst" 10 | license = "Apache-2.0" 11 | requires-python = ">=3.7" 12 | authors = [ 13 | { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, 14 | ] 15 | classifiers = [ 16 | "Development Status :: 4 - Beta", 17 | "Intended Audience :: Developers", 18 | "License :: OSI Approved :: Apache Software License", 19 | "Programming Language :: Python", 20 | "Programming Language :: Python :: 3", 21 | "Programming Language :: Python :: 3.7", 22 | "Programming Language :: Python :: 3.8", 23 | "Programming Language :: Python :: 3.9", 24 | "Programming Language :: Python :: 3.10", 25 | ] 26 | 27 | [project.urls] 28 | Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/util/opentelemetry-util-http" 29 | 30 | [tool.hatch.version] 31 | path = "src/opentelemetry/util/http/version.py" 32 | 33 | [tool.hatch.build.targets.sdist] 34 | include = [ 35 | "/src", 36 | "/tests", 37 | ] 38 | 39 | [tool.hatch.build.targets.wheel] 40 | packages = ["src/opentelemetry"] 41 | -------------------------------------------------------------------------------- /.github/workflows/changelog.yml: -------------------------------------------------------------------------------- 1 | # This action requires that any PR targeting the main branch should touch at 2 | # least one CHANGELOG file. If a CHANGELOG entry is not required, add the "Skip 3 | # Changelog" label to disable this action. 4 | 5 | name: changelog 6 | 7 | on: 8 | pull_request: 9 | types: [opened, synchronize, reopened, labeled, unlabeled] 10 | branches: 11 | - main 12 | 13 | jobs: 14 | changelog: 15 | runs-on: ubuntu-latest 16 | if: "!contains(github.event.pull_request.labels.*.name, 'Skip Changelog')" 17 | 18 | steps: 19 | - uses: actions/checkout@v2 20 | 21 | - name: Check for CHANGELOG changes 22 | run: | 23 | # Only the latest commit of the feature branch is available 24 | # automatically. To diff with the base branch, we need to 25 | # fetch that too (and we only need its latest commit). 26 | git fetch origin ${{ github.base_ref }} --depth=1 27 | if [[ $(git diff --name-only FETCH_HEAD | grep CHANGELOG) ]] 28 | then 29 | echo "A CHANGELOG was modified. Looks good!" 30 | else 31 | echo "No CHANGELOG was modified." 32 | echo "Please add a CHANGELOG entry, or add the \"Skip Changelog\" label if not required." 33 | false 34 | fi -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. 4 | 5 | Fixes # (issue) 6 | 7 | ## Type of change 8 | 9 | Please delete options that are not relevant. 10 | 11 | - [ ] Bug fix (non-breaking change which fixes an issue) 12 | - [ ] New feature (non-breaking change which adds functionality) 13 | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) 14 | - [ ] This change requires a documentation update 15 | 16 | # How Has This Been Tested? 17 | 18 | Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration 19 | 20 | - [ ] Test A 21 | 22 | # Does This PR Require a Core Repo Change? 23 | 24 | - [ ] Yes. - Link to PR: 25 | - [ ] No. 26 | 27 | # Checklist: 28 | 29 | See [contributing.md](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CONTRIBUTING.md) for styleguide, changelog guidelines, and more. 30 | 31 | - [ ] Followed the style guidelines of this project 32 | - [ ] Changelogs have been updated 33 | - [ ] Unit tests have been added 34 | - [ ] Documentation has been updated 35 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aws-lambda/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry AWS Lambda Tracing 2 | ================================ 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-aws-lambda.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-aws-lambda/ 8 | 9 | This library provides an Instrumentor used to trace requests made by the Lambda 10 | functions on the AWS Lambda service. 11 | 12 | It also provides scripts used by AWS Lambda Layers to automatically initialize 13 | the OpenTelemetry SDK. Learn more on the AWS Distro for OpenTelemetry (ADOT) 14 | `documentation for the Python Lambda Layer `_. 15 | 16 | Installation 17 | ------------ 18 | 19 | :: 20 | 21 | pip install opentelemetry-instrumentation-aws-lambda 22 | 23 | 24 | References 25 | ---------- 26 | 27 | * `OpenTelemetry AWS Lambda Tracing `_ 28 | * `OpenTelemetry Project `_ 29 | * `OpenTelemetry Python Examples `_ 30 | * `ADOT Python Lambda Layer Documentation `_ 31 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | publish: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v1 12 | - uses: actions/setup-python@v1 13 | with: 14 | python-version: '3.7' 15 | - name: Build wheels 16 | run: ./scripts/build.sh 17 | - name: Install twine 18 | run: | 19 | pip install twine 20 | # The step below publishes to testpypi in order to catch any issues 21 | # with the package configuration that would cause a failure to upload 22 | # to pypi. One example of such a failure is if a classifier is 23 | # rejected by pypi (e.g "3 - Beta"). This would cause a failure during the 24 | # middle of the package upload causing the action to fail, and certain packages 25 | # might have already been updated, this would be bad. 26 | - name: Publish to TestPyPI 27 | env: 28 | TWINE_USERNAME: '__token__' 29 | TWINE_PASSWORD: ${{ secrets.test_pypi_token }} 30 | run: | 31 | twine upload --repository testpypi --skip-existing --verbose dist/* 32 | - name: Publish to PyPI 33 | env: 34 | TWINE_USERNAME: '__token__' 35 | TWINE_PASSWORD: ${{ secrets.pypi_password }} 36 | run: | 37 | twine upload --skip-existing --verbose dist/* 38 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-aws-xray/tests/performance/benchmarks/test_benchmark_aws_xray_propagator.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from requests.structures import CaseInsensitiveDict 16 | 17 | from opentelemetry.propagators.aws.aws_xray_propagator import ( 18 | TRACE_HEADER_KEY, 19 | AwsXRayPropagator, 20 | ) 21 | 22 | XRAY_PROPAGATOR = AwsXRayPropagator() 23 | 24 | 25 | def test_extract_single_header(benchmark): 26 | benchmark( 27 | XRAY_PROPAGATOR.extract, 28 | { 29 | TRACE_HEADER_KEY: "bdb5b63237ed38aea578af665aa5aa60-00000000000000000c32d953d73ad225" 30 | }, 31 | ) 32 | 33 | 34 | def test_inject_empty_context(benchmark): 35 | benchmark( 36 | XRAY_PROPAGATOR.inject, {}, setter=CaseInsensitiveDict.__setitem__ 37 | ) 38 | -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script builds wheels for the API, SDK, and extension packages in the 4 | # dist/ dir, to be uploaded to PyPI. 5 | 6 | set -ev 7 | 8 | # Get the latest versions of packaging tools 9 | python3 -m pip install --upgrade pip build setuptools wheel 10 | 11 | BASEDIR=$(dirname $(readlink -f $(dirname $0))) 12 | DISTDIR=dist 13 | 14 | ( 15 | cd $BASEDIR 16 | mkdir -p $DISTDIR 17 | rm -rf $DISTDIR/* 18 | 19 | for d in exporter/*/ opentelemetry-instrumentation/ opentelemetry-contrib-instrumentations/ opentelemetry-distro/ instrumentation/*/ propagator/*/ sdk-extension/*/ util/*/ ; do 20 | ( 21 | echo "building $d" 22 | cd "$d" 23 | # Some ext directories (such as docker tests) are not intended to be 24 | # packaged. Verify the intent by looking for a pyproject.toml. 25 | if [ -f pyproject.toml ]; then 26 | python3 -m build --outdir "$BASEDIR/dist/" 27 | fi 28 | ) 29 | done 30 | ( 31 | cd $DISTDIR 32 | for x in *.tar.gz ; do 33 | # NOTE: We filter beta vs 1.0 package at this point because we can read the 34 | # version directly from the .tar.gz file. 35 | if (echo "$x" | grep -Eq ^opentelemetry_.*-0\..*\.tar\.gz$); then 36 | : 37 | else 38 | echo "Skipping $x because it is not in pre-1.0 state and should be released using a tag." 39 | rm $x 40 | fi 41 | done 42 | ) 43 | ) 44 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/resource/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from opentelemetry.sdk.extension.aws.resource._lambda import ( 16 | AwsLambdaResourceDetector, 17 | ) 18 | from opentelemetry.sdk.extension.aws.resource.beanstalk import ( 19 | AwsBeanstalkResourceDetector, 20 | ) 21 | from opentelemetry.sdk.extension.aws.resource.ec2 import AwsEc2ResourceDetector 22 | from opentelemetry.sdk.extension.aws.resource.ecs import AwsEcsResourceDetector 23 | from opentelemetry.sdk.extension.aws.resource.eks import AwsEksResourceDetector 24 | 25 | __all__ = [ 26 | "AwsBeanstalkResourceDetector", 27 | "AwsEc2ResourceDetector", 28 | "AwsEcsResourceDetector", 29 | "AwsEksResourceDetector", 30 | "AwsLambdaResourceDetector", 31 | ] 32 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-pika/tests/test_getter.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from unittest import TestCase 15 | 16 | from opentelemetry.instrumentation.pika.utils import _PikaGetter 17 | 18 | 19 | class TestPikaGetter(TestCase): 20 | def setUp(self) -> None: 21 | self.getter = _PikaGetter() 22 | 23 | def test_get_none(self) -> None: 24 | carrier = {} 25 | value = self.getter.get(carrier, "test") 26 | self.assertIsNone(value) 27 | 28 | def test_get_value(self) -> None: 29 | key = "test" 30 | value = "value" 31 | carrier = {key: value} 32 | val = self.getter.get(carrier, key) 33 | self.assertEqual(val, [value]) 34 | 35 | def test_keys(self): 36 | keys = self.getter.keys({}) 37 | self.assertEqual(keys, []) 38 | -------------------------------------------------------------------------------- /docs/nitpick-exceptions.ini: -------------------------------------------------------------------------------- 1 | [default] 2 | class_references= 3 | ; TODO: Understand why sphinx is not able to find this local class 4 | opentelemetry.propagators.textmap.CarrierT 5 | opentelemetry.propagators.textmap.Setter 6 | opentelemetry.propagators.textmap.Getter 7 | opentelemetry.propagators.textmap.TextMapPropagator 8 | ; - AwsXRayPropagator 9 | opentelemetry.propagators.textmap.DefaultGetter 10 | ; API 11 | opentelemetry.propagators.textmap.Getter 12 | ; - AWSXRayPropagator 13 | opentelemetry.sdk.trace.id_generator.IdGenerator 14 | ; - AwsXRayIdGenerator 15 | TextMapPropagator 16 | CarrierT 17 | Setter 18 | Getter 19 | ; - AwsXRayPropagator.extract 20 | ; httpx changes __module__ causing Sphinx to error and no Sphinx site is available 21 | httpx.Client 22 | httpx.AsyncClient 23 | httpx.BaseTransport 24 | httpx.AsyncBaseTransport 25 | httpx.SyncByteStream 26 | httpx.AsyncByteStream 27 | httpx.Response 28 | yarl.URL 29 | 30 | anys= 31 | ; API 32 | opentelemetry.propagators.textmap.TextMapPropagator.fields 33 | ; - AWSXRayPropagator 34 | TraceId 35 | ; - AwsXRayIdGenerator 36 | TraceIdRatioBased 37 | ; - AwsXRayIdGenerator 38 | ; SDK 39 | SpanProcessor 40 | TracerProvider 41 | ; - AwsXRayIdGenerator 42 | ; Instrumentation 43 | BaseInstrumentor 44 | ; - instrumentation.* 45 | Setter 46 | httpx 47 | -------------------------------------------------------------------------------- /opentelemetry-distro/src/opentelemetry/distro/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | import os 16 | 17 | from opentelemetry.environment_variables import ( 18 | OTEL_METRICS_EXPORTER, 19 | OTEL_TRACES_EXPORTER, 20 | ) 21 | from opentelemetry.instrumentation.distro import BaseDistro 22 | from opentelemetry.sdk._configuration import _OTelSDKConfigurator 23 | 24 | 25 | class OpenTelemetryConfigurator(_OTelSDKConfigurator): 26 | pass 27 | 28 | 29 | class OpenTelemetryDistro(BaseDistro): 30 | """ 31 | The OpenTelemetry provided Distro configures a default set of 32 | configuration out of the box. 33 | """ 34 | 35 | # pylint: disable=no-self-use 36 | def _configure(self, **kwargs): 37 | os.environ.setdefault(OTEL_TRACES_EXPORTER, "otlp_proto_grpc") 38 | os.environ.setdefault(OTEL_METRICS_EXPORTER, "otlp_proto_grpc") 39 | -------------------------------------------------------------------------------- /docs-requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx==4.5.0 2 | sphinx-rtd-theme~=0.4 3 | sphinx-autodoc-typehints 4 | 5 | # Need to install the api/sdk in the venv for autodoc. Modifying sys.path 6 | # doesn't work for pkg_resources. 7 | -e "git+https://github.com/open-telemetry/opentelemetry-python.git#egg=opentelemetry-api&subdirectory=opentelemetry-api" 8 | -e "git+https://github.com/open-telemetry/opentelemetry-python.git#egg=opentelemetry-semantic-conventions&subdirectory=opentelemetry-semantic-conventions" 9 | -e "git+https://github.com/open-telemetry/opentelemetry-python.git#egg=opentelemetry-sdk&subdirectory=opentelemetry-sdk" 10 | -e "git+https://github.com/open-telemetry/opentelemetry-python-contrib.git#egg=opentelemetry-util-http&subdirectory=util/opentelemetry-util-http" 11 | ./opentelemetry-instrumentation 12 | 13 | # Required by opentelemetry-instrumentation 14 | fastapi>=0.65.2 15 | pymemcache~=1.3 16 | 17 | # Required by conf 18 | django>=2.2 19 | 20 | # Required by instrumentation and exporter packages 21 | aiohttp~=3.0 22 | aiopg>=0.13.0,<1.3.0 23 | asyncpg>=0.12.0 24 | boto~=2.0 25 | botocore~=1.0 26 | celery>=4.0 27 | flask~=2.0 28 | falcon~=2.0 29 | grpcio~=1.27 30 | mysql-connector-python~=8.0 31 | psutil>=5 32 | pymongo~=3.1 33 | PyMySQL~=0.9.3 34 | pyramid>=1.7 35 | redis>=2.6 36 | remoulade>=0.50 37 | sqlalchemy>=1.0 38 | tornado>=5.1.1 39 | ddtrace>=0.34.0 40 | httpx>=0.18.0 41 | 42 | # indirect dependency pins 43 | markupsafe==2.0.1 44 | itsdangerous==2.0.1 45 | 46 | docutils==0.16 -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-requests/README.rst: -------------------------------------------------------------------------------- 1 | OpenTelemetry Requests Instrumentation 2 | ====================================== 3 | 4 | |pypi| 5 | 6 | .. |pypi| image:: https://badge.fury.io/py/opentelemetry-instrumentation-requests.svg 7 | :target: https://pypi.org/project/opentelemetry-instrumentation-requests/ 8 | 9 | This library allows tracing HTTP requests made by the 10 | `requests `_ library. 11 | 12 | Installation 13 | ------------ 14 | 15 | :: 16 | 17 | pip install opentelemetry-instrumentation-requests 18 | 19 | Configuration 20 | ------------- 21 | 22 | Exclude lists 23 | ************* 24 | To exclude certain URLs from being tracked, set the environment variable ``OTEL_PYTHON_REQUESTS_EXCLUDED_URLS`` 25 | (or ``OTEL_PYTHON_EXCLUDED_URLS`` as fallback) with comma delimited regexes representing which URLs to exclude. 26 | 27 | For example, 28 | 29 | :: 30 | 31 | export OTEL_PYTHON_REQUESTS_EXCLUDED_URLS="client/.*/info,healthcheck" 32 | 33 | will exclude requests such as ``https://site/client/123/info`` and ``https://site/xyz/healthcheck``. 34 | 35 | References 36 | ---------- 37 | 38 | * `OpenTelemetry requests Instrumentation `_ 39 | * `OpenTelemetry Project `_ 40 | * `OpenTelemetry Python Examples `_ 41 | -------------------------------------------------------------------------------- /opentelemetry-distro/tests/test_distro.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # type: ignore 15 | 16 | import os 17 | from unittest import TestCase 18 | 19 | from pkg_resources import DistributionNotFound, require 20 | 21 | from opentelemetry.distro import OpenTelemetryDistro 22 | from opentelemetry.environment_variables import OTEL_TRACES_EXPORTER 23 | 24 | 25 | class TestDistribution(TestCase): 26 | def test_package_available(self): 27 | try: 28 | require(["opentelemetry-distro"]) 29 | except DistributionNotFound: 30 | self.fail("opentelemetry-distro not installed") 31 | 32 | def test_default_configuration(self): 33 | distro = OpenTelemetryDistro() 34 | self.assertIsNone(os.environ.get(OTEL_TRACES_EXPORTER)) 35 | distro.configure() 36 | self.assertEqual( 37 | "otlp_proto_grpc", os.environ.get(OTEL_TRACES_EXPORTER) 38 | ) 39 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aio-pika/tests/test_aio_pika_instrumentation.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from unittest import TestCase 15 | 16 | import wrapt 17 | from aio_pika import Exchange, Queue 18 | 19 | from opentelemetry.instrumentation.aio_pika import AioPikaInstrumentor 20 | 21 | 22 | class TestPika(TestCase): 23 | def test_instrument_api(self) -> None: 24 | instrumentation = AioPikaInstrumentor() 25 | instrumentation.instrument() 26 | self.assertTrue(isinstance(Queue.consume, wrapt.BoundFunctionWrapper)) 27 | self.assertTrue( 28 | isinstance(Exchange.publish, wrapt.BoundFunctionWrapper) 29 | ) 30 | instrumentation.uninstrument() 31 | self.assertFalse(isinstance(Queue.consume, wrapt.BoundFunctionWrapper)) 32 | self.assertFalse( 33 | isinstance(Exchange.publish, wrapt.BoundFunctionWrapper) 34 | ) 35 | -------------------------------------------------------------------------------- /scripts/check_for_valid_readme.py: -------------------------------------------------------------------------------- 1 | """Test script to check given paths for valid README.rst files.""" 2 | import argparse 3 | import sys 4 | from pathlib import Path 5 | 6 | import readme_renderer.rst 7 | 8 | 9 | def is_valid_rst(path): 10 | """Checks if RST can be rendered on PyPI.""" 11 | with open(path, encoding="utf-8") as readme_file: 12 | markup = readme_file.read() 13 | return readme_renderer.rst.render(markup, stream=sys.stderr) is not None 14 | 15 | 16 | def parse_args(): 17 | parser = argparse.ArgumentParser( 18 | description="Checks README.rst file in path for syntax errors." 19 | ) 20 | parser.add_argument( 21 | "paths", nargs="+", help="paths containing a README.rst to test" 22 | ) 23 | parser.add_argument("-v", "--verbose", action="store_true") 24 | return parser.parse_args() 25 | 26 | 27 | def main(): 28 | args = parse_args() 29 | error = False 30 | 31 | for path in map(Path, args.paths): 32 | readme = path / "README.rst" 33 | try: 34 | if not is_valid_rst(readme): 35 | error = True 36 | print("FAILED: RST syntax errors in", readme) 37 | continue 38 | except FileNotFoundError: 39 | print("FAILED: README.rst not found in", path) 40 | continue 41 | if args.verbose: 42 | print("PASSED:", readme) 43 | 44 | if error: 45 | sys.exit(1) 46 | print("All clear.") 47 | 48 | 49 | if __name__ == "__main__": 50 | main() 51 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-kafka-python/tests/test_instrumentation.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | from unittest import TestCase 15 | 16 | from kafka import KafkaConsumer, KafkaProducer 17 | from wrapt import BoundFunctionWrapper 18 | 19 | from opentelemetry.instrumentation.kafka import KafkaInstrumentor 20 | 21 | 22 | class TestKafka(TestCase): 23 | def test_instrument_api(self) -> None: 24 | instrumentation = KafkaInstrumentor() 25 | 26 | instrumentation.instrument() 27 | self.assertTrue(isinstance(KafkaProducer.send, BoundFunctionWrapper)) 28 | self.assertTrue( 29 | isinstance(KafkaConsumer.__next__, BoundFunctionWrapper) 30 | ) 31 | 32 | instrumentation.uninstrument() 33 | self.assertFalse(isinstance(KafkaProducer.send, BoundFunctionWrapper)) 34 | self.assertFalse( 35 | isinstance(KafkaConsumer.__next__, BoundFunctionWrapper) 36 | ) 37 | -------------------------------------------------------------------------------- /LICENSE.BSD3: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016, Datadog 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of Datadog nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL DATADOG BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /exporter/opentelemetry-exporter-richconsole/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "opentelemetry-exporter-richconsole" 7 | dynamic = ["version"] 8 | description = "Rich Console Exporter for OpenTelemetry" 9 | readme = "README.rst" 10 | license = "Apache-2.0" 11 | requires-python = ">=3.7" 12 | authors = [ 13 | { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, 14 | ] 15 | classifiers = [ 16 | "Development Status :: 4 - Beta", 17 | "Intended Audience :: Developers", 18 | "License :: OSI Approved :: Apache Software License", 19 | "Programming Language :: Python", 20 | "Programming Language :: Python :: 3", 21 | "Programming Language :: Python :: 3.7", 22 | "Programming Language :: Python :: 3.8", 23 | "Programming Language :: Python :: 3.9", 24 | "Programming Language :: Python :: 3.10", 25 | ] 26 | dependencies = [ 27 | "opentelemetry-api ~= 1.12", 28 | "opentelemetry-sdk ~= 1.12", 29 | "opentelemetry-semantic-conventions == 0.34b0", 30 | "rich>=10.0.0", 31 | ] 32 | 33 | [project.optional-dependencies] 34 | test = [] 35 | 36 | [project.urls] 37 | Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/exporter/opentelemetry-exporter-richconsole" 38 | 39 | [tool.hatch.version] 40 | path = "src/opentelemetry/exporter/richconsole/version.py" 41 | 42 | [tool.hatch.build.targets.sdist] 43 | include = [ 44 | "/src", 45 | "/tests", 46 | ] 47 | 48 | [tool.hatch.build.targets.wheel] 49 | packages = ["src/opentelemetry"] 50 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-aws-xray/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "opentelemetry-propagator-aws-xray" 7 | dynamic = ["version"] 8 | description = "AWS X-Ray Propagator for OpenTelemetry" 9 | readme = "README.rst" 10 | license = "Apache-2.0" 11 | requires-python = ">=3.7" 12 | authors = [ 13 | { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, 14 | ] 15 | classifiers = [ 16 | "Development Status :: 5 - Production/Stable", 17 | "Intended Audience :: Developers", 18 | "License :: OSI Approved :: Apache Software License", 19 | "Programming Language :: Python", 20 | "Programming Language :: Python :: 3", 21 | "Programming Language :: Python :: 3.7", 22 | "Programming Language :: Python :: 3.8", 23 | "Programming Language :: Python :: 3.9", 24 | "Programming Language :: Python :: 3.10", 25 | ] 26 | dependencies = [ 27 | "opentelemetry-api ~= 1.12", 28 | ] 29 | 30 | [project.optional-dependencies] 31 | test = [] 32 | 33 | [project.entry-points.opentelemetry_propagator] 34 | xray = "opentelemetry.propagators.aws:AwsXRayPropagator" 35 | 36 | [project.urls] 37 | Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/propagator/opentelemetry-propagator-aws-xray" 38 | 39 | [tool.hatch.version] 40 | path = "src/opentelemetry/propagators/aws/version.py" 41 | 42 | [tool.hatch.build.targets.sdist] 43 | include = [ 44 | "/src", 45 | "/tests", 46 | ] 47 | 48 | [tool.hatch.build.targets.wheel] 49 | packages = ["src/opentelemetry"] 50 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-aws-lambda/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "opentelemetry-instrumentation-aws-lambda" 7 | dynamic = ["version"] 8 | description = "OpenTelemetry AWS Lambda instrumentation" 9 | readme = "README.rst" 10 | license = "Apache-2.0" 11 | requires-python = ">=3.7" 12 | authors = [ 13 | { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, 14 | ] 15 | classifiers = [ 16 | "Development Status :: 4 - Beta", 17 | "Intended Audience :: Developers", 18 | "License :: OSI Approved :: Apache Software License", 19 | "Programming Language :: Python", 20 | "Programming Language :: Python :: 3", 21 | "Programming Language :: Python :: 3.7", 22 | "Programming Language :: Python :: 3.8", 23 | ] 24 | dependencies = [ 25 | "opentelemetry-instrumentation == 0.34b0", 26 | "opentelemetry-propagator-aws-xray == 1.0.1", 27 | "opentelemetry-semantic-conventions == 0.34b0", 28 | ] 29 | 30 | [project.optional-dependencies] 31 | instruments = [] 32 | test = [ 33 | "opentelemetry-test-utils == 0.34b0", 34 | ] 35 | 36 | [project.urls] 37 | Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aws-lambda" 38 | 39 | [tool.hatch.version] 40 | path = "src/opentelemetry/instrumentation/aws_lambda/version.py" 41 | 42 | [tool.hatch.build.targets.sdist] 43 | include = [ 44 | "/src", 45 | "/tests", 46 | ] 47 | 48 | [tool.hatch.build.targets.wheel] 49 | packages = ["src/opentelemetry"] 50 | -------------------------------------------------------------------------------- /sdk-extension/opentelemetry-sdk-extension-aws/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "opentelemetry-sdk-extension-aws" 7 | dynamic = ["version"] 8 | description = "AWS SDK extension for OpenTelemetry" 9 | readme = "README.rst" 10 | license = "Apache-2.0" 11 | requires-python = ">=3.7" 12 | authors = [ 13 | { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, 14 | ] 15 | classifiers = [ 16 | "Development Status :: 5 - Production/Stable", 17 | "Intended Audience :: Developers", 18 | "License :: OSI Approved :: Apache Software License", 19 | "Programming Language :: Python", 20 | "Programming Language :: Python :: 3", 21 | "Programming Language :: Python :: 3.7", 22 | "Programming Language :: Python :: 3.8", 23 | "Programming Language :: Python :: 3.9", 24 | "Programming Language :: Python :: 3.10", 25 | ] 26 | dependencies = [ 27 | "opentelemetry-sdk ~= 1.12", 28 | ] 29 | 30 | [project.optional-dependencies] 31 | test = [] 32 | 33 | [project.entry-points.opentelemetry_id_generator] 34 | xray = "opentelemetry.sdk.extension.aws.trace.aws_xray_id_generator:AwsXRayIdGenerator" 35 | 36 | [project.urls] 37 | Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/sdk-extension/opentelemetry-sdk-extension-aws" 38 | 39 | [tool.hatch.version] 40 | path = "src/opentelemetry/sdk/extension/aws/version.py" 41 | 42 | [tool.hatch.build.targets.sdist] 43 | include = [ 44 | "/src", 45 | "/tests", 46 | ] 47 | 48 | [tool.hatch.build.targets.wheel] 49 | packages = ["src/opentelemetry"] 50 | -------------------------------------------------------------------------------- /propagator/opentelemetry-propagator-ot-trace/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["hatchling"] 3 | build-backend = "hatchling.build" 4 | 5 | [project] 6 | name = "opentelemetry-propagator-ot-trace" 7 | dynamic = ["version"] 8 | description = "OT Trace Propagator for OpenTelemetry" 9 | readme = "README.rst" 10 | license = "Apache-2.0" 11 | requires-python = ">=3.7" 12 | authors = [ 13 | { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, 14 | ] 15 | classifiers = [ 16 | "Development Status :: 4 - Beta", 17 | "Intended Audience :: Developers", 18 | "License :: OSI Approved :: Apache Software License", 19 | "Programming Language :: Python", 20 | "Programming Language :: Python :: 3", 21 | "Programming Language :: Python :: 3.7", 22 | "Programming Language :: Python :: 3.8", 23 | "Programming Language :: Python :: 3.9", 24 | "Programming Language :: Python :: 3.10", 25 | ] 26 | dependencies = [ 27 | "opentelemetry-api ~= 1.12", 28 | "opentelemetry-sdk ~= 1.12", 29 | ] 30 | 31 | [project.optional-dependencies] 32 | test = [] 33 | 34 | [project.entry-points.opentelemetry_propagator] 35 | ottrace = "opentelemetry.propagators.ot_trace:OTTracePropagator" 36 | 37 | [project.urls] 38 | Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/propagator/opentelemetry-propagator-ot-trace" 39 | 40 | [tool.hatch.version] 41 | path = "src/opentelemetry/propagators/ot_trace/version.py" 42 | 43 | [tool.hatch.build.targets.sdist] 44 | include = [ 45 | "/src", 46 | "/tests", 47 | ] 48 | 49 | [tool.hatch.build.targets.wheel] 50 | packages = ["src/opentelemetry"] 51 | -------------------------------------------------------------------------------- /instrumentation/opentelemetry-instrumentation-celery/tests/test_getter.py: -------------------------------------------------------------------------------- 1 | # Copyright The OpenTelemetry Authors 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | from unittest import TestCase, mock 16 | 17 | from opentelemetry.instrumentation.celery import CeleryGetter 18 | 19 | 20 | class TestCeleryGetter(TestCase): 21 | def test_get_none(self): 22 | getter = CeleryGetter() 23 | carrier = {} 24 | val = getter.get(carrier, "test") 25 | self.assertIsNone(val) 26 | 27 | def test_get_str(self): 28 | mock_obj = mock.Mock() 29 | getter = CeleryGetter() 30 | mock_obj.test = "val" 31 | val = getter.get(mock_obj, "test") 32 | self.assertEqual(val, ("val",)) 33 | 34 | def test_get_iter(self): 35 | mock_obj = mock.Mock() 36 | getter = CeleryGetter() 37 | mock_obj.test = ["val"] 38 | val = getter.get(mock_obj, "test") 39 | self.assertEqual(val, ["val"]) 40 | 41 | def test_keys(self): 42 | getter = CeleryGetter() 43 | keys = getter.keys({}) 44 | self.assertEqual(keys, []) 45 | --------------------------------------------------------------------------------