Skip to content

Commit 6a64a3e

Browse files
authored
Merge branch 'main' into issue_2142
2 parents a7fd058 + 95aeecc commit 6a64a3e

File tree

48 files changed

+381
-90
lines changed

Some content is hidden

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

48 files changed

+381
-90
lines changed

.github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env:
1010
# Otherwise, set variable to the commit of your branch on
1111
# opentelemetry-python-contrib which is compatible with these Core repo
1212
# changes.
13-
CONTRIB_REPO_SHA: ad2594e166bd7f4cd40780df418f82389de970a6
13+
CONTRIB_REPO_SHA: e71a5157c184266002186cf853dfb8e2f2d6b924
1414
# This is needed because we do not clone the core repo in contrib builds anymore.
1515
# When running contrib builds as part of core builds, we use actions/checkout@v2 which
1616
# does not set an environment variable (simply just runs tox), which is different when

CHANGELOG.md

+18-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,21 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.9.1-0.28b1...HEAD)
8+
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.10.0-0.29b0...HEAD)
9+
10+
- Fix incorrect installation of some exporter “convenience” packages into
11+
“site-packages/src”
12+
([#2525](https://github.com/open-telemetry/opentelemetry-python/pull/2525))
13+
- Capture exception information as part of log attributes
14+
([#2531](https://github.com/open-telemetry/opentelemetry-python/pull/2531))
15+
- Change OTLPHandler to LoggingHandler
16+
([#2528](https://github.com/open-telemetry/opentelemetry-python/pull/2528))
17+
- Fix delta histogram sum not being reset on collection
18+
([#2533](https://github.com/open-telemetry/opentelemetry-python/pull/2533))
19+
- Add InMemoryMetricReader to metrics SDK
20+
([#2540](https://github.com/open-telemetry/opentelemetry-python/pull/2540))
21+
22+
## [1.10.0-0.29b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.10.0-0.29b0) - 2022-03-10
923

1024
- Docs rework: [non-API docs are
1125
moving](https://github.com/open-telemetry/opentelemetry-python/issues/2172) to
@@ -97,6 +111,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
97111

98112
## [1.6.2-0.25b2](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.6.2-0.25b2) - 2021-10-19
99113

114+
- Fix parental trace relationship for opentracing `follows_from` reference
115+
([#2180](https://github.com/open-telemetry/opentelemetry-python/pull/2180))
116+
100117
## [1.6.1-0.25b1](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.6.1-0.25b1) - 2021-10-18
101118

102119
- Fix ReadableSpan property types attempting to create a mapping from a list
@@ -106,9 +123,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
106123
- Propagation: only warn about oversized baggage headers when headers exist
107124
([#2212](https://github.com/open-telemetry/opentelemetry-python/pull/2212))
108125

109-
- Fix parental trace relationship for opentracing `follows_from` reference
110-
([#2180](https://github.com/open-telemetry/opentelemetry-python/pull/2180))
111-
112126
## [1.6.0-0.25b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.6.0-0.25b0) - 2021-10-13
113127

114128
- Fix race in `set_tracer_provider()`

CONTRIBUTING.md

+6
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ You can run `tox` with the following arguments:
7171
Python version
7272
- `tox -e lint` to run lint checks on all code
7373

74+
`black` and `isort` are executed when `tox -e lint` is run. The reported errors can be tedious to fix manually.
75+
An easier way to do so is:
76+
77+
1. Run `.tox/lint/bin/black .`
78+
2. Run `.tox/lint/bin/isort .`
79+
7480
We try to keep the amount of _public symbols_ in our code minimal. A public symbol is any Python identifier that does not start with an underscore.
7581
Every public symbol is something that has to be kept in order to maintain backwards compatibility, so we try to have as few as possible.
7682

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telem
138138
- [Aaron Abbott](https://github.com/aabmass), Google
139139
- [Alex Boten](https://github.com/codeboten), Lightstep
140140
- [Srikanth Chekuri](https://github.com/lonewolf3739)
141+
- [Owais Lone](https://github.com/owais), Splunk
141142
- [Nathaniel Ruiz Nowell](https://github.com/NathanielRN), AWS
142143

143144
*For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver).*
@@ -146,7 +147,6 @@ Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-t
146147

147148
- [Diego Hurtado](https://github.com/ocelotl), Lightstep
148149
- [Leighton Chen](https://github.com/lzchen), Microsoft
149-
- [Owais Lone](https://github.com/owais), Splunk
150150

151151
*For more information about the maintainer role, see the [community repository](https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer).*
152152

docs/examples/datadog_exporter/README.rst

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1-
Datadog Exporter
2-
================
1+
Datadog Span Exporter
2+
=====================
3+
4+
.. warning:: This exporter has been deprecated. To export your OTLP traces from OpenTelemetry SDK directly to Datadog Agent, please refer to `OTLP Ingest in Datadog Agent <https://docs.datadoghq.com/tracing/setup_overview/open_standards/#otlp-ingest-in-datadog-agent>`_ .
5+
36

47
These examples show how to use OpenTelemetry to send tracing data to Datadog.
58

docs/examples/logs/example.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
)
77
from opentelemetry.sdk._logs import (
88
LogEmitterProvider,
9-
OTLPHandler,
9+
LoggingHandler,
1010
set_log_emitter_provider,
1111
)
1212
from opentelemetry.sdk._logs.export import BatchLogProcessor
@@ -35,7 +35,7 @@
3535
exporter = OTLPLogExporter(insecure=True)
3636
log_emitter_provider.add_log_processor(BatchLogProcessor(exporter))
3737
log_emitter = log_emitter_provider.get_log_emitter(__name__, "0.1")
38-
handler = OTLPHandler(level=logging.NOTSET, log_emitter=log_emitter)
38+
handler = LoggingHandler(level=logging.NOTSET, log_emitter=log_emitter)
3939

4040
# Attach OTLP handler to root logger
4141
logging.getLogger().addHandler(handler)

docs/examples/metrics/example.py

+41-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
from typing import Iterable
2+
13
from opentelemetry._metrics import get_meter_provider, set_meter_provider
4+
from opentelemetry._metrics.measurement import Measurement
25
from opentelemetry.exporter.otlp.proto.grpc._metric_exporter import (
36
OTLPMetricExporter,
47
)
@@ -10,7 +13,43 @@
1013
provider = MeterProvider(metric_readers=[reader])
1114
set_meter_provider(provider)
1215

16+
17+
def observable_counter_func() -> Iterable[Measurement]:
18+
yield Measurement(1, {})
19+
20+
21+
def observable_up_down_counter_func() -> Iterable[Measurement]:
22+
yield Measurement(-10, {})
23+
24+
25+
def observable_gauge_func() -> Iterable[Measurement]:
26+
yield Measurement(9, {})
27+
28+
1329
meter = get_meter_provider().get_meter("getting-started", "0.1.2")
14-
counter = meter.create_counter("first_counter")
30+
31+
# Counter
32+
counter = meter.create_counter("counter")
1533
counter.add(1)
16-
# TODO: fill in details for additional metrics
34+
35+
# Async Counter
36+
observable_counter = meter.create_observable_counter(
37+
"observable_counter", observable_counter_func
38+
)
39+
40+
# UpDownCounter
41+
updown_counter = meter.create_up_down_counter("updown_counter")
42+
updown_counter.add(1)
43+
updown_counter.add(-5)
44+
45+
# Async UpDownCounter
46+
observable_updown_counter = meter.create_observable_up_down_counter(
47+
"observable_updown_counter", observable_up_down_counter_func
48+
)
49+
50+
# Histogram
51+
histogram = meter.create_histogram("histogram")
52+
histogram.record(99.9)
53+
54+
# Async Gauge
55+
gauge = meter.create_observable_gauge("gauge", observable_gauge_func)

docs/getting_started/metrics_example.py

+41-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515
# metrics.py
1616
# This is still work in progress as the metrics SDK is being implemented
1717

18+
from typing import Iterable
19+
1820
from opentelemetry._metrics import get_meter_provider, set_meter_provider
21+
from opentelemetry._metrics.measurement import Measurement
1922
from opentelemetry.sdk._metrics import MeterProvider
2023
from opentelemetry.sdk._metrics.export import (
2124
ConsoleMetricExporter,
@@ -27,7 +30,43 @@
2730
provider = MeterProvider(metric_readers=[reader])
2831
set_meter_provider(provider)
2932

33+
34+
def observable_counter_func() -> Iterable[Measurement]:
35+
yield Measurement(1, {})
36+
37+
38+
def observable_up_down_counter_func() -> Iterable[Measurement]:
39+
yield Measurement(-10, {})
40+
41+
42+
def observable_gauge_func() -> Iterable[Measurement]:
43+
yield Measurement(9, {})
44+
45+
3046
meter = get_meter_provider().get_meter("getting-started", "0.1.2")
31-
counter = meter.create_counter("first_counter")
47+
48+
# Counter
49+
counter = meter.create_counter("counter")
3250
counter.add(1)
33-
# TODO: fill in details for additional metrics
51+
52+
# Async Counter
53+
observable_counter = meter.create_observable_counter(
54+
"observable_counter", observable_counter_func
55+
)
56+
57+
# UpDownCounter
58+
updown_counter = meter.create_up_down_counter("updown_counter")
59+
updown_counter.add(1)
60+
updown_counter.add(-5)
61+
62+
# Async UpDownCounter
63+
observable_updown_counter = meter.create_observable_up_down_counter(
64+
"observable_updown_counter", observable_up_down_counter_func
65+
)
66+
67+
# Histogram
68+
histogram = meter.create_histogram("histogram")
69+
histogram.record(99.9)
70+
71+
# Async Gauge
72+
gauge = meter.create_observable_gauge("gauge", observable_gauge_func)

eachdist.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ sortfirst=
1111
exporter/*
1212

1313
[stable]
14-
version=1.9.1
14+
version=1.10.0
1515

1616
packages=
1717
opentelemetry-sdk
@@ -30,7 +30,7 @@ packages=
3030
opentelemetry-api
3131

3232
[prerelease]
33-
version=0.28b1
33+
version=0.29b0
3434

3535
packages=
3636
opentelemetry-opentracing-shim

exporter/opentelemetry-exporter-jaeger-proto-grpc/src/opentelemetry/exporter/jaeger/proto/grpc/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16-
__version__ = "1.9.1"
16+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-jaeger-thrift/src/opentelemetry/exporter/jaeger/thrift/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16-
__version__ = "1.9.1"
16+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-jaeger/setup.cfg

+7-3
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,15 @@ classifiers =
3737

3838
[options]
3939
python_requires = >=3.6
40-
40+
package_dir=
41+
=src
4142
packages=find_namespace:
4243
install_requires =
43-
opentelemetry-exporter-jaeger-proto-grpc == 1.9.1
44-
opentelemetry-exporter-jaeger-thrift == 1.9.1
44+
opentelemetry-exporter-jaeger-proto-grpc == 1.10.0
45+
opentelemetry-exporter-jaeger-thrift == 1.10.0
46+
47+
[options.packages.find]
48+
where = src
4549

4650
[options.extras_require]
4751
test =

exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16-
__version__ = "1.9.1"
16+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "0.28b1"
15+
__version__ = "0.29b0"

exporter/opentelemetry-exporter-otlp-proto-grpc/setup.cfg

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ install_requires =
4343
grpcio >= 1.0.0, < 2.0.0
4444
googleapis-common-protos ~= 1.52
4545
opentelemetry-api ~= 1.3
46-
opentelemetry-sdk ~= 1.9
47-
opentelemetry-proto == 1.9.1
46+
opentelemetry-sdk ~= 1.10.0
47+
opentelemetry-proto == 1.10.0
4848
backoff ~= 1.10.0
4949

5050
[options.extras_require]

exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.9.1"
15+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-otlp-proto-http/setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ install_requires =
4444
googleapis-common-protos ~= 1.52
4545
opentelemetry-api ~= 1.3
4646
opentelemetry-sdk ~= 1.3
47-
opentelemetry-proto == 1.9.1
47+
opentelemetry-proto == 1.10.0
4848
backoff ~= 1.10.0
4949

5050
[options.extras_require]

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.9.1"
15+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-otlp/setup.cfg

+7-2
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,15 @@ classifiers =
3737

3838
[options]
3939
python_requires = >=3.6
40+
package_dir=
41+
=src
4042
packages=find_namespace:
4143
install_requires =
42-
opentelemetry-exporter-otlp-proto-grpc == 1.9.1
43-
opentelemetry-exporter-otlp-proto-http == 1.9.1
44+
opentelemetry-exporter-otlp-proto-grpc == 1.10.0
45+
opentelemetry-exporter-otlp-proto-http == 1.10.0
46+
47+
[options.packages.find]
48+
where = src
4449

4550
[options.entry_points]
4651
opentelemetry_traces_exporter =

exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.9.1"
15+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-prometheus/setup.cfg

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ package_dir=
4141
packages=find_namespace:
4242
install_requires =
4343
prometheus_client >= 0.5.0, < 1.0.0
44-
opentelemetry-api >= 1.9.1
45-
opentelemetry-sdk >= 1.9.1
44+
opentelemetry-api >= 1.10.0
45+
opentelemetry-sdk >= 1.10.0
4646

4747
[options.packages.find]
4848
where = src

exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "0.28b1"
15+
__version__ = "0.29b0"

exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.9.1"
15+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-zipkin-proto-http/setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ install_requires =
4545
requests ~= 2.7
4646
opentelemetry-api ~= 1.3
4747
opentelemetry-sdk ~= 1.3
48-
opentelemetry-exporter-zipkin-json == 1.9.1
48+
opentelemetry-exporter-zipkin-json == 1.10.0
4949

5050
[options.packages.find]
5151
where = src

exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.9.1"
15+
__version__ = "1.10.0"

exporter/opentelemetry-exporter-zipkin/setup.cfg

+7-2
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,15 @@ classifiers =
3737

3838
[options]
3939
python_requires = >=3.6
40+
package_dir=
41+
=src
4042
packages=find_namespace:
4143
install_requires =
42-
opentelemetry-exporter-zipkin-json == 1.9.1
43-
opentelemetry-exporter-zipkin-proto-http == 1.9.1
44+
opentelemetry-exporter-zipkin-json == 1.10.0
45+
opentelemetry-exporter-zipkin-proto-http == 1.10.0
46+
47+
[options.packages.find]
48+
where = src
4449

4550
[options.extras_require]
4651
test =

exporter/opentelemetry-exporter-zipkin/src/opentelemetry/exporter/zipkin/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.9.1"
15+
__version__ = "1.10.0"

0 commit comments

Comments
 (0)