Skip to content

Commit 30a7c51

Browse files
committed
Merge branch 'rydzykje-support_env_var_conf_jaeger' of https://github.com/rydzykje/opentelemetry-python into rydzykje-support_env_var_conf_jaeger
2 parents c83bf71 + e4ff552 commit 30a7c51

File tree

74 files changed

+278
-172
lines changed

Some content is hidden

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

74 files changed

+278
-172
lines changed

.circleci/config.yml

-24
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ executors:
1313
py35:
1414
docker:
1515
- image: circleci/python:3.5
16-
py34:
17-
docker:
18-
- image: circleci/python:3.4
1916
pypy3:
2017
docker:
2118
- image: pypy:3
@@ -101,23 +98,6 @@ jobs:
10198
- run_tox_scenario:
10299
pattern: py38-<< parameters.package >>
103100

104-
build-py34:
105-
parameters:
106-
package:
107-
type: string
108-
default: "core"
109-
executor: py34
110-
steps:
111-
- checkout
112-
- run:
113-
name: "Install tox"
114-
command: sudo pip install -U tox virtualenv tox-factor
115-
- restore_tox_cache
116-
- run:
117-
name: "Run scripts/run-tox-scenario"
118-
command: tox -f py34-<< parameters.package >>
119-
- save_tox_cache
120-
121101
build:
122102
parameters:
123103
version:
@@ -143,10 +123,6 @@ workflows:
143123
parameters:
144124
version: ["py37", "py36", "py35", "pypy3"]
145125
package: ["core", "exporter", "instrumentation"]
146-
- build-py34:
147-
matrix:
148-
parameters:
149-
package: ["core", "exporter", "instrumentation"]
150126
- docs
151127
- lint
152128
- docker-tests

.github/workflows/test.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ jobs:
66
build:
77
env:
88
# We use these variables to convert between tox and GHA version literals
9-
py34: 3.4
109
py35: 3.5
1110
py36: 3.6
1211
py37: 3.7
@@ -16,7 +15,7 @@ jobs:
1615
strategy:
1716
fail-fast: false # ensures the entire test matrix is run, even if one permutation fails
1817
matrix:
19-
python-version: [ py34, py35, py36, py37, py38, pypy3 ]
18+
python-version: [ py35, py36, py37, py38, pypy3 ]
2019
package: ["instrumentation", "core", "exporter"]
2120
os: [ ubuntu-latest ]
2221
include:

docs/examples/opentelemetry-example-app/setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ classifiers =
2828
License :: OSI Approved :: Apache Software License
2929
Programming Language :: Python
3030
Programming Language :: Python :: 3
31-
Programming Language :: Python :: 3.4
3231
Programming Language :: Python :: 3.5
3332
Programming Language :: Python :: 3.6
3433
Programming Language :: Python :: 3.7
3534
Programming Language :: Python :: 3.8
3635

3736
[options]
38-
python_requires = >=3.4
37+
python_requires = >=3.5
3938
package_dir=
4039
=src
4140
packages = find_namespace:

exporter/opentelemetry-exporter-jaeger/CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
# Changelog
22

33
## Unreleased
4+
45
- Add support for Jaeger Span Exporter configuration by environment variables and<br/>
56
change JaegerSpanExporter constructor parameters
67
([#1114](https://github.com/open-telemetry/opentelemetry-python/pull/1114))
8+
- Drop support for Python 3.4
9+
([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))
10+
- Report instrumentation info
11+
([#1098](https://github.com/open-telemetry/opentelemetry-python/pull/1098))
712

813
## Version 0.12b0
914

exporter/opentelemetry-exporter-jaeger/setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ classifiers =
2828
License :: OSI Approved :: Apache Software License
2929
Programming Language :: Python
3030
Programming Language :: Python :: 3
31-
Programming Language :: Python :: 3.4
3231
Programming Language :: Python :: 3.5
3332
Programming Language :: Python :: 3.6
3433
Programming Language :: Python :: 3.7
3534
Programming Language :: Python :: 3.8
3635

3736
[options]
38-
python_requires = >=3.4
37+
python_requires = >=3.5
3938
package_dir=
4039
=src
4140
packages=find_namespace:

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

+14
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,20 @@ def _translate_to_jaeger(spans: Span):
212212
]
213213
)
214214

215+
if span.instrumentation_info is not None:
216+
tags.extend(
217+
[
218+
_get_string_tag(
219+
"otel.instrumentation_library.name",
220+
span.instrumentation_info.name,
221+
),
222+
_get_string_tag(
223+
"otel.instrumentation_library.version",
224+
span.instrumentation_info.version,
225+
),
226+
]
227+
)
228+
215229
# Ensure that if Status.Code is not OK, that we set the "error" tag on the Jaeger span.
216230
if status.canonical_code is not StatusCanonicalCode.OK:
217231
tags.append(_get_bool_tag("error", True))

exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter.py

+31-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from opentelemetry.exporter.jaeger.gen.jaeger import ttypes as jaeger
2525
from opentelemetry.sdk import trace
2626
from opentelemetry.sdk.trace import Resource
27+
from opentelemetry.sdk.util.instrumentation import InstrumentationInfo
2728
from opentelemetry.trace.status import Status, StatusCanonicalCode
2829

2930

@@ -254,6 +255,9 @@ def test_translate_to_jaeger(self):
254255
otel_spans[2].start(start_time=start_times[2])
255256
otel_spans[2].resource = Resource({})
256257
otel_spans[2].end(end_time=end_times[2])
258+
otel_spans[2].instrumentation_info = InstrumentationInfo(
259+
name="name", version="version"
260+
)
257261

258262
# pylint: disable=protected-access
259263
spans = jaeger_exporter._translate_to_jaeger(otel_spans)
@@ -367,7 +371,33 @@ def test_translate_to_jaeger(self):
367371
startTime=start_times[2] // 10 ** 3,
368372
duration=durations[2] // 10 ** 3,
369373
flags=0,
370-
tags=default_tags,
374+
tags=[
375+
jaeger.Tag(
376+
key="status.code",
377+
vType=jaeger.TagType.LONG,
378+
vLong=StatusCanonicalCode.OK.value,
379+
),
380+
jaeger.Tag(
381+
key="status.message",
382+
vType=jaeger.TagType.STRING,
383+
vStr=None,
384+
),
385+
jaeger.Tag(
386+
key="span.kind",
387+
vType=jaeger.TagType.STRING,
388+
vStr=trace_api.SpanKind.INTERNAL.name,
389+
),
390+
jaeger.Tag(
391+
key="otel.instrumentation_library.name",
392+
vType=jaeger.TagType.STRING,
393+
vStr="name",
394+
),
395+
jaeger.Tag(
396+
key="otel.instrumentation_library.version",
397+
vType=jaeger.TagType.STRING,
398+
vStr="version",
399+
),
400+
],
371401
),
372402
]
373403

exporter/opentelemetry-exporter-opencensus/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Unreleased
44

5+
- Drop support for Python 3.4'
6+
([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))
7+
58
## Version 0.12b0
69

710
Released 2020-08-14

exporter/opentelemetry-exporter-opencensus/setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ classifiers =
2828
License :: OSI Approved :: Apache Software License
2929
Programming Language :: Python
3030
Programming Language :: Python :: 3
31-
Programming Language :: Python :: 3.4
3231
Programming Language :: Python :: 3.5
3332
Programming Language :: Python :: 3.6
3433
Programming Language :: Python :: 3.7
3534
Programming Language :: Python :: 3.8
3635

3736
[options]
38-
python_requires = >=3.4
37+
python_requires = >=3.5
3938
package_dir=
4039
=src
4140
packages=find_namespace:

exporter/opentelemetry-exporter-otlp/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## Unreleased
44

5+
- Add instrumentation info to exported spans
6+
([#1095](https://github.com/open-telemetry/opentelemetry-python/pull/1095))
57
- Add metric OTLP exporter
68
([#835](https://github.com/open-telemetry/opentelemetry-python/pull/835))
79

exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/trace_exporter/__init__.py

+15-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from opentelemetry.proto.collector.trace.v1.trace_service_pb2_grpc import (
2828
TraceServiceStub,
2929
)
30+
from opentelemetry.proto.common.v1.common_pb2 import InstrumentationLibrary
3031
from opentelemetry.proto.trace.v1.trace_pb2 import (
3132
InstrumentationLibrarySpans,
3233
ResourceSpans,
@@ -168,9 +169,22 @@ def _translate_data(self, data) -> ExportTraceServiceRequest:
168169
if sdk_span.resource not in (
169170
sdk_resource_instrumentation_library_spans.keys()
170171
):
172+
if sdk_span.instrumentation_info is not None:
173+
instrumentation_library_spans = InstrumentationLibrarySpans(
174+
instrumentation_library=InstrumentationLibrary(
175+
name=sdk_span.instrumentation_info.name,
176+
version=sdk_span.instrumentation_info.version,
177+
)
178+
)
179+
180+
else:
181+
instrumentation_library_spans = (
182+
InstrumentationLibrarySpans()
183+
)
184+
171185
sdk_resource_instrumentation_library_spans[
172186
sdk_span.resource
173-
] = InstrumentationLibrarySpans()
187+
] = instrumentation_library_spans
174188

175189
self._collector_span_kwargs = {}
176190

exporter/opentelemetry-exporter-otlp/tests/test_otlp_trace_exporter.py

+13-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@
3030
TraceServiceServicer,
3131
add_TraceServiceServicer_to_server,
3232
)
33-
from opentelemetry.proto.common.v1.common_pb2 import AnyValue, KeyValue
33+
from opentelemetry.proto.common.v1.common_pb2 import (
34+
AnyValue,
35+
InstrumentationLibrary,
36+
KeyValue,
37+
)
3438
from opentelemetry.proto.resource.v1.resource_pb2 import (
3539
Resource as CollectorResource,
3640
)
@@ -46,6 +50,7 @@
4650
SimpleExportSpanProcessor,
4751
SpanExportResult,
4852
)
53+
from opentelemetry.sdk.util.instrumentation import InstrumentationInfo
4954
from opentelemetry.trace import SpanKind
5055

5156

@@ -142,6 +147,9 @@ def setUp(self):
142147
}
143148
)
144149
],
150+
instrumentation_info=InstrumentationInfo(
151+
name="name", version="version"
152+
),
145153
)
146154

147155
self.span.start()
@@ -209,6 +217,9 @@ def test_translate_spans(self):
209217
),
210218
instrumentation_library_spans=[
211219
InstrumentationLibrarySpans(
220+
instrumentation_library=InstrumentationLibrary(
221+
name="name", version="version"
222+
),
212223
spans=[
213224
CollectorSpan(
214225
# pylint: disable=no-member
@@ -282,7 +293,7 @@ def test_translate_spans(self):
282293
)
283294
],
284295
)
285-
]
296+
],
286297
)
287298
],
288299
),

exporter/opentelemetry-exporter-prometheus/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Unreleased
44

5+
- Drop support for Python 3.4
6+
([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))
7+
58
## Version 0.12b0
69

710
Released 2020-08-14

exporter/opentelemetry-exporter-prometheus/setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ classifiers =
2828
License :: OSI Approved :: Apache Software License
2929
Programming Language :: Python
3030
Programming Language :: Python :: 3
31-
Programming Language :: Python :: 3.4
3231
Programming Language :: Python :: 3.5
3332
Programming Language :: Python :: 3.6
3433
Programming Language :: Python :: 3.7
3534
Programming Language :: Python :: 3.8
3635

3736
[options]
38-
python_requires = >=3.4
37+
python_requires = >=3.5
3938
package_dir=
4039
=src
4140
packages=find_namespace:

exporter/opentelemetry-exporter-zipkin/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
([#1064](https://github.com/open-telemetry/opentelemetry-python/pull/1064))
1010
- Zipkin exporter report instrumentation info.
1111
([#1097](https://github.com/open-telemetry/opentelemetry-python/pull/1097))
12+
- Drop support for Python 3.4
13+
([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))
1214

1315
## Version 0.12b0
1416

exporter/opentelemetry-exporter-zipkin/setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ classifiers =
2828
License :: OSI Approved :: Apache Software License
2929
Programming Language :: Python
3030
Programming Language :: Python :: 3
31-
Programming Language :: Python :: 3.4
3231
Programming Language :: Python :: 3.5
3332
Programming Language :: Python :: 3.6
3433
Programming Language :: Python :: 3.7
3534
Programming Language :: Python :: 3.8
3635

3736
[options]
38-
python_requires = >=3.4
37+
python_requires = >=3.5
3938
package_dir=
4039
=src
4140
packages=find_namespace:

instrumentation/opentelemetry-instrumentation-boto/CHANGELOG.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Changelog
22

3-
## Unreleased
3+
## Unreleased
4+
5+
- Drop support for Python 3.4
6+
([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))
47

58
## Version 0.12b0
69

instrumentation/opentelemetry-instrumentation-boto/setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ classifiers =
2828
License :: OSI Approved :: Apache Software License
2929
Programming Language :: Python
3030
Programming Language :: Python :: 3
31-
Programming Language :: Python :: 3.4
3231
Programming Language :: Python :: 3.5
3332
Programming Language :: Python :: 3.6
3433
Programming Language :: Python :: 3.7
3534
Programming Language :: Python :: 3.8
3635

3736
[options]
38-
python_requires = >=3.4
37+
python_requires = >=3.5
3938
package_dir=
4039
=src
4140
packages=find_namespace:

instrumentation/opentelemetry-instrumentation-botocore/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Unreleased
44

5+
- Drop support for Python 3.4
6+
([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))
7+
58
## Version 0.12b0
69

710
Released 2020-08-14

0 commit comments

Comments
 (0)