Skip to content

Commit 7c99d6f

Browse files
author
Alex Boten
committed
Merge remote-tracking branch 'origin/master' into codeboten/issue_303
2 parents 939900b + baab508 commit 7c99d6f

File tree

76 files changed

+1371
-391
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1371
-391
lines changed

.flake8

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ exclude =
1111
.svn
1212
.tox
1313
CVS
14+
.venv*/
15+
venv*/
1416
target
1517
__pycache__
1618
ext/opentelemetry-ext-jaeger/src/opentelemetry/ext/jaeger/gen/

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ lib
2020
lib64
2121
__pycache__
2222
venv*/
23+
.venv*/
2324

2425
# Installer logs
2526
pip-log.txt

.isort.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ line_length=79
1313
; docs: https://github.com/timothycrosley/isort#multi-line-output-modes
1414
multi_line_output=3
1515
skip=target
16-
skip_glob=ext/opentelemetry-ext-jaeger/src/opentelemetry/ext/jaeger/gen/*
16+
skip_glob=ext/opentelemetry-ext-jaeger/src/opentelemetry/ext/jaeger/gen/*,.venv*/*,venv*/*
1717
known_first_party=opentelemetry

CONTRIBUTING.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,14 @@ during their normal contribution hours.
2828

2929
## Development
3030

31-
This project uses [`tox`](https://tox.readthedocs.io) to automate some aspects
31+
To quickly get up and running, you can use the `scripts/eachdist.py` tool that
32+
ships with this project. First create a virtualenv and activate it.
33+
Then run `python scripts/eachdist.py develop` to install all required packages
34+
as well as the project's packages themselves (in `--editable` mode).
35+
You can then run `scripts/eachdist.py test` to test everything or
36+
`scripts/eachdist.py lint` to lint everything (fixing anything that is auto-fixable).
37+
38+
Additionally, this project uses [`tox`](https://tox.readthedocs.io) to automate some aspects
3239
of development, including testing against multiple Python versions.
3340

3441
You can run:

README.md

+26-19
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ pip install -e ./ext/opentelemetry-ext-{integration}
5252
```python
5353
from opentelemetry import trace
5454
from opentelemetry.context import Context
55-
from opentelemetry.sdk.trace import Tracer
55+
from opentelemetry.sdk.trace import TracerSource
5656
from opentelemetry.sdk.trace.export import ConsoleSpanExporter
5757
from opentelemetry.sdk.trace.export import SimpleExportSpanProcessor
5858

59-
trace.set_preferred_tracer_implementation(lambda T: Tracer())
60-
tracer = trace.tracer()
61-
tracer.add_span_processor(
59+
trace.set_preferred_tracer_source_implementation(lambda T: TracerSource())
60+
trace.tracer_source().add_span_processor(
6261
SimpleExportSpanProcessor(ConsoleSpanExporter())
6362
)
63+
tracer = trace.tracer_source().get_tracer(__name__)
6464
with tracer.start_as_current_span('foo'):
6565
with tracer.start_as_current_span('bar'):
6666
with tracer.start_as_current_span('baz'):
@@ -120,14 +120,14 @@ Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telem
120120
- [Carlos Alberto Cortez](https://github.com/carlosalberto), LightStep
121121
- [Christian Neumüller](https://github.com/Oberon00), Dynatrace
122122
- [Leighton Chen](https://github.com/lzchen), Microsoft
123-
- [Yusuke Tsutsumi](https://github.com/toumorokoshi), Zillow Group
124123

125124
*Find more about the approver role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#approver).*
126125

127126
Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-telemetry/teams/python-maintainers)):
128127

129128
- [Chris Kleinknecht](https://github.com/c24t), Google
130129
- [Reiley Yang](https://github.com/reyang), Microsoft
130+
- [Yusuke Tsutsumi](https://github.com/toumorokoshi), Zillow Group
131131

132132
*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).*
133133

@@ -137,7 +137,9 @@ OpenTelemetry Python is under active development.
137137

138138
The library is not yet _generally available_, and releases aren't guaranteed to
139139
conform to a specific version of the specification. Future releases will not
140-
attempt to maintain backwards compatibility with previous releases.
140+
attempt to maintain backwards compatibility with previous releases. Each alpha
141+
release includes significant changes to the API and SDK packages, making them
142+
incompatible with each other.
141143

142144
The [v0.1 alpha
143145
release](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.1.0)
@@ -159,23 +161,28 @@ includes:
159161
- Jaeger Trace Exporter
160162
- Trace Sampling
161163

164+
The [v0.3 alpha
165+
release](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.3.0)
166+
includes:
167+
168+
- Metrics Instruments and Labels
169+
- Flask Integration
170+
- PyMongo Integration
171+
162172
See the [project
163173
milestones](https://github.com/open-telemetry/opentelemetry-python/milestones)
164174
for details on upcoming releases. The dates and features described here are
165175
estimates, and subject to change.
166176

167177
Future releases targets include:
168178

169-
| Component | Version | Target Date |
170-
| ----------------------------------- | ---------- | --------------- |
171-
| Zipkin Trace Exporter | Alpha v0.3 | December 6 2019 |
172-
| W3C Correlation Context Propagation | Alpha v0.3 | December 6 2019 |
173-
| Support for Tags/Baggage | Alpha v0.3 | December 6 2019 |
174-
| Metrics Aggregation | Alpha v0.3 | December 6 2019 |
175-
| gRPC Integrations | Alpha v0.3 | December 6 2019 |
176-
| Prometheus Metrics Exporter | Alpha v0.3 | December 6 2019 |
177-
178-
| Component | Version | Target Date |
179-
| ---------------------- | ---------- | ---------------- |
180-
| OpenCensus Bridge | Alpha v0.4 | December 31 2019 |
181-
| Metrics SDK (Complete) | Alpha v0.4 | December 31 2019 |
179+
| Component | Version | Target Date |
180+
| ----------------------------------- | ---------- | ---------------- |
181+
| Zipkin Trace Exporter | Alpha v0.4 | December 31 2019 |
182+
| W3C Correlation Context Propagation | Alpha v0.4 | December 31 2019 |
183+
| Support for Tags/Baggage | Alpha v0.4 | December 31 2019 |
184+
| Metrics Aggregation | Alpha v0.4 | December 31 2019 |
185+
| gRPC Integrations | Alpha v0.4 | December 31 2019 |
186+
| Prometheus Metrics Exporter | Alpha v0.4 | December 31 2019 |
187+
| OpenCensus Bridge | Alpha v0.4 | December 31 2019 |
188+
| Metrics SDK (Complete) | Alpha v0.4 | December 31 2019 |

dev-requirements.txt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
pylint~=2.3
2+
flake8~=3.7
3+
isort~=4.3
4+
black>=19.3b0,==19.*
5+
mypy==0.740
6+
sphinx~=2.1
7+
sphinx-rtd-theme~=0.4
8+
sphinx-autodoc-typehints~=1.10.2
9+
pytest!=5.2.3
10+
pytest-cov>=2.8

docs/conf.py

+17-3
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,21 @@
1212

1313
import os
1414
import sys
15+
from os import listdir
16+
from os.path import isdir, join
1517

16-
sys.path[:0] = [
18+
source_dirs = [
1719
os.path.abspath("../opentelemetry-api/src/"),
18-
os.path.abspath("../ext/opentelemetry-ext-opentracing-shim/src/"),
20+
os.path.abspath("../opentelemetry-sdk/src/"),
1921
]
2022

23+
ext = "../ext"
24+
ext_dirs = [
25+
os.path.abspath("/".join(["../ext", f, "src"]))
26+
for f in listdir(ext)
27+
if isdir(join(ext, f))
28+
]
29+
sys.path[:0] = source_dirs + ext_dirs
2130

2231
# -- Project information -----------------------------------------------------
2332

@@ -64,7 +73,12 @@
6473
# Sphinx does not recognize generic type TypeVars
6574
# Container supposedly were fixed, but does not work
6675
# https://github.com/sphinx-doc/sphinx/pull/3744
67-
nitpick_ignore = [("py:class", "ValueT"), ("py:class", "typing.Tuple")]
76+
nitpick_ignore = [
77+
("py:class", "ValueT"),
78+
("py:class", "MetricT"),
79+
("py:class", "typing.Tuple"),
80+
("py:class", "pymongo.monitoring.CommandListener"),
81+
]
6882

6983
# Add any paths that contain templates here, relative to this directory.
7084
templates_path = ["_templates"]

docs/index.rst

+25-7
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,42 @@
33
You can adapt this file completely to your liking, but it should at least
44
contain the root `toctree` directive.
55
6-
OpenTelemetry API
7-
=================
6+
OpenTelemetry
7+
=============
88

9-
Welcome to OpenTelemetry's API documentation!
9+
Welcome to OpenTelemetry's documentation!
1010

11-
This documentation describes the ``opentelemetry-api`` package, which provides
12-
abstract types for OpenTelemetry implementations.
11+
This documentation describes the ``opentelemetry-api``, ``opentelemetry-sdk``
12+
and integration packages.
1313

1414
.. toctree::
1515
:maxdepth: 1
16-
:caption: Contents:
16+
:caption: OpenTelemetry API:
1717

1818
opentelemetry.context
1919
opentelemetry.metrics
2020
opentelemetry.trace
2121
opentelemetry.util.loader
22-
opentelemetry.ext.opentracing_shim
2322

23+
.. toctree::
24+
:maxdepth: 1
25+
:caption: OpenTelemetry SDK:
26+
27+
opentelemetry.sdk.context
28+
opentelemetry.sdk.metrics
29+
opentelemetry.sdk.trace
30+
31+
32+
.. toctree::
33+
:maxdepth: 1
34+
:caption: OpenTelemetry Integrations:
35+
36+
opentelemetry.ext.flask
37+
opentelemetry.ext.http_requests
38+
opentelemetry.ext.jaeger
39+
opentelemetry.ext.opentracing_shim
40+
opentelemetry.ext.pymongo
41+
opentelemetry.ext.wsgi
2442

2543
Indices and tables
2644
==================

docs/opentelemetry.ext.flask.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
opentelemetry.ext.flask package
2+
==========================================
3+
4+
Module contents
5+
---------------
6+
7+
.. automodule:: opentelemetry.ext.flask
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
opentelemetry.ext.http_requests package
2+
==========================================
3+
4+
Module contents
5+
---------------
6+
7+
.. automodule:: opentelemetry.ext.http_requests
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
opentelemetry.ext.jaeger.gen.jaeger.ttypes
2+
==========================================
3+
4+
5+
Module contents
6+
---------------
7+
8+
.. automodule:: opentelemetry.ext.jaeger.gen.jaeger.ttypes
9+
:members:
10+
:undoc-members:
11+
:show-inheritance:

docs/opentelemetry.ext.jaeger.rst

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
opentelemetry.ext.jaeger package
2+
==========================================
3+
4+
5+
Submodules
6+
----------
7+
8+
.. toctree::
9+
10+
opentelemetry.ext.jaeger.gen.jaeger.ttypes
11+
12+
13+
Module contents
14+
---------------
15+
16+
.. automodule:: opentelemetry.ext.jaeger
17+
:members:
18+
:undoc-members:
19+
:show-inheritance:

docs/opentelemetry.ext.pymongo.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
opentelemetry.ext.pymongo package
2+
==========================================
3+
4+
Module contents
5+
---------------
6+
7+
.. automodule:: opentelemetry.ext.pymongo
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:

docs/opentelemetry.ext.wsgi.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
opentelemetry.ext.wsgi package
2+
==========================================
3+
4+
Module contents
5+
---------------
6+
7+
.. automodule:: opentelemetry.ext.wsgi
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:

docs/opentelemetry.sdk.context.rst

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
opentelemetry.sdk.context
2+
==========================================
3+
4+
.. automodule:: opentelemetry.sdk.context
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

docs/opentelemetry.sdk.metrics.rst

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
opentelemetry.sdk.metrics package
2+
==========================================
3+
4+
.. automodule:: opentelemetry.sdk.metrics
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:
+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
opentelemetry.sdk.trace.export
2+
==========================================
3+
4+
.. automodule:: opentelemetry.sdk.trace.export
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

docs/opentelemetry.sdk.trace.rst

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
opentelemetry.sdk.trace package
2+
==========================================
3+
4+
Submodules
5+
----------
6+
7+
.. toctree::
8+
9+
opentelemetry.sdk.trace.export
10+
11+
.. automodule:: opentelemetry.sdk.trace
12+
:members:
13+
:undoc-members:
14+
:show-inheritance:

docs/opentelemetry.trace.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ Submodules
66

77
.. toctree::
88

9+
opentelemetry.trace.sampling
910
opentelemetry.trace.status
1011

1112
Module contents
1213
---------------
1314

14-
.. automodule:: opentelemetry.trace
15+
.. automodule:: opentelemetry.trace

docs/opentelemetry.trace.sampling.rst

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
opentelemetry.trace.sampling
2+
============================
3+
4+
.. automodule:: opentelemetry.trace.sampling
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

eachdist.ini

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# These will be sorted first in that order.
2+
# All packages that are depended upon by others should be listed here.
3+
[DEFAULT]
4+
sortfirst=
5+
opentelemetry-api
6+
opentelemetry-sdk
7+
ext/opentelemetry-ext-wsgi
8+
ext/*
9+
10+
[lintroots]
11+
extraroots=examples/*,scripts/
12+
subglob=*.py,tests/,test/,src/*,examples/*
13+
14+
[testroots]
15+
extraroots=examples/*,tests/
16+
subglob=tests/,test/

0 commit comments

Comments
 (0)