mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-08-01 17:34:38 +08:00
Merge pull request #86 from NathanielRN/move-edit-root-files-for-ci
This commit is contained in:
@ -4,3 +4,4 @@ omit =
|
|||||||
*/setup.py
|
*/setup.py
|
||||||
*/gen/*
|
*/gen/*
|
||||||
reference/*
|
reference/*
|
||||||
|
opentelemetry-python-core/*
|
||||||
|
10
.flake8
10
.flake8
@ -2,7 +2,8 @@
|
|||||||
ignore =
|
ignore =
|
||||||
E501 # line too long, defer to black
|
E501 # line too long, defer to black
|
||||||
F401 # unused import, defer to pylint
|
F401 # unused import, defer to pylint
|
||||||
W503 # allow line breaks after binary ops, not after
|
W503 # allow line breaks before binary ops
|
||||||
|
W504 # allow line breaks after binary ops
|
||||||
E203 # allow whitespace before ':' (https://github.com/psf/black#slices)
|
E203 # allow whitespace before ':' (https://github.com/psf/black#slices)
|
||||||
exclude =
|
exclude =
|
||||||
.bzr
|
.bzr
|
||||||
@ -16,3 +17,10 @@ exclude =
|
|||||||
target
|
target
|
||||||
reference/
|
reference/
|
||||||
__pycache__
|
__pycache__
|
||||||
|
exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/gen/
|
||||||
|
exporter/opentelemetry-exporter-jaeger/build/*
|
||||||
|
docs/examples/opentelemetry-example-app/src/opentelemetry_example_app/grpc/gen/
|
||||||
|
docs/examples/opentelemetry-example-app/build/*
|
||||||
|
opentelemetry-python-core/
|
||||||
|
opentelemetry-proto/build/*
|
||||||
|
opentelemetry-proto/src/opentelemetry/proto/
|
||||||
|
86
.github/workflows/test.yml
vendored
Normal file
86
.github/workflows/test.yml
vendored
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
name: Contrib Repo Tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- 'release/*'
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
env:
|
||||||
|
# We use these variables to convert between tox and GHA version literals
|
||||||
|
py35: 3.5
|
||||||
|
py36: 3.6
|
||||||
|
py37: 3.7
|
||||||
|
py38: 3.8
|
||||||
|
pypy3: pypy3
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
|
||||||
|
matrix:
|
||||||
|
python-version: [ py35, py36, py37, py38, pypy3 ]
|
||||||
|
package: ["instrumentation", "exporter"]
|
||||||
|
os: [ ubuntu-latest ]
|
||||||
|
include:
|
||||||
|
# py35-instrumentation segfaults on 18.04 so we instead run on 20.04
|
||||||
|
- python-version: py35
|
||||||
|
package: instrumentation
|
||||||
|
os: ubuntu-20.04
|
||||||
|
exclude:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
python-version: py35
|
||||||
|
package: instrumentation
|
||||||
|
steps:
|
||||||
|
- name: Checkout Contrib Repo at SHA - ${{ github.sha }}
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Checkout Core Repo @ tag v0.15b0
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: open-telemetry/opentelemetry-python
|
||||||
|
ref: v0.15b0
|
||||||
|
path: opentelemetry-python-core
|
||||||
|
- name: Set up Python ${{ env[matrix.python-version] }}
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: ${{ env[matrix.python-version] }}
|
||||||
|
- name: Install tox
|
||||||
|
run: pip install -U tox-factor
|
||||||
|
- name: Cache tox environment
|
||||||
|
# Preserves .tox directory between runs for faster installs
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: .tox
|
||||||
|
key: tox-cache-${{ matrix.python-version }}-${{ matrix.package }}-${{ matrix.os }}-${{ hashFiles('tox.ini', 'dev-requirements.txt') }}
|
||||||
|
- name: run tox
|
||||||
|
run: tox -f ${{ matrix.python-version }}-${{ matrix.package }}
|
||||||
|
misc:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
tox-environment: [ "docker-tests", "lint" ]
|
||||||
|
name: ${{ matrix.tox-environment }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout Contrib Repo at SHA - ${{ github.sha }}
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Checkout Core Repo @ tag v0.15b0
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: open-telemetry/opentelemetry-python
|
||||||
|
ref: v0.15b0
|
||||||
|
path: opentelemetry-python-core
|
||||||
|
- name: Set up Python 3.8
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
- name: Install tox
|
||||||
|
run: pip install -U tox
|
||||||
|
- name: Cache tox environment
|
||||||
|
# Preserves .tox directory between runs for faster installs
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: .tox
|
||||||
|
key: tox-cache-${{ matrix.tox-environment }}-${{ hashFiles('tox.ini', 'dev-requirements.txt') }}
|
||||||
|
- name: run tox
|
||||||
|
run: tox -e ${{ matrix.tox-environment }}
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -21,6 +21,7 @@ lib64
|
|||||||
__pycache__
|
__pycache__
|
||||||
venv*/
|
venv*/
|
||||||
.venv*/
|
.venv*/
|
||||||
|
opentelemetry-python-core*/
|
||||||
|
|
||||||
# Installer logs
|
# Installer logs
|
||||||
pip-log.txt
|
pip-log.txt
|
||||||
|
@ -13,6 +13,6 @@ line_length=79
|
|||||||
; docs: https://github.com/timothycrosley/isort#multi-line-output-modes
|
; docs: https://github.com/timothycrosley/isort#multi-line-output-modes
|
||||||
multi_line_output=3
|
multi_line_output=3
|
||||||
skip=target
|
skip=target
|
||||||
skip_glob=**/gen/*,.venv*/*,venv*/*,reference*/*
|
skip_glob=**/gen/*,.venv*/*,venv*/*,reference*/*,opentelemetry-python-core/*
|
||||||
known_first_party=opentelemetry
|
known_first_party=opentelemetry
|
||||||
known_third_party=psutil,pytest
|
known_third_party=psutil,pytest,redis,redis_opentracing
|
||||||
|
12
.pylintrc
12
.pylintrc
@ -5,11 +5,11 @@
|
|||||||
# run arbitrary code.
|
# run arbitrary code.
|
||||||
extension-pkg-whitelist=
|
extension-pkg-whitelist=
|
||||||
|
|
||||||
# Add files or directories to the denylist. They should be base names, not
|
# Add list of files or directories to be excluded. They should be base names, not
|
||||||
# paths.
|
# paths.
|
||||||
ignore=CVS,gen
|
ignore=CVS,gen,opentelemetry-python-core
|
||||||
|
|
||||||
# Add files or directories matching the regex patterns to the denylist. The
|
# Add files or directories matching the regex patterns to be excluded. The
|
||||||
# regex matches against base names, not paths.
|
# regex matches against base names, not paths.
|
||||||
ignore-patterns=
|
ignore-patterns=
|
||||||
|
|
||||||
@ -65,6 +65,7 @@ disable=missing-docstring,
|
|||||||
too-few-public-methods, # Might be good to re-enable this later.
|
too-few-public-methods, # Might be good to re-enable this later.
|
||||||
too-many-instance-attributes,
|
too-many-instance-attributes,
|
||||||
too-many-arguments,
|
too-many-arguments,
|
||||||
|
duplicate-code,
|
||||||
ungrouped-imports, # Leave this up to isort
|
ungrouped-imports, # Leave this up to isort
|
||||||
wrong-import-order, # Leave this up to isort
|
wrong-import-order, # Leave this up to isort
|
||||||
bad-continuation, # Leave this up to black
|
bad-continuation, # Leave this up to black
|
||||||
@ -226,7 +227,7 @@ dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
|
|||||||
|
|
||||||
# Argument names that match this expression will be ignored. Default to name
|
# Argument names that match this expression will be ignored. Default to name
|
||||||
# with leading underscore.
|
# with leading underscore.
|
||||||
ignored-argument-names=_.*|^ignored_|^unused_
|
ignored-argument-names=_.*|^ignored_|^unused_|^kwargs|^args
|
||||||
|
|
||||||
# Tells whether we should check for unused import in __init__ files.
|
# Tells whether we should check for unused import in __init__ files.
|
||||||
init-import=no
|
init-import=no
|
||||||
@ -440,7 +441,8 @@ exclude-protected=_asdict,
|
|||||||
_fields,
|
_fields,
|
||||||
_replace,
|
_replace,
|
||||||
_source,
|
_source,
|
||||||
_make
|
_make,
|
||||||
|
_Span
|
||||||
|
|
||||||
# List of valid names for the first argument in a class method.
|
# List of valid names for the first argument in a class method.
|
||||||
valid-classmethod-first-arg=cls
|
valid-classmethod-first-arg=cls
|
||||||
|
12
README.md
12
README.md
@ -56,6 +56,18 @@ Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-t
|
|||||||
|
|
||||||
*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).*
|
*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).*
|
||||||
|
|
||||||
|
## Running Tests Locally
|
||||||
|
|
||||||
|
1. Go to your Contrib repo directory. `cd ~/git/opentelemetry-python-contrib`.
|
||||||
|
2. Create a virtual env in your Contrib repo directory. `python3 -m venv my_test_venv`.
|
||||||
|
3. Activate your virtual env. `source my_test_venv/bin/activate`.
|
||||||
|
4. Clone the [OpenTelemetry Python](https://github.com/open-telemetry/opentelemetry-python) Python Core repo to a folder named `opentelemetry-python-core`. `git clone git@github.com:open-telemetry/opentelemetry-python.git opentelemetry-python-core`.
|
||||||
|
5. Change directory to the repo that was just cloned. `cd opentelemetry-python-core`.
|
||||||
|
6. Move the head of this repo to the hash you want your tests to use. This is currently the tag `v0.15b0` as seen in `.github/workflows/test.yml`. Use `git fetch --tags && git checkout v0.15b0`.
|
||||||
|
7. Go back to the root directory. `cd ../`.
|
||||||
|
8. Make sure you have `tox` installed. `pip install tox`.
|
||||||
|
9. Run tests for a package. (e.g. `tox -e test-instrumentation-flask`.)
|
||||||
|
|
||||||
### Thanks to all the people who already contributed!
|
### Thanks to all the people who already contributed!
|
||||||
|
|
||||||
<a href="https://github.com/open-telemetry/opentelemetry-python-contrib/graphs/contributors">
|
<a href="https://github.com/open-telemetry/opentelemetry-python-contrib/graphs/contributors">
|
||||||
|
12
eachdist.ini
12
eachdist.ini
@ -1,11 +1,19 @@
|
|||||||
# These will be sorted first in that order.
|
# These will be sorted first in that order.
|
||||||
# All packages that are depended upon by others should be listed here.
|
# All packages that are depended upon by others should be listed here.
|
||||||
[DEFAULT]
|
[DEFAULT]
|
||||||
sortfirst=
|
|
||||||
|
|
||||||
ignore=
|
ignore=
|
||||||
_template
|
_template
|
||||||
reference
|
reference
|
||||||
|
opentelemetry-python-core
|
||||||
|
|
||||||
|
sortfirst=
|
||||||
|
instrumentation/opentelemetry-instrumentation-wsgi
|
||||||
|
instrumentation/opentelemetry-instrumentation-dbapi
|
||||||
|
instrumentation/opentelemetry-instrumentation-asgi
|
||||||
|
instrumentation/opentelemetry-instrumentation-botocore
|
||||||
|
instrumentation/*
|
||||||
|
exporter/*
|
||||||
|
ext/*
|
||||||
|
|
||||||
[lintroots]
|
[lintroots]
|
||||||
extraroots=examples/*,scripts/
|
extraroots=examples/*,scripts/
|
||||||
|
@ -3,7 +3,8 @@ line-length = 79
|
|||||||
exclude = '''
|
exclude = '''
|
||||||
(
|
(
|
||||||
/(
|
/(
|
||||||
reference # original files from DataDog
|
reference| # original files from DataDog
|
||||||
|
opentelemetry-python-core
|
||||||
)/
|
)/
|
||||||
)
|
)
|
||||||
'''
|
'''
|
||||||
|
310
tox.ini
310
tox.ini
@ -2,53 +2,329 @@
|
|||||||
skipsdist = True
|
skipsdist = True
|
||||||
skip_missing_interpreters = True
|
skip_missing_interpreters = True
|
||||||
envlist =
|
envlist =
|
||||||
; Environments are organized by individual package, allowing
|
; Environments are organized by individual package, allowing
|
||||||
; for specifying supported Python versions per package.
|
; for specifying supported Python versions per package.
|
||||||
|
|
||||||
; py3{5,6,7,8}-test-flask
|
; opentelemetry-instrumentation-aiohttp-client
|
||||||
; pypy3-test-flask
|
py3{5,6,7,8}-test-instrumentation-aiohttp-client
|
||||||
|
pypy3-test-instrumentation-aiohttp-client
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-aiopg
|
||||||
|
py3{5,6,7,8}-test-instrumentation-aiopg
|
||||||
|
; instrumentation-aiopg intentionally excluded from pypy3
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-botocore
|
||||||
|
py3{6,7,8}-test-instrumentation-botocore
|
||||||
|
pypy3-test-instrumentation-botocore
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-django
|
||||||
|
py3{5,6,7,8}-test-instrumentation-django
|
||||||
|
pypy3-test-instrumentation-django
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-dbapi
|
||||||
|
py3{5,6,7,8}-test-instrumentation-dbapi
|
||||||
|
pypy3-test-instrumentation-dbapi
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-boto
|
||||||
|
py3{5,6,7,8}-test-instrumentation-boto
|
||||||
|
pypy3-test-instrumentation-boto
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-elasticsearch
|
||||||
|
py3{5,6,7,8}-test-instrumentation-elasticsearch{2,5,6,7}
|
||||||
|
pypy3-test-instrumentation-elasticsearch{2,5,6,7}
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-falcon
|
||||||
|
py3{4,5,6,7,8}-test-instrumentation-falcon
|
||||||
|
pypy3-test-instrumentation-falcon
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-fastapi
|
||||||
|
; fastapi only supports 3.6 and above.
|
||||||
|
py3{6,7,8}-test-instrumentation-fastapi
|
||||||
|
pypy3-test-instrumentation-fastapi
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-flask
|
||||||
|
py3{5,6,7,8}-test-instrumentation-flask
|
||||||
|
pypy3-test-instrumentation-flask
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-requests
|
||||||
|
py3{5,6,7,8}-test-instrumentation-requests
|
||||||
|
pypy3-test-instrumentation-requests
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-starlette.
|
||||||
|
; starlette only supports 3.6 and above.
|
||||||
|
py3{6,7,8}-test-instrumentation-starlette
|
||||||
|
pypy3-test-instrumentation-starlette
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-jinja2
|
||||||
|
py3{5,6,7,8}-test-instrumentation-jinja2
|
||||||
|
pypy3-test-instrumentation-jinja2
|
||||||
|
|
||||||
|
; opentelemetry-exporter-datadog
|
||||||
|
py3{5,6,7,8}-test-exporter-datadog
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-mysql
|
||||||
|
py3{5,6,7,8}-test-instrumentation-mysql
|
||||||
|
pypy3-test-instrumentation-mysql
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-psycopg2
|
||||||
|
py3{5,6,7,8}-test-instrumentation-psycopg2
|
||||||
|
; ext-psycopg2 intentionally excluded from pypy3
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-pymemcache
|
||||||
|
py3{5,6,7,8}-test-instrumentation-pymemcache
|
||||||
|
pypy3-test-instrumentation-pymemcache
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-pymongo
|
||||||
|
py3{5,6,7,8}-test-instrumentation-pymongo
|
||||||
|
pypy3-test-instrumentation-pymongo
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-pymysql
|
||||||
|
py3{5,6,7,8}-test-instrumentation-pymysql
|
||||||
|
pypy3-test-instrumentation-pymysql
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-pyramid
|
||||||
|
py3{5,6,7,8}-test-instrumentation-pyramid
|
||||||
|
pypy3-test-instrumentation-pyramid
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-asgi
|
||||||
|
py3{5,6,7,8}-test-instrumentation-asgi
|
||||||
|
pypy3-test-instrumentation-asgi
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-asyncpg
|
||||||
|
py3{5,6,7,8}-test-instrumentation-asyncpg
|
||||||
|
; ext-asyncpg intentionally excluded from pypy3
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-sqlite3
|
||||||
|
py3{5,6,7,8}-test-instrumentation-sqlite3
|
||||||
|
pypy3-test-instrumentation-sqlite3
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-wsgi
|
||||||
|
py3{5,6,7,8}-test-instrumentation-wsgi
|
||||||
|
pypy3-test-instrumentation-wsgi
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-grpc
|
||||||
|
py3{5,6,7,8}-test-instrumentation-grpc
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-sqlalchemy
|
||||||
|
py3{5,6,7,8}-test-instrumentation-sqlalchemy
|
||||||
|
pypy3-test-instrumentation-sqlalchemy
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-redis
|
||||||
|
py3{5,6,7,8}-test-instrumentation-redis
|
||||||
|
pypy3-test-instrumentation-redis
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-celery
|
||||||
|
py3{5,6,7,8}-test-instrumentation-celery
|
||||||
|
pypy3-test-instrumentation-celery
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-system-metrics
|
||||||
|
py3{5,6,7,8}-test-instrumentation-system-metrics
|
||||||
|
; instrumentation-system-metrics intentionally excluded from pypy3
|
||||||
|
; known limitation: gc.get_count won't work under pypy
|
||||||
|
|
||||||
|
; opentelemetry-instrumentation-tornado
|
||||||
|
; instrumentation supports >=6 on Py 3.5 and above.
|
||||||
|
py3{5,6,7,8}-test-instrumentation-tornado
|
||||||
|
pypy3-test-instrumentation-tornado
|
||||||
|
|
||||||
; py3{5,6,7,8}-test-django
|
|
||||||
; pypy3-test-django
|
|
||||||
lint
|
lint
|
||||||
|
docker-tests
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
deps =
|
deps =
|
||||||
-c dev-requirements.txt
|
-c dev-requirements.txt
|
||||||
test: pytest
|
test: pytest
|
||||||
; FIXME: add coverage testing
|
coverage: pytest
|
||||||
; FIXME: add mypy testing
|
coverage: pytest-cov
|
||||||
|
elasticsearch2: elasticsearch-dsl>=2.0,<3.0
|
||||||
|
elasticsearch2: elasticsearch>=2.0,<3.0
|
||||||
|
elasticsearch5: elasticsearch-dsl>=5.0,<6.0
|
||||||
|
elasticsearch5: elasticsearch>=5.0,<6.0
|
||||||
|
elasticsearch6: elasticsearch-dsl>=6.0,<7.0
|
||||||
|
elasticsearch6: elasticsearch>=6.0,<7.0
|
||||||
|
elasticsearch7: elasticsearch-dsl>=7.0,<8.0
|
||||||
|
elasticsearch7: elasticsearch>=7.0,<8.0
|
||||||
|
|
||||||
|
; FIXME: add coverage testing
|
||||||
|
; FIXME: add mypy testing
|
||||||
|
|
||||||
changedir =
|
changedir =
|
||||||
;flask: instrumentors/flask/tests
|
test-instrumentation-aiohttp-client: instrumentation/opentelemetry-instrumentation-aiohttp-client/tests
|
||||||
;django: instrumentors/django/tests
|
test-instrumentation-aiopg: instrumentation/opentelemetry-instrumentation-aiopg/tests
|
||||||
|
test-instrumentation-asgi: instrumentation/opentelemetry-instrumentation-asgi/tests
|
||||||
|
test-instrumentation-asyncpg: instrumentation/opentelemetry-instrumentation-asyncpg/tests
|
||||||
|
test-instrumentation-boto: instrumentation/opentelemetry-instrumentation-boto/tests
|
||||||
|
test-instrumentation-botocore: instrumentation/opentelemetry-instrumentation-botocore/tests
|
||||||
|
test-instrumentation-celery: instrumentation/opentelemetry-instrumentation-celery/tests
|
||||||
|
test-instrumentation-dbapi: instrumentation/opentelemetry-instrumentation-dbapi/tests
|
||||||
|
test-instrumentation-django: instrumentation/opentelemetry-instrumentation-django/tests
|
||||||
|
test-instrumentation-elasticsearch{2,5,6,7}: instrumentation/opentelemetry-instrumentation-elasticsearch/tests
|
||||||
|
test-instrumentation-falcon: instrumentation/opentelemetry-instrumentation-falcon/tests
|
||||||
|
test-instrumentation-fastapi: instrumentation/opentelemetry-instrumentation-fastapi/tests
|
||||||
|
test-instrumentation-flask: instrumentation/opentelemetry-instrumentation-flask/tests
|
||||||
|
test-instrumentation-grpc: instrumentation/opentelemetry-instrumentation-grpc/tests
|
||||||
|
test-instrumentation-jinja2: instrumentation/opentelemetry-instrumentation-jinja2/tests
|
||||||
|
test-instrumentation-mysql: instrumentation/opentelemetry-instrumentation-mysql/tests
|
||||||
|
test-instrumentation-psycopg2: instrumentation/opentelemetry-instrumentation-psycopg2/tests
|
||||||
|
test-instrumentation-pymemcache: instrumentation/opentelemetry-instrumentation-pymemcache/tests
|
||||||
|
test-instrumentation-pymongo: instrumentation/opentelemetry-instrumentation-pymongo/tests
|
||||||
|
test-instrumentation-pymysql: instrumentation/opentelemetry-instrumentation-pymysql/tests
|
||||||
|
test-instrumentation-pyramid: instrumentation/opentelemetry-instrumentation-pyramid/tests
|
||||||
|
test-instrumentation-redis: instrumentation/opentelemetry-instrumentation-redis/tests
|
||||||
|
test-instrumentation-requests: instrumentation/opentelemetry-instrumentation-requests/tests
|
||||||
|
test-instrumentation-sqlalchemy: instrumentation/opentelemetry-instrumentation-sqlalchemy/tests
|
||||||
|
test-instrumentation-sqlite3: instrumentation/opentelemetry-instrumentation-sqlite3/tests
|
||||||
|
test-instrumentation-starlette: instrumentation/opentelemetry-instrumentation-starlette/tests
|
||||||
|
test-instrumentation-system-metrics: instrumentation/opentelemetry-instrumentation-system-metrics/tests
|
||||||
|
test-instrumentation-tornado: instrumentation/opentelemetry-instrumentation-tornado/tests
|
||||||
|
test-instrumentation-wsgi: instrumentation/opentelemetry-instrumentation-wsgi/tests
|
||||||
|
|
||||||
|
test-exporter-datadog: exporter/opentelemetry-exporter-datadog/tests
|
||||||
|
|
||||||
commands_pre =
|
commands_pre =
|
||||||
; Install without -e to test the actual installation
|
; Install without -e to test the actual installation
|
||||||
python -m pip install -U pip setuptools wheel
|
py3{5,6,7,8}: python -m pip install -U pip setuptools wheel
|
||||||
|
; Install common packages for all the tests. These are not needed in all the
|
||||||
|
; cases but it saves a lot of boilerplate in this file.
|
||||||
|
test: pip install {toxinidir}/opentelemetry-python-core/opentelemetry-api {toxinidir}/opentelemetry-python-core/opentelemetry-sdk {toxinidir}/opentelemetry-python-core/tests/util
|
||||||
|
|
||||||
;flask: pip install {toxinidir}/instrumentors/flask
|
test: pip install {toxinidir}/opentelemetry-python-core/opentelemetry-instrumentation
|
||||||
;flask: pip install {toxinidir}/instrumentors/flask[test]
|
|
||||||
|
|
||||||
;django: pip install {toxinidir}/instrumentors/django
|
celery: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-celery[test]
|
||||||
;django: pip install {toxinidir}/instrumentors/django[test]
|
|
||||||
|
grpc: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-grpc[test]
|
||||||
|
|
||||||
|
wsgi,falcon,flask,django,pyramid: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-wsgi
|
||||||
|
asgi,starlette,fastapi: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi
|
||||||
|
|
||||||
|
asyncpg: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg
|
||||||
|
|
||||||
|
boto: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore[test]
|
||||||
|
boto: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-boto[test]
|
||||||
|
|
||||||
|
falcon: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-falcon[test]
|
||||||
|
|
||||||
|
flask: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-flask[test]
|
||||||
|
|
||||||
|
botocore: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-botocore[test]
|
||||||
|
|
||||||
|
dbapi: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi[test]
|
||||||
|
|
||||||
|
django: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-django[test]
|
||||||
|
|
||||||
|
fastapi: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-fastapi[test]
|
||||||
|
|
||||||
|
mysql: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql[test]
|
||||||
|
|
||||||
|
pymemcache: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-pymemcache[test]
|
||||||
|
|
||||||
|
pymongo: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo[test]
|
||||||
|
|
||||||
|
psycopg2: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2[test]
|
||||||
|
|
||||||
|
pymysql: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql[test]
|
||||||
|
|
||||||
|
pyramid: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-pyramid[test]
|
||||||
|
|
||||||
|
sqlite3: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlite3[test]
|
||||||
|
|
||||||
|
redis: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-redis[test]
|
||||||
|
|
||||||
|
requests: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-requests[test]
|
||||||
|
|
||||||
|
starlette: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-starlette[test]
|
||||||
|
|
||||||
|
tornado: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-tornado
|
||||||
|
|
||||||
|
jinja2: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-jinja2[test]
|
||||||
|
|
||||||
|
aiohttp-client: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-aiohttp-client
|
||||||
|
|
||||||
|
aiopg: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg[test]
|
||||||
|
|
||||||
|
datadog: pip install {toxinidir}/exporter/opentelemetry-exporter-datadog
|
||||||
|
|
||||||
|
sqlalchemy: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy
|
||||||
|
|
||||||
|
system-metrics: pip install {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics[test]
|
||||||
|
|
||||||
|
elasticsearch{2,5,6,7}: pip install {toxinidir}/opentelemetry-python-core/opentelemetry-instrumentation {toxinidir}/instrumentation/opentelemetry-instrumentation-elasticsearch[test]
|
||||||
|
|
||||||
|
; In order to get a healthy coverage report,
|
||||||
|
; we have to install packages in editable mode.
|
||||||
|
coverage: python {toxinidir}/scripts/eachdist.py install --editable
|
||||||
|
|
||||||
commands =
|
commands =
|
||||||
test: pytest {posargs}
|
test: pytest {posargs}
|
||||||
|
coverage: {toxinidir}/scripts/coverage.sh
|
||||||
|
|
||||||
[testenv:lint]
|
[testenv:lint]
|
||||||
basepython: python3.8
|
basepython: python3.8
|
||||||
#recreate = True
|
recreate = True
|
||||||
deps =
|
deps =
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/opentelemetry-proto
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/opentelemetry-api
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/opentelemetry-sdk
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/opentelemetry-instrumentation
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/opentelemetry-proto
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/tests/util
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/exporter/opentelemetry-exporter-jaeger
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/exporter/opentelemetry-exporter-zipkin
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/exporter/opentelemetry-exporter-prometheus
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/exporter/opentelemetry-exporter-otlp
|
||||||
-c dev-requirements.txt
|
-c dev-requirements.txt
|
||||||
pylint
|
pylint
|
||||||
flake8
|
flake8
|
||||||
isort
|
isort
|
||||||
black
|
black
|
||||||
|
psutil
|
||||||
readme_renderer
|
readme_renderer
|
||||||
|
httpretty
|
||||||
|
|
||||||
commands_pre =
|
commands_pre =
|
||||||
python scripts/eachdist.py install --editable
|
python scripts/eachdist.py install --editable --with-test-deps
|
||||||
|
|
||||||
commands =
|
commands =
|
||||||
python scripts/eachdist.py lint --check-only
|
python scripts/eachdist.py lint --check-only
|
||||||
|
|
||||||
|
[testenv:docker-tests]
|
||||||
|
deps =
|
||||||
|
pytest
|
||||||
|
asyncpg==0.20.1
|
||||||
|
docker-compose >= 1.25.2
|
||||||
|
mysql-connector-python ~= 8.0
|
||||||
|
pymongo ~= 3.1
|
||||||
|
pymysql ~= 0.9.3
|
||||||
|
psycopg2-binary ~= 2.8.4
|
||||||
|
aiopg >= 0.13.0
|
||||||
|
sqlalchemy ~= 1.3.16
|
||||||
|
redis ~= 3.3.11
|
||||||
|
celery ~= 4.0, != 4.4.4
|
||||||
|
|
||||||
|
changedir =
|
||||||
|
tests/opentelemetry-docker-tests/tests
|
||||||
|
|
||||||
|
commands_pre =
|
||||||
|
pip install -e {toxinidir}/opentelemetry-python-core/opentelemetry-api \
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/opentelemetry-sdk \
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/opentelemetry-instrumentation \
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/tests/util \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncpg \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-celery \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-dbapi \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-mysql \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-psycopg2 \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymongo \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-pymysql \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-sqlalchemy \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-aiopg \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-redis \
|
||||||
|
-e {toxinidir}/instrumentation/opentelemetry-instrumentation-system-metrics \
|
||||||
|
-e {toxinidir}/opentelemetry-python-core/exporter/opentelemetry-exporter-opencensus
|
||||||
|
docker-compose up -d
|
||||||
|
python check_availability.py
|
||||||
|
commands =
|
||||||
|
pytest {posargs}
|
||||||
|
|
||||||
|
commands_post =
|
||||||
|
docker-compose down -v
|
||||||
|
Reference in New Issue
Block a user