Remove support for 3.6 (#853)

This commit is contained in:
Diego Hurtado
2022-08-25 20:02:04 +02:00
committed by GitHub
parent 85e532816c
commit 03d97ffaf9
58 changed files with 116 additions and 169 deletions

View File

@ -6,31 +6,30 @@ on:
- 'release/*'
pull_request:
env:
CORE_REPO_SHA: ece57231cde5bb5656775a62f027cab0b1c76fce
CORE_REPO_SHA: b3b0ba3a47dbdd844b524c46db22a60549364071
jobs:
build:
env:
# We use these variables to convert between tox and GHA version literals
py36: 3.6
py37: 3.7
py38: 3.8
py39: 3.9
py310: "3.10"
pypy3: pypy3
pypy3: "pypy3.7"
RUN_MATRIX_COMBINATION: ${{ matrix.python-version }}-${{ matrix.package }}-${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
matrix:
python-version: [ py36, py37, py38, py39, py310, pypy3 ]
python-version: [ py37, py38, py39, py310, pypy3 ]
package: ["instrumentation", "distro", "exporter", "sdkextension", "propagator"]
os: [ ubuntu-20.04 ]
steps:
- name: Checkout Contrib Repo @ SHA - ${{ github.sha }}
uses: actions/checkout@v2
- name: Set up Python ${{ env[matrix.python-version] }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ env[matrix.python-version] }}
- name: Install tox

View File

@ -34,14 +34,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -16,13 +16,13 @@ import collections
import logging
import threading
import typing
from time import time_ns
from opentelemetry.context import Context, attach, detach, set_value
from opentelemetry.instrumentation.utils import _SUPPRESS_INSTRUMENTATION_KEY
from opentelemetry.sdk.trace import Span, SpanProcessor
from opentelemetry.sdk.trace.export import SpanExporter
from opentelemetry.trace import INVALID_TRACE_ID
from opentelemetry.util._time import _time_ns
logger = logging.getLogger(__name__)
@ -128,9 +128,9 @@ class DatadogExportSpanProcessor(SpanProcessor):
break
# substract the duration of this export call to the next timeout
start = _time_ns()
start = time_ns()
self.export()
end = _time_ns()
end = time_ns()
duration = (end - start) / 1e9
timeout = self.schedule_delay_millis / 1e3 - duration

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6.3
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,12 +28,11 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -33,14 +33,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -143,6 +143,7 @@ API
from logging import getLogger
from sys import exc_info
from time import time_ns
from typing import Collection
import falcon
@ -164,7 +165,6 @@ from opentelemetry.instrumentation.utils import (
)
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.trace.status import Status
from opentelemetry.util._time import _time_ns
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
_logger = getLogger(__name__)
@ -253,7 +253,7 @@ class _InstrumentedFalconAPI(getattr(falcon, _instrument_app)):
if self._otel_excluded_urls.url_disabled(env.get("PATH_INFO", "/")):
return super().__call__(env, start_response)
start_time = _time_ns()
start_time = time_ns()
span, token = _start_internal_or_server_span(
tracer=self._otel_tracer,

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -141,6 +141,7 @@ API
"""
from logging import getLogger
from time import time_ns
from timeit import default_timer
from typing import Collection
@ -157,7 +158,6 @@ from opentelemetry.instrumentation.propagators import (
from opentelemetry.instrumentation.utils import _start_internal_or_server_span
from opentelemetry.metrics import get_meter
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.util._time import _time_ns
from opentelemetry.util.http import get_excluded_urls, parse_excluded_urls
_logger = getLogger(__name__)
@ -191,7 +191,7 @@ def _rewrapped_app(
# In theory, we could start the span here and use
# update_name later but that API is "highly discouraged" so
# we better avoid it.
wrapped_app_environ[_ENVIRON_STARTTIME_KEY] = _time_ns()
wrapped_app_environ[_ENVIRON_STARTTIME_KEY] = time_ns()
start = default_timer()
attributes = otel_wsgi.collect_request_attributes(wrapped_app_environ)
active_requests_count_attrs = (

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,7 +28,6 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,7 +28,6 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -13,6 +13,7 @@
# limitations under the License.
from logging import getLogger
from time import time_ns
from pyramid.events import BeforeTraversal
from pyramid.httpexceptions import HTTPException, HTTPServerError
@ -27,7 +28,6 @@ from opentelemetry.instrumentation.propagators import (
from opentelemetry.instrumentation.pyramid.version import __version__
from opentelemetry.instrumentation.utils import _start_internal_or_server_span
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.util._time import _time_ns
from opentelemetry.util.http import get_excluded_urls
TWEEN_NAME = "opentelemetry.instrumentation.pyramid.trace_tween_factory"
@ -144,7 +144,7 @@ def trace_tween_factory(handler, registry):
return handler(request)
request.environ[_ENVIRON_ENABLED_KEY] = True
request.environ[_ENVIRON_STARTTIME_KEY] = _time_ns()
request.environ[_ENVIRON_STARTTIME_KEY] = time_ns()
response = None
status = None

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -27,14 +27,13 @@ classifiers =
Intended Audience :: Developers
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -156,6 +156,7 @@ API
from collections import namedtuple
from functools import partial
from logging import getLogger
from time import time_ns
from typing import Collection
import tornado.web
@ -179,7 +180,6 @@ from opentelemetry.instrumentation.utils import (
from opentelemetry.propagators import textmap
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.trace.status import Status, StatusCode
from opentelemetry.util._time import _time_ns
from opentelemetry.util.http import (
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST,
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE,
@ -290,7 +290,7 @@ def _wrap(cls, method_name, wrapper):
def _prepare(tracer, request_hook, func, handler, args, kwargs):
start_time = _time_ns()
start_time = time_ns()
request = handler.request
if _excluded_urls.url_disabled(request.uri):
return func(*args, **kwargs)
@ -423,7 +423,7 @@ def _finish_span(tracer, handler, error=None):
if isinstance(error, tornado.web.HTTPError):
status_code = error.status_code
if not ctx and status_code == 404:
ctx = _start_span(tracer, handler, _time_ns())
ctx = _start_span(tracer, handler, time_ns())
else:
status_code = 500
reason = None

View File

@ -13,6 +13,7 @@
# limitations under the License.
import functools
from time import time_ns
from tornado.httpclient import HTTPError, HTTPRequest
@ -21,7 +22,6 @@ from opentelemetry.instrumentation.utils import http_status_to_status_code
from opentelemetry.propagate import inject
from opentelemetry.semconv.trace import SpanAttributes
from opentelemetry.trace.status import Status
from opentelemetry.util._time import _time_ns
from opentelemetry.util.http import remove_url_credentials
@ -42,7 +42,7 @@ def _normalize_request(args, kwargs):
def fetch_async(tracer, request_hook, response_hook, func, _, args, kwargs):
start_time = _time_ns()
start_time = time_ns()
# Return immediately if no args were provided (error)
# or original_request is set (meaning we are in a redirect step).

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -14,14 +14,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir =
=src
packages = find_namespace:

View File

@ -28,13 +28,12 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Typing :: Typed
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

View File

@ -28,14 +28,13 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:

100
tox.ini
View File

@ -6,30 +6,30 @@ envlist =
; for specifying supported Python versions per package.
; opentelemetry-sdk-extension-aws
py3{6,7,8,9,10}-test-sdkextension-aws
py3{7,8,9,10}-test-sdkextension-aws
pypy3-test-sdkextension-aws
; opentelemetry-distro
py3{6,7,8,9,10}-test-distro
py3{7,8,9,10}-test-distro
pypy3-test-distro
; opentelemetry-instrumentation
py3{6,7,8,9,10}-test-opentelemetry-instrumentation
py3{7,8,9,10}-test-opentelemetry-instrumentation
pypy3-test-opentelemetry-instrumentation
; opentelemetry-instrumentation-aiohttp-client
py3{6,7,8,9,10}-test-instrumentation-aiohttp-client
py3{7,8,9,10}-test-instrumentation-aiohttp-client
pypy3-test-instrumentation-aiohttp-client
; opentelemetry-instrumentation-aiopg
py3{6,7,8,9,10}-test-instrumentation-aiopg
py3{7,8,9,10}-test-instrumentation-aiopg
; instrumentation-aiopg intentionally excluded from pypy3
; opentelemetry-instrumentation-aws-lambda
py3{6,7,8,9}-test-instrumentation-aws-lambda
py3{7,8,9}-test-instrumentation-aws-lambda
; opentelemetry-instrumentation-botocore
py3{6,7,8,9,10}-test-instrumentation-botocore
py3{7,8,9,10}-test-instrumentation-botocore
pypy3-test-instrumentation-botocore
; opentelemetry-instrumentation-boto3sqs
@ -40,121 +40,119 @@ envlist =
; Only officially supported Python versions are tested for each Django
; major release. Updated list can be found at:
; https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django
py3{6,7}-test-instrumentation-django1
py3{6,7,8,9}-test-instrumentation-django2
py3{6,7,8,9,10}-test-instrumentation-django3
py3{7}-test-instrumentation-django1
py3{7,8,9}-test-instrumentation-django2
py3{7,8,9,10}-test-instrumentation-django3
py3{8,9,10}-test-instrumentation-django4
pypy3-test-instrumentation-django{1,2,3}
; opentelemetry-instrumentation-dbapi
py3{6,7,8,9,10}-test-instrumentation-dbapi
py3{7,8,9,10}-test-instrumentation-dbapi
pypy3-test-instrumentation-dbapi
; opentelemetry-instrumentation-boto
py3{6,7,8,9,10}-test-instrumentation-boto
py3{7,8,9,10}-test-instrumentation-boto
pypy3-test-instrumentation-boto
; opentelemetry-instrumentation-elasticsearch
py3{6,7,8,9,10}-test-instrumentation-elasticsearch{2,6}
py3{7,8,9,10}-test-instrumentation-elasticsearch{2,6}
pypy3-test-instrumentation-elasticsearch{2,6}
; opentelemetry-instrumentation-elasticsearch5
py3{6,7,8,9}-test-instrumentation-elasticsearch5
py3{7,8,9}-test-instrumentation-elasticsearch5
pypy3-test-instrumentation-elasticsearch5
; opentelemetry-instrumentation-falcon
; py310 does not work with falcon 1
py3{6,7,8,9}-test-instrumentation-falcon1
py3{6,7,8,9,10}-test-instrumentation-falcon{2,3}
py3{7,8,9}-test-instrumentation-falcon1
py3{7,8,9,10}-test-instrumentation-falcon{2,3}
pypy3-test-instrumentation-falcon{1,2,3}
; opentelemetry-instrumentation-fastapi
; fastapi only supports 3.6 and above.
py3{6,7,8,9,10}-test-instrumentation-fastapi
py3{7,8,9,10}-test-instrumentation-fastapi
pypy3-test-instrumentation-fastapi
; opentelemetry-instrumentation-flask
py3{6,7,8,9,10}-test-instrumentation-flask
py3{7,8,9,10}-test-instrumentation-flask
pypy3-test-instrumentation-flask
; opentelemetry-instrumentation-urllib
py3{6,7,8,9,10}-test-instrumentation-urllib
py3{7,8,9,10}-test-instrumentation-urllib
pypy3-test-instrumentation-urllib
; opentelemetry-instrumentation-urllib3
py3{6,7,8,9,10}-test-instrumentation-urllib3
py3{7,8,9,10}-test-instrumentation-urllib3
pypy3-test-instrumentation-urllib3
; opentelemetry-instrumentation-requests
py3{6,7,8,9,10}-test-instrumentation-requests
py3{7,8,9,10}-test-instrumentation-requests
pypy3-test-instrumentation-requests
; opentelemetry-instrumentation-starlette.
; starlette only supports 3.6 and above.
py3{6,7,8,9,10}-test-instrumentation-starlette
py3{7,8,9,10}-test-instrumentation-starlette
pypy3-test-instrumentation-starlette
; opentelemetry-instrumentation-jinja2
py3{6,7,8,9,10}-test-instrumentation-jinja2
py3{7,8,9,10}-test-instrumentation-jinja2
pypy3-test-instrumentation-jinja2
; opentelemetry-instrumentation-logging
py3{6,7,8,9,10}-test-instrumentation-logging
py3{7,8,9,10}-test-instrumentation-logging
pypy3-test-instrumentation-logging
; opentelemetry-exporter-richconsole
py3{6,7,8,9,10}-test-exporter-richconsole
py3{7,8,9,10}-test-exporter-richconsole
; opentelemetry-instrumentation-mysql
py3{6,7,8,9,10}-test-instrumentation-mysql
py3{7,8,9,10}-test-instrumentation-mysql
pypy3-test-instrumentation-mysql
; opentelemetry-instrumentation-psycopg2
py3{6,7,8,9,10}-test-instrumentation-psycopg2
py3{7,8,9,10}-test-instrumentation-psycopg2
; ext-psycopg2 intentionally excluded from pypy3
; opentelemetry-instrumentation-pymemcache
py3{6,7,8,9,10}-test-instrumentation-pymemcache{135,200,300,342}
py3{7,8,9,10}-test-instrumentation-pymemcache{135,200,300,342}
pypy3-test-instrumentation-pymemcache{135,200,300,342}
; opentelemetry-instrumentation-pymongo
py3{6,7,8,9,10}-test-instrumentation-pymongo
py3{7,8,9,10}-test-instrumentation-pymongo
pypy3-test-instrumentation-pymongo
; opentelemetry-instrumentation-pymysql
py3{6,7,8,9,10}-test-instrumentation-pymysql
py3{7,8,9,10}-test-instrumentation-pymysql
pypy3-test-instrumentation-pymysql
; opentelemetry-instrumentation-pyramid
py3{6,7,8,9,10}-test-instrumentation-pyramid
py3{7,8,9,10}-test-instrumentation-pyramid
pypy3-test-instrumentation-pyramid
; opentelemetry-instrumentation-asgi
py3{6,7,8,9,10}-test-instrumentation-asgi
py3{7,8,9,10}-test-instrumentation-asgi
pypy3-test-instrumentation-asgi
; opentelemetry-instrumentation-asyncpg
py3{6,7,8,9,10}-test-instrumentation-asyncpg
py3{7,8,9,10}-test-instrumentation-asyncpg
; ext-asyncpg intentionally excluded from pypy3
; opentelemetry-instrumentation-sqlite3
py3{6,7,8,9,10}-test-instrumentation-sqlite3
py3{7,8,9,10}-test-instrumentation-sqlite3
pypy3-test-instrumentation-sqlite3
; opentelemetry-instrumentation-wsgi
py3{6,7,8,9,10}-test-instrumentation-wsgi
py3{7,8,9,10}-test-instrumentation-wsgi
pypy3-test-instrumentation-wsgi
; opentelemetry-instrumentation-grpc
py3{6,7,8,9,10}-test-instrumentation-grpc
py3{7,8,9,10}-test-instrumentation-grpc
; opentelemetry-instrumentation-sqlalchemy
py3{6,7}-test-instrumentation-sqlalchemy{11}
py3{6,7,8,9,10}-test-instrumentation-sqlalchemy{14}
py3{7}-test-instrumentation-sqlalchemy{11}
py3{7,8,9,10}-test-instrumentation-sqlalchemy{14}
pypy3-test-instrumentation-sqlalchemy{11,14}
; opentelemetry-instrumentation-redis
py3{6,7,8,9,10}-test-instrumentation-redis
py3{7,8,9,10}-test-instrumentation-redis
pypy3-test-instrumentation-redis
; opentelemetry-instrumentation-remoulade
@ -163,42 +161,42 @@ envlist =
; instrumentation-remoulade intentionally excluded from pypy3
; opentelemetry-instrumentation-celery
py3{6,7,8,9,10}-test-instrumentation-celery
py3{7,8,9,10}-test-instrumentation-celery
pypy3-test-instrumentation-celery
; opentelemetry-instrumentation-sklearn
py3{6,7,8}-test-instrumentation-sklearn
py3{7,8}-test-instrumentation-sklearn
; opentelemetry-instrumentation-system-metrics
py3{6,7,8,9,10}-test-instrumentation-system-metrics
; instrumentation-system-metrics intentionally excluded from pypy3
; opentelemetry-instrumentation-tornado
py3{6,7,8,9,10}-test-instrumentation-tornado
py3{7,8,9,10}-test-instrumentation-tornado
pypy3-test-instrumentation-tornado
; opentelemetry-instrumentation-httpx
py3{6,7,8,9,10}-test-instrumentation-httpx{18,21}
py3{7,8,9,10}-test-instrumentation-httpx{18,21}
pypy3-test-instrumentation-httpx{18,21}
; opentelemetry-util-http
py3{6,7,8,9,10}-test-util-http
py3{7,8,9,10}-test-util-http
pypy3-test-util-http
; opentelemetry-propagator-aws-xray
py3{6,7,8,9,10}-test-propagator-aws-xray
py3{7,8,9,10}-test-propagator-aws-xray
pypy3-test-propagator-aws-xray
; opentelemetry-propagator-ot-trace
py3{6,7,8,9,10}-test-propagator-ot-trace
py3{7,8,9,10}-test-propagator-ot-trace
pypy3-test-propagator-ot-trace
; opentelemetry-instrumentation-pika
py3{6,7,8,9,10}-test-instrumentation-pika{0,1}
py3{7,8,9,10}-test-instrumentation-pika{0,1}
pypy3-test-instrumentation-pika{0,1}
; opentelemetry-instrumentation-kafka-python
py3{6,7,8,9,10}-test-instrumentation-kafka-python
py3{7,8,9,10}-test-instrumentation-kafka-python
pypy3-test-instrumentation-kafka-python
lint
@ -303,7 +301,7 @@ changedir =
commands_pre =
; Install without -e to test the actual installation
py3{6,7,8,9,10}: python -m pip install -U pip setuptools wheel
py3{7,8,9,10}: 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 "opentelemetry-api[test] @ {env:CORE_REPO}#egg=opentelemetry-api&subdirectory=opentelemetry-api"

View File

@ -28,17 +28,16 @@ classifiers =
License :: OSI Approved :: Apache Software License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
[options]
python_requires = >=3.6
python_requires = >=3.7
package_dir=
=src
packages=find_namespace:
[options.packages.find]
where = src
where = src