Getting Started • API Documentation • Getting In Touch (Gitter)
The Python OpenTelemetry client.
This repository includes multiple installable packages. The opentelemetry-api
package includes abstract classes and no-op implementations that comprise the OpenTelemetry API following
the
specification.
The opentelemetry-sdk
package is the reference implementation of the API.
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 this library is currently in beta, and shouldn't generally be used in production environments.
The API and SDK packages are available on PyPI, and can installed via pip
:
pip install opentelemetry-api
pip install opentelemetry-sdk
The
ext/
directory includes OpenTelemetry integration packages, which can be installed
separately as:
pip install opentelemetry-ext-{integration}
To install the development versions of these packages instead, clone or fork this repo and do an editable install:
pip install -e ./opentelemetry-api
pip install -e ./opentelemetry-sdk
pip install -e ./ext/opentelemetry-ext-{integration}
The online documentation is available at https://opentelemetry-python.readthedocs.io/, if you want to access the documentation for the latest version use https://opentelemetry-python.readthedocs.io/en/latest/.
See the OpenTelemetry registry for a list of exporters available.
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.
Meeting notes are available as a public Google doc. For edit access, get in touch on Gitter.
Approvers (@open-telemetry/python-approvers):
- Carlos Alberto Cortez, Lightstep
- Tahir H. Butt DataDog
- Chris Kleinknecht, Google
- Diego Hurtado
- Hector Hernandez, Microsoft
- Mauricio Vásquez, Kinvolk
- Reiley Yang, Microsoft
- Yusuke Tsutsumi, Google
Find more about the approver role in community repository.
Maintainers (@open-telemetry/python-maintainers):
- Alex Boten, Lightstep
- Leighton Chen, Microsoft
Find more about the maintainer role in community repository.
OpenTelemetry Python is under active development.
The library is not yet generally available, and releases aren't guaranteed to conform to a specific version of the specification. Future releases will not attempt to maintain backwards compatibility with previous releases. Each alpha and beta release includes significant changes to the API and SDK packages, making them incompatible with each other.
The v0.1 alpha release includes:
- Tracing API
- Tracing SDK
- Metrics API
- Metrics SDK (Partial)
- W3C Trace Context Propagation
- B3 Context Propagation
- HTTP Integrations
The v0.2 alpha release includes:
- OpenTracing Bridge
- Jaeger Trace Exporter
- Trace Sampling
The v0.3 alpha release includes:
- Metrics Instruments and Labels
- Flask Integration
- PyMongo Integration
The v0.4 alpha release includes:
- Metrics MinMaxSumCount Aggregator
- Context API
- Full Metrics SDK Pipeline
- Metrics STDOUT Exporter
- Dbapi2 Integration
- MySQL Integration
- Psycopg2 Integration
- Zipkin Exporter
- Prometheus Metrics Exporter
- New Examples and Improvements to Existing Examples
The v0.5 beta release includes:
- W3C Correlation Context Propagation
- OpenTelemetry Collector Exporter Integration for both metrics and traces
- Metrics SDK
- Global configuration module
- Documentation improvements
The v0.6 beta release includes:
- API changes and bugfixes
- An autoinstrumentation package and updated Flask instrumentation
- gRPC integration
See the project milestones for details on upcoming releases. The dates and features described in issues and milestones are estimates, and subject to change.