OpenTelemetry instrumentation for Python modules
Go to file
Michael Stella ade29f692b
gRPC instrumentation: client additions (#269)
The docs on metric labels suggests that they should probably be strings,
and all others I can find are strings, and so these ought to be also.
Otherwise, some of the exporters/processors have to handle things
specifically, and not all of these come out as nice as could be when you
`str()` them.

I've also made sure to use the `StatusCode` name, as that's the
interesting thing.

Finally, there's no need to report specifically that `error=false`, so
I've removed that tag.
2021-02-05 09:09:57 -08:00
.github Fix failing aiopg tests (#317) 2021-02-04 17:39:24 -08:00
_template [post-release] updating version to 0.18.dev0 (#289) 2021-01-21 09:10:30 -08:00
docs Remove Configuration from instrumentations (#285) 2021-02-04 08:02:37 -08:00
exporter update requirements for snappy (#314) 2021-02-04 15:10:10 -08:00
instrumentation gRPC instrumentation: client additions (#269) 2021-02-05 09:09:57 -08:00
reference update references to main (#306) 2021-01-29 12:09:22 -08:00
scripts Upgrade isort and enable black compat mode (#248) 2021-01-05 07:23:53 -08:00
sdk-extension/opentelemetry-sdk-extension-aws update references to main (#306) 2021-01-29 12:09:22 -08:00
tests/opentelemetry-docker-tests/tests Fix failing aiopg tests (#317) 2021-02-04 17:39:24 -08:00
util/opentelemetry-util-http Remove Configuration from instrumentations (#285) 2021-02-04 08:02:37 -08:00
.coveragerc Fix lint by making pkg tests folders namespace pkgs (#131) 2020-11-06 13:11:51 -08:00
.flake8 Setup Prometheus Remote Write Exporter (#180) 2020-11-27 09:58:55 -08:00
.gitignore Upgrade isort and enable black compat mode (#248) 2021-01-05 07:23:53 -08:00
.isort.cfg Upgrade isort and enable black compat mode (#248) 2021-01-05 07:23:53 -08:00
.pylintrc Remove Configuration from instrumentations (#285) 2021-02-04 08:02:37 -08:00
.readthedocs.yml update python version for readthedocs (#297) 2021-01-26 09:51:37 -08:00
CHANGELOG.md gRPC instrumentation: client additions (#269) 2021-02-05 09:09:57 -08:00
CODEOWNERS update references to main (#306) 2021-01-29 12:09:22 -08:00
CONTRIBUTING.md update references to main (#306) 2021-01-29 12:09:22 -08:00
LICENSE initial commit 2019-11-15 08:52:03 -08:00
LICENSE.Apache Small cleanup (#27) 2020-04-08 13:17:31 -07:00
LICENSE.BSD3 Small cleanup (#27) 2020-04-08 13:17:31 -07:00
README.md update references to main (#306) 2021-01-29 12:09:22 -08:00
dev-requirements.txt Upgrade isort and enable black compat mode (#248) 2021-01-05 07:23:53 -08:00
docs-requirements.txt Add readTheDocs (#252) 2021-01-26 09:06:39 -08:00
eachdist.ini Remove Configuration from instrumentations (#285) 2021-02-04 08:02:37 -08:00
pyproject.toml Setup Prometheus Remote Write Exporter (#180) 2020-11-27 09:58:55 -08:00
pytest.ini Add eachdist and move tox to root folder (#29) 2020-04-09 10:06:59 -07:00
tox.ini update requirements for snappy (#314) 2021-02-04 15:10:10 -08:00

README.md

<p align="center"> <strong> <a href="https://opentelemetry-python-contrib.readthedocs.io/en/latest/getting-started.html">Getting Started<a/>   •   <a href="https://opentelemetry-python-contrib.readthedocs.io/">API Documentation<a/>   •   <a href="https://gitter.im/open-telemetry/opentelemetry-python">Getting In Touch (Gitter)<a/> </strong> </p> <p align="center"> <a href="https://github.com/open-telemetry/opentelemetry-python-contrib/releases"> <img alt="GitHub release (latest by date including pre-releases)" src="https://img.shields.io/github/v/release/open-telemetry/opentelemetry-python-contrib?include_prereleases&style=for-the-badge"> </a> <a href="https://codecov.io/gh/open-telemetry/opentelemetry-python-contrib/branch/main/"> <img alt="Codecov Status" src="https://img.shields.io/codecov/c/github/open-telemetry/opentelemetry-python-contrib?style=for-the-badge"> </a> <a href="https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/LICENSE"> <img alt="license" src="https://img.shields.io/badge/license-Apache_2.0-green.svg?style=for-the-badge"> </a> <br/> <a href="https://github.com/open-telemetry/opentelemetry-python-contrib/actions?query=workflow%3ATest+branch%3Amaster"> <img alt="Build Status" src="https://github.com/open-telemetry/opentelemetry-python-contrib/workflows/Test/badge.svg"> </a> <img alt="Beta" src="https://img.shields.io/badge/status-beta-informational?logo=data:image/png;base64,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"> </p> <p align="center"> <strong> <a href="CONTRIBUTING.md">Contributing<a/>   •   <a href="https://opentelemetry-python-contrib.readthedocs.io/en/stable/#examples">Examples<a/> </strong> </p>

Getting Started   •   API Documentation   •   Getting In Touch (Gitter)

GitHub release (latest by date including pre-releases) Codecov Status license
Build Status Beta

Contributing   •   Examples

OpenTelemetry Python Contrib

The Python auto-instrumentation libraries for OpenTelemetry (per OTEP 0001)

Installation

This repository includes installable packages for each instrumented library. Libraries that produce telemetry data should only depend on opentelemetry-api, and defer the choice of the SDK to the application developer. Applications may depend on opentelemetry-sdk or another package that implements the API.

Please note that these libraries are currently in beta, and shouldn't generally be used in production environments.

The instrumentation/ directory includes OpenTelemetry instrumentation packages, which can be installed separately as:

pip install opentelemetry-instrumentation-{integration}

To install the development versions of these packages instead, clone or fork this repo and do an editable install:

pip install -e ./instrumentation/opentelemetry-instrumentation-{integration}

Contributing

See CONTRIBUTING.md

We meet weekly on Thursday, and the time of the meeting alternates between 9AM PT and 4PM PT. The meeting is subject to change depending on contributors' availability. Check the OpenTelemetry community calendar for specific dates.

Meetings take place via Zoom video conference. The passcode is 77777.

Meeting notes are available as a public Google doc. For edit access, get in touch on Gitter.

Approvers (@open-telemetry/python-approvers):

Find more about the approver role in community repository.

Maintainers (@open-telemetry/python-maintainers):

Find more about the maintainer role in community repository.

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 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 SHA 47483865854c7adae7455f8441dab7f814f4ce2a as seen in .github/workflows/test.yml. Use git fetch && git checkout 47483865854c7adae7455f8441dab7f814f4ce2a.
  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!