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.
Move tox and other configuration files to root folder. Add eachdist to make it
easier to handle operations with different packages.
The eachdist is taken from opentelemetry but slighty modified to avoid ignoring
a given path.
Add a test to ensure readmes render properly
Also adds README.rst for testutil package to pass new test.
Co-authored-by: Christian Neumüller <christian+github@neumueller.me>
- Creates a tree structure for documentation, it allows to organize it better
from a developer point of view and also the rendered documentation should be
easier to navigate.
- Moves partially the main readme to be included in the online docs, the main
readme will be updated to have a link to avoid duplicated content)
- Moves the examples folder to the docs, so they can be accessed through the
online documentation. Creates a new pair of "macros" to create links to
specific versions, scm_web & scm_raw_web.
Co-authored-by: Chris Kleinknecht <libc@google.com>