Replies: 5 comments 9 replies
-
Where is the problem? Is there any particular reason to bring this up now? My inclination would be to wait until someone shows up who wants to implement the Otel API, and then they can implement it and we'll review it? |
Beta Was this translation helpful? Give feedback.
-
Just some additional details:
Put differently,
A large portion of these differences boil down to
Most differences in the
A thing that wanted to do for a while was to come up with a solution better than "magic" strings. The rough idea I was thinking of was something along the lines of a type registry such that a crate such as |
Beta Was this translation helpful? Give feedback.
-
Pasting something from the today's SIG calls: .NET Reasons for favoring the existing tracing API instead of newly making OTel Tracing API:
|
Beta Was this translation helpful? Give feedback.
-
I like the I love the OTel model and vision, especially around distributed tracing. I would love to see I also think it would be cool to see |
Beta Was this translation helpful? Give feedback.
-
I finally got around to looking at these benchmarks. My conclusion after looking at the data is that the expense seems to reside in the Here's a flame graph of the full run: The use of hash maps ( |
Beta Was this translation helpful? Give feedback.
-
Problem
We are currently support two sets of APIs. The Opentelemetry API(Otel for short) and Tokio tracing API(through tracing-opentelemetry crate). Given the popularity of the tracing eco-system we certainly want to support an integration between tracing and opentelemetry. However, we need to decide whether to support Otel API on the long run.
Difference
This section will cover the difference between tracing API and opentelemetry API to my best knowledge. Feel free to chime in if you think I made a mistake and/or missed anything
Span
Both models has the concept of
Span
. They both have the concept of theSpanId
, parent span. However, the metadata between those two models varies.Tracing span's metdata usually include Metadata like callsite, verbosity level and a list of fields that contains key value pairs.
The Otel spans contains
SpanContext
, which covers theSpanId
and esbalished the link between spans and it's partent span. Itsattribute
s are similar to tracing span's fields. Additionaly it contains links to other spans and other metadata.So far we have been handlding those difference by converting the fields from tracing API to Otel span using magic words. For example if user puts
otel.kind
as the key of the field. We will convert the value to span kind in Otel span. For the field that doesn't map to metadata of the Otel spans, we will emit them asAttribute
of the span.Event
Another important concept within tracing API is
Event
, whichBut it exists within the context of span and have a list of fields. This concept is almost identical with the
Event
in Otel spans.Beta Was this translation helpful? Give feedback.
All reactions