Skip to content

Commit 071b1b3

Browse files
authored
Jaeger exporter report instrumentation info (#1098)
1 parent 1e34279 commit 071b1b3

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

Diff for: exporter/opentelemetry-exporter-jaeger/CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Changelog
22

33
## Unreleased
4-
54
- Drop support for Python 3.4
65
([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099))
6+
- Report instrumentation info
7+
([#1098](https://github.com/open-telemetry/opentelemetry-python/pull/1098))
78

89
## Version 0.12b0
910

Diff for: exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/__init__.py

+14
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,20 @@ def _translate_to_jaeger(spans: Span):
214214
]
215215
)
216216

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

Diff for: exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter.py

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

2829

@@ -221,6 +222,9 @@ def test_translate_to_jaeger(self):
221222
otel_spans[2].start(start_time=start_times[2])
222223
otel_spans[2].resource = Resource({})
223224
otel_spans[2].end(end_time=end_times[2])
225+
otel_spans[2].instrumentation_info = InstrumentationInfo(
226+
name="name", version="version"
227+
)
224228

225229
# pylint: disable=protected-access
226230
spans = jaeger_exporter._translate_to_jaeger(otel_spans)
@@ -334,7 +338,33 @@ def test_translate_to_jaeger(self):
334338
startTime=start_times[2] // 10 ** 3,
335339
duration=durations[2] // 10 ** 3,
336340
flags=0,
337-
tags=default_tags,
341+
tags=[
342+
jaeger.Tag(
343+
key="status.code",
344+
vType=jaeger.TagType.LONG,
345+
vLong=StatusCanonicalCode.OK.value,
346+
),
347+
jaeger.Tag(
348+
key="status.message",
349+
vType=jaeger.TagType.STRING,
350+
vStr=None,
351+
),
352+
jaeger.Tag(
353+
key="span.kind",
354+
vType=jaeger.TagType.STRING,
355+
vStr=trace_api.SpanKind.INTERNAL.name,
356+
),
357+
jaeger.Tag(
358+
key="otel.instrumentation_library.name",
359+
vType=jaeger.TagType.STRING,
360+
vStr="name",
361+
),
362+
jaeger.Tag(
363+
key="otel.instrumentation_library.version",
364+
vType=jaeger.TagType.STRING,
365+
vStr="version",
366+
),
367+
],
338368
),
339369
]
340370

0 commit comments

Comments
 (0)