Hacker News new | ask | show | jobs
by EdSchouten 732 days ago
> Its not a hard problem, [...]. At its core its structured events that carry two GUIDs along with them: a trace ID and a parent event ID. It is just building a tree.

I've always wondered, what's the point of the trace ID? What even is a trace?

- It could be a single database query that's invoked on a distributed database, giving you information about everything that went on inside the cluster processing that query.

- Or it could be all database calls made by a single page request on a web server.

- Or it could be a collection of page requests made by a single user as part of a shopping checkout process. Each page request could make many outgoing database calls.

Which of these three you should choose merely depends on what you want to visualize at a given point in time. My hope is that at some point we get a standard for tracing that does away with the notion of trace IDs. Just treat everything going on in the universe as a graph of inter-connected events.

1 comments

I think they meant "an event ID and a parent event ID".
I actually meant trace ID and parent event ID (and ID was inferred). Parent comment is correct in that trace ID isnt technically needed, and is in fact quite controversial. Its an implementation level protocol optimization though, and unfortunately not an objective one. It creates an arbitrary grouping of these annotations - which is entirely subjective, and the spec struggles to reconcile - but its primarily because the technology to aggregate and/or query them would be far more difficult if you didn't keep that simple GUID.

It does have one positive benefit beyond that. If you lose data, or have disparate systems, its pretty easy to keep the Trace ID intact and still have better instrumentation than otherwise.

I am absolutely not seeing the problem you describe, I appreciate the ability to have a single ID for stuff that might go through several microservices. Helps us discover all data related to a single request-like entity in case of trouble. It already helped us trace semi-failed complex processes related to separate customers and we were able to manually fix things in a matter of minutes.

As said in other replies to you, I am still not at all clear what your issue with OTel is.

3 GUIDs then, event ID was inferred. I see.