|
|
|
Back to newsletter 282 contents
"Tracing" tracks request execution across multiple frameworks and services. "Profiling" looks at what proportion of a specific resource (eg time or CPU time or allocation) that methods use in an application. You typically use traces to find where requests are being delayed most; you typically use profiles to find where you can improve the efficiency of an application. The common workflow is to use traces to see where to focus your profiling analyses, then profile that part of the system to identify code or configuration improvements.
These two techniques, tracing and profiling, assist each other yet are rarely integrated. But profiling also let's you infer what is executing at particular times, which would be very useful for tracing. Now the Elastic Java agent team (in which I currently work) have made available their open source integration of these two technologies (called inferred spans) as a standalone component. It's pretty cool to use profile samples to help trace request flow in this automated way!
Now on to all the usual newsletter list of links, tips, tools, news and articles, and as usual I've extracted all the tips into this month's tips page
Java performance tuning related news
Java performance tuning related tools
Back to newsletter 282 contents