You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and [**Maintainer**](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer).
15
15
16
-
## Find a Buddy and get Started Quickly!
16
+
## Index
17
+
18
+
*[Find a Buddy and get Started Quickly](#find-a-buddy-and-get-started-quickly)
19
+
*[Development](#development)
20
+
*[Troubleshooting](#troubleshooting)
21
+
*[Benchmarks](#benchmarks)
22
+
*[Pull requests](#pull-requests)
23
+
*[How to Send Pull Requests](#how-to-send-pull-requests)
24
+
*[How to Receive Comments](#how-to-receive-comments)
25
+
*[How to Get PRs Reviewed](#how-to-get-prs-reviewed)
26
+
*[How to Get PRs Merged](#how-to-get-prs-merged)
27
+
*[Design Choices](#design-choices)
28
+
*[Focus on Capabilities, Not Structure Compliance](#focus-on-capabilities-not-structure-compliance)
29
+
*[Running Tests Locally](#running-tests-locally)
30
+
*[Testing against a different Core repo branch/commit](#testing-against-a-different-core-repo-branchcommit)
31
+
*[Style Guide](#style-guide)
32
+
*[Guideline for instrumentations](#guideline-for-instrumentations)
33
+
*[Expectations from contributors](#expectations-from-contributors)
34
+
35
+
## Find a Buddy and get Started Quickly
17
36
18
37
If you are looking for someone to help you find a starting point and be a resource for your first contribution, join our
19
38
Slack and find a buddy!
@@ -31,8 +50,8 @@ This project uses [tox](https://tox.readthedocs.io) to automate
31
50
some aspects of development, including testing against multiple Python versions.
32
51
To install `tox`, run:
33
52
34
-
```console
35
-
$ pip install tox
53
+
```sh
54
+
pip install tox
36
55
```
37
56
38
57
You can run `tox` with the following arguments:
@@ -57,7 +76,7 @@ for more detail on available tox commands.
57
76
58
77
### Troubleshooting
59
78
60
-
- Some packages may require additional system wide dependencies to be installed. For example, you may need to install `libpq-dev` to run the postgresql client libraries instrumentation tests. or `libsnappy-dev` to run the prometheus exporter tests. If you encounter a build error, please check the installation instructions for the package you are trying to run tests for.
79
+
>Some packages may require additional system wide dependencies to be installed. For example, you may need to install `libpq-dev` to run the postgresql client libraries instrumentation tests. or `libsnappy-dev` to run the prometheus exporter tests. If you encounter a build error, please check the installation instructions for the package you are trying to run tests for.
61
80
62
81
### Benchmarks
63
82
@@ -94,13 +113,13 @@ pull requests (PRs).
94
113
To create a new PR, fork the project in GitHub and clone the upstream repo:
The continuation integration overrides that environment variable with as per the configuration [here](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/.github/workflows/test.yml#L9).
190
-
209
+
The continuation integration overrides that environment variable with as per the configuration [here](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/2518a4ac07cb62ad6587dd8f6cbb5f8663a7e179/.github/workflows/test.yml#L9).
191
210
192
211
## Style Guide
193
212
@@ -203,27 +222,25 @@ Below is a checklist of things to be mindful of when implementing a new instrume
203
222
204
223
- Follow semantic conventions
205
224
- The instrumentation should follow the semantic conventions defined [here](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/semantic-conventions.md)
206
-
- Extends from [BaseInstrumentor](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/opentelemetry-instrumentation/src/opentelemetry/instrumentation/instrumentor.py#L26)
225
+
- Extends from [BaseInstrumentor](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/2518a4ac07cb62ad6587dd8f6cbb5f8663a7e179/opentelemetry-instrumentation/src/opentelemetry/instrumentation/instrumentor.py#L35)
207
226
- Supports auto-instrumentation
208
-
- Add an entry point (ex. https://github.com/open-telemetry/opentelemetry-python-contrib/blob/f045c43affff6ff1af8fa2f7514a4fdaca97dacf/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml#L44)
227
+
- Add an entry point (ex. <https://github.com/open-telemetry/opentelemetry-python-contrib/blob/2518a4ac07cb62ad6587dd8f6cbb5f8663a7e179/instrumentation/opentelemetry-instrumentation-requests/pyproject.toml#L44>)
209
228
- Run `python scripts/generate_instrumentation_bootstrap.py` after adding a new instrumentation package.
210
229
- Functionality that is common amongst other instrumentation and can be abstracted [here](https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/opentelemetry-instrumentation/src/opentelemetry/instrumentation)
211
230
- Request/response [hooks](https://github.com/open-telemetry/opentelemetry-python-contrib/issues/408) for http instrumentations
OpenTelemetry is an open source community, and as such, greatly encourages contributions from anyone interested in the project. With that being said, there is a certain level of expectation from contributors even after a pull request is merged, specifically pertaining to instrumentations. The OpenTelemetry Python community expects contributors to maintain a level of support and interest in the instrumentations they contribute. This is to ensure that the instrumentation does not become stale and still functions the way the original contributor intended. Some instrumentations also pertain to libraries that the current members of the community are not so familiar with, so it is necessary to rely on the expertise of the original contributing parties.
Copy file name to clipboardexpand all lines: README.md
+13-4
Original file line number
Diff line number
Diff line change
@@ -36,11 +36,20 @@
36
36
37
37
---
38
38
39
-
##OpenTelemetry Python Contrib
39
+
# OpenTelemetry Python Contrib
40
40
41
41
The Python auto-instrumentation libraries for [OpenTelemetry](https://opentelemetry.io/) (per [OTEP 0001](https://github.com/open-telemetry/oteps/blob/main/text/0001-telemetry-without-manual-instrumentation.md))
42
42
43
-
### Installation
43
+
## Index
44
+
45
+
*[Installation](#installation)
46
+
*[Releasing](#releasing)
47
+
*[Releasing a package as `1.0` stable](#releasing-a-package-as-10-stable)
48
+
*[Contributing](#contributing)
49
+
*[Running Tests Locally](#running-tests-locally)
50
+
*[Thanks to all the people who already contributed](#thanks-to-all-the-people-who-already-contributed)
51
+
52
+
## Installation
44
53
45
54
This repository includes installable packages for each instrumented library. Libraries that produce telemetry data should only depend on `opentelemetry-api`,
46
55
and defer the choice of the SDK to the application developer. Applications may
@@ -79,6 +88,7 @@ To resolve this, members of the community are encouraged to commit to becoming a
79
88
### Releasing a package as `1.0` stable
80
89
81
90
To release a package as `1.0` stable, the package:
91
+
82
92
- SHOULD have a CODEOWNER. To become one, submit an issue and explain why you meet the responsibilities found in [CODEOWNERS](.github/CODEOWNERS).
83
93
- MUST have unit tests that cover all supported versions of the instrumented library.
84
94
- e.g. Instrumentation packages might use different techniques to instrument different major versions of python packages
@@ -131,9 +141,8 @@ Emeritus Maintainers:
131
141
4. Make sure you have `tox` installed. `pip install tox`.
132
142
5. Run tests for a package. (e.g. `tox -e test-instrumentation-flask`.)
133
143
134
-
### Thanks to all the people who already contributed!
144
+
### Thanks to all the people who already contributed
0 commit comments