Linus’s law states “Given enough eyeballs, all bugs are shallow.” This is very true, however, if a problem is obscured, the more eyes won’t help until they can see through the blocker. This talk addresses tracing, how and when to use it, and how it can see through these issues. It is re-enforced with a real-world example of how tracing solved a performance issue in Trace Compass. We will discuss tracing, and how it plays in a world where profiling and debugging already exist.
Eclipse Trace Compass will be used to visualize the results and guide the developer to solve their issue. This is a trace analyzer that can take many data sources and correlate them on a same time basis.
This talk will compare the summarizing views of the flame graph and density view. It will also detail when certain views are more interesting to use than others. It finally will show how to use the results of the trace viewer to communicate the observed problem to peers.
Finally the talk will discuss troubleshooting a large monolithic project without sufficient logs. This is a practical demo of how even with no tracing in the application level, system level tracing can infer behaviours.