* Making span as internal for falcon in presence of a span in current context
* Updating changelog
* Fixing lint and generate build failures
* Resolving comments: Converting snippet to re-usable function
* Fixing build failures
* Resolving comments: Creating wrapper for start span to make internal/server span
* Rerun docker tests
* Resolving comments: Refactoring
* feat: support older pika versions
* update tox.ini
* update changelog
* take version from pika
* avoid exception when property name changes
* add callback attr name test
The `setuptools` package is not part of the stdlib, but often available
in the system environment (it is a buildtime requirement).
`pkg_resources` (a package provided by `setuptools`) is used as
a runtime requirement in `opentelemetry-instrumentation`. Explicitly
listing `setuptools` as a requirement protects instrumentation from
breaking with import errors in cases where `setuptools` is not available
system-wide.
For example:
* A multi-stage Docker build where the final image does not contain
buildtime requirements.
* A build system that packages the runtime dependencies into a single
binary.
This commit pins `setuptools >= 16.0` because that is the first release
that included all 5 imports instrumentation currently relies on.
Co-authored-by: Matt Oberle <mattoberle@users.noreply.github.com>
Now that SDK does not depend on opentelemetry-instrumentation
anymore and opentelemetry-instrumentation has actual build time
dependencies on the contrib repo, it makes maintanence a lot
easier if we move opentelemetry-instrumentation to contrib repo.
opentelemetry-distro depends on opentelemetry-instrumentation
and is being moved as well. Neither of the two packages are
really part of "core" Otel python anyway.
- We now automatically generate bootstrap_gen.py file from the list of instrumentations present in the source tree.
- Bootstrap command now uses consumes this auto-generated list instead of keeping it's own local copy.
- We no longer uninstall packages before installing them as instrumentation package no longer specify libraries as dependencies so the edge cases are no longer there.
- We no longer try to install an incompatible version or force upgrade/downgrade an installed version. This used to leave systems in broken states which should happen no more.
This commit makes the following changes:
- Introduces a new `load_instrumentor(EntryPoint) -> None:` with a
default implementation method to the `BaseDistro` class.
- The default implementation loads the insrumentor from the provided
entry point and calls applies it without any arguments. (same as before)
- sitecustomize now calls Distro's `load_instrumentor` method to load
and activate an instrumentor instead of doing it directly.
- Added a new `DefaultDistro` implementation which is used if not distro
is found by entry points.