This sounds like the start of a classical bar joke, but was actually the day my colleagues and I were checking-in for our trip to Delhi. That day, while looking for the trip in the Expedia™ App, we experienced some latency when retrieving the trips list. When we contacted the Trips team to report the latency, the maintainers of the flights service wondered why it was taking so long to respond. They started with Haystack to view the relevant distributed traces.

Distributed Tracing is an observability tool for understanding latencies and error requests that traverse distributed systems. Its model is based on two main concepts: traces and spans. A trace is a hierarchical tree of spans distributed over a timeline, describing the whole operation in a system, whereas spans represent meaningful operations between components of the system (e.g. a database call or an http request) linked by a parent-child relationship. One trace can contain many spans but one span can only belong to one trace and can have zero or one parent.

#haystack #distributed-tracing #software-engineering #java #zipkin

How we got Zipkin Brave to accept UUIDs
1.45 GEEK