* Refactor code using pyupgrade for Python 3.6
This diff is the result of applying the following command to the
project:
```shell
find . -type f -name "*.py" -exec pyupgrade --py36-plus '{}' +
```
* Simplify yield from
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.
directory
This file lists down all instrumentations and the packages+versions they
support. This is helpful to find out at a glance what is exactly
supported.
Co-authored-by: alrex <aboten@lightstep.com>
* Worklow to publish a package from a CODEOWNER tag
* Prevent main script from release >=1.0 packages
* Fixes to build package workflow and script
* Better naming and remove redundant ls flag
* Add err msg for missing setup.py ls match
* Use lowercase for all non env variable vars
- 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.
All instrumentations packages have almost exactly same setup.py files.
This commit adds a python script that generates it from a source
template. This dramatically reduces the time and effort required to
update all instrumentation setup.py files, and also reduces chances of
making manual mistakes.
In the last release, eachdist missed updating dependencies
on ext-datadog, which has a slightly different, but valid,
way of specifying the version (omitting some spaces).
Making the eachdist regex more lenient to catch other valid
version specifications.
Also modifying the ext-datadog dependency specification to
match the format of all the others.
Co-authored-by: Leighton Chen <lechen@microsoft.com>
This commit adds auto-instrumentation for elasticsearch. The
instrumentation has been mostly ported over from OpenTracing
elasticsearch instrumentation.
Co-authored-by: Yusuke Tsutsumi <yusuke@tsutsumi.io>
Co-authored-by: alrex <aboten@lightstep.com>
adding an initial starlette instrumentation.
tox does exact match on fields delimited by a dash. Thus,
any instrumentation that includes "instrumentation" in the name
would collide with testing of the "opentelemetry-instrumentation"
package.
Renaming opentelemetry-instrumentation to opentelemetry-instrumentation-base to fix that.
Co-authored-by: Leighton Chen <lechen@microsoft.com>
Co-authored-by: alrex <aboten@lightstep.com>
eachdist.py did not support the installation of test packages,
(as defined by the extra_requires:test package group). As a
result, test packages were being added to dev-requirements.txt
By having eachdist.py develop install test packages, and moving
develop/test package definitions to the individual instrumentations,
it is easier to determine which packages require which dependencies
for testing purposes, and enables support for existing dependencies
that follow the extra_requires:test pattern.
This commit ports the OpenTracing testbed[1] to check that the ot-shim is
working as expected using different frameworks.
Gevent doesn't support context vars yet[2], so those tests are not compatible
with opentelemetry and were not ported.
[1] https://github.com/opentracing/opentracing-python/tree/master/testbed
[2] https://github.com/gevent/gevent/issues/1407
Co-authored-by: Mauricio Vásquez <mauricio@kinvolk.io>
Co-authored-by: alrex <aboten@lightstep.com>
Add an exporter to Datadog. This implementation makes use of ddtrace to handle the creation of Datadog traces and writing them to the Datadog agent.
Co-Authored-By: Mauricio Vásquez <mauricio@kinvolk.io>
Adding initial aiohttp client.
This module is only supported on Python3.5, which is the oldest supported by
aiohttp.
Co-authored-by: Yusuke Tsutsumi <yusuke@tsutsumi.io>
The requests integration is named http-requests because at the time it was created there were some problems with pylint.
other integrations are using opentelemetry.ext.integration without problems, tests are passing without issue, even renamed.