Giter Club home page Giter Club logo

opentelemetry-python's Introduction

OpenTelemetry Python


Getting Started   •   API Documentation   •   Getting In Touch (GitHub Discussions)

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

Contributing   •   Examples


This page describes the Python OpenTelemetry implementation. OpenTelemetry is an observability framework for cloud-native software.

Requirements

Unless otherwise noted, all published artifacts support Python 3.7 or higher. See CONTRIBUTING.md for additional instructions for building this project for development.

Getting started

The goal of OpenTelemetry is to provide a single set of APIs to capture distributed traces and metrics from your application and send them to an observability platform. This project lets you do just that for applications written in Python.

This repository includes multiple installable packages. The opentelemetry-api package includes abstract classes and no-op implementations that comprise the OpenTelemetry API following the OpenTelemetry 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.

The API and SDK packages are available on the Python Package Index (PyPI). You can install them via pip with the following commands:

pip install opentelemetry-api
pip install opentelemetry-sdk

The exporter/ directory includes OpenTelemetry exporter packages. You can install the packages separately with the following command:

pip install opentelemetry-exporter-{exporter}

The propagator/ directory includes OpenTelemetry propagator packages. You can install the packages separately with the following command:

pip install opentelemetry-propagator-{propagator}

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

pip install -e ./opentelemetry-api
pip install -e ./opentelemetry-sdk
pip install -e ./instrumentation/opentelemetry-instrumentation-{instrumentation}

For additional exporter and instrumentation packages, see the opentelemetry-python-contrib repository.

Running Performance Tests

This section provides details on how to reproduce performance tests results on your own machine.

Resource Usage Tests

  1. Install scalene using the following command
pip install scalene
  1. Run the scalene tests on any of the example Python programs
scalene opentelemetry-<PACKAGE>/tests/performance/resource-usage/<PATH_TO_TEST>/profile_resource_usage_<NAME_OF_TEST>.py

Python Version Support Addition and Removal

This project supports the latest Python versions. As new Python versions are released, support for them is added and as old Python versions reach their end of life, support for them is removed.

We add support for new Python versions no later than 3 months after they become stable.

We remove support for old Python versions 6 months after they reach their end of life.

Documentation

The online documentation is available at https://opentelemetry-python.readthedocs.io/. To access the latest version of the documentation, see https://opentelemetry-python.readthedocs.io/en/latest/.

Contributing

For information about contributing to OpenTelemetry Python, see CONTRIBUTING.md.

We meet weekly on Thursdays at 9AM PST. The meeting is subject to change depending on contributors' availability. Check the OpenTelemetry community calendar for specific dates and Zoom meeting links.

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

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

Emeritus Approvers

For more information about the approver role, see the community repository.

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

Emeritus Maintainers:

For more information about the maintainer role, see the community repository.

Thanks to all the people who already contributed!

Project Status

For project boards and milestones, see the following links:

We try to keep these linksos accurate, so they're the best place to go for questions about project status. The dates and features described in the issues and milestones are estimates and subject to change.

opentelemetry-python's People

Contributors

a-feld avatar aabmass avatar alertedsnake avatar anton-ryzhov avatar bitspradp avatar c24t avatar chalin avatar cnnradams avatar codeboten avatar dgzlopes avatar ffe4 avatar hectorhdzg avatar hivetraum avatar jamim avatar johananl avatar lzchen avatar majorgreys avatar mariojonke avatar mauriciovasquezbernal avatar musicinmybrain avatar nathanielrn avatar oberon00 avatar ocelotl avatar ofek avatar owais avatar reyang avatar robwknox avatar srikanthccv avatar toumorokoshi avatar trask avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.