mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-08-02 02:52:18 +08:00
Zipkin: Fix OTLP events to Zipkin annotations translation (#1161)
This commit is contained in:
@ -4,6 +4,7 @@
|
||||
|
||||
- Zipkin exporter now accepts a ``max_tag_value_length`` attribute to customize the
|
||||
maximum allowed size a tag value can have. ([#1151](https://github.com/open-telemetry/opentelemetry-python/pull/1151))
|
||||
- Fixed OTLP events to Zipkin annotations translation. ([#1161](https://github.com/open-telemetry/opentelemetry-python/pull/1161))
|
||||
|
||||
## Version 0.13b0
|
||||
|
||||
|
@ -237,20 +237,25 @@ class ZipkinSpanExporter(SpanExporter):
|
||||
tags.update(self._extract_tags_from_dict(span.resource.attributes))
|
||||
return tags
|
||||
|
||||
def _extract_annotations_from_events(
|
||||
self, events
|
||||
): # pylint: disable=R0201
|
||||
return (
|
||||
[
|
||||
def _extract_annotations_from_events(self, events):
|
||||
if not events:
|
||||
return None
|
||||
|
||||
annotations = []
|
||||
for event in events:
|
||||
attrs = {}
|
||||
for key, value in event.attributes.items():
|
||||
if isinstance(value, str):
|
||||
value = value[: self.max_tag_value_length]
|
||||
attrs[key] = value
|
||||
|
||||
annotations.append(
|
||||
{
|
||||
"timestamp": _nsec_to_usec_round(e.timestamp),
|
||||
"value": e.name,
|
||||
"timestamp": _nsec_to_usec_round(event.timestamp),
|
||||
"value": json.dumps({event.name: attrs}),
|
||||
}
|
||||
for e in events
|
||||
]
|
||||
if events
|
||||
else None
|
||||
)
|
||||
)
|
||||
return annotations
|
||||
|
||||
|
||||
def _nsec_to_usec_round(nsec):
|
||||
|
@ -223,7 +223,15 @@ class TestZipkinSpanExporter(unittest.TestCase):
|
||||
"annotations": [
|
||||
{
|
||||
"timestamp": event_timestamp // 10 ** 3,
|
||||
"value": "event0",
|
||||
"value": json.dumps(
|
||||
{
|
||||
"event0": {
|
||||
"annotation_bool": True,
|
||||
"annotation_string": "annotation_test",
|
||||
"key_float": 0.3,
|
||||
}
|
||||
}
|
||||
),
|
||||
}
|
||||
],
|
||||
"debug": True,
|
||||
|
Reference in New Issue
Block a user