Skip to main content

Tracing and Profiling Java (and Native) Applications in Production

Kaushik Srenevasan (Twitter)
Java & JVM
Average rating: ****.
(4.00, 4 ratings)

The ability to understand the behavior of a software system so as to be able to answer questions about its health, while important has always been a challenge for software developers. System tools or language debuggers and profilers tend to be myopic in their scope and cumbersome to understand, setup and use; More so when applied to a distributed system. Specifically, requiring recompilation of software with additional instrumentation, adding a non-trivial performance overhead, and, equally importantly, requiring an elaborate setup renders tools unfit to be used in production.

This talk describes a new, low overhead, full stack tool (based on the Linux perf profiler and infrastructure built into the Hotspot JVM) we’ve built at Twitter to help solve this problem of dynamically profiling and tracing the behavior of the kernel and applications (including managed runtimes like the JVM) in production.

Photo of Kaushik Srenevasan

Kaushik Srenevasan


Kaushik Srenevasan is the Lead on the VM Diagnostics team at Twitter,
where he hacks on the Hotspot JVM, on, among other things, improving
its observability. Before joining Twitter he authored the Chakra
JavaScript runtime’s AMD64 backend compiler and worked on the .NET CLR at

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)