Speaker
Abstract
Profilers help to analyze performance bottlenecks of your application - if you know which to use and how to work with them.
There are many open-source profilers, like async-profiler or JMC. This talk will give you insights into these tools, focusing on:
- Understanding the basic concepts of profiling like flame graphs, ...
- Usage of async-profiler and JMC
- Advantages and disadvantages of the different tools
Interview
My current focus is that I want to make profiling easier for everyone. So what I'm mostly doing is working behind the scenes in the OpenJDK, creating a new profiling API that makes it easier to develop profiling tools. This makes it safer because we've seen that the current profiling tools use an undocumented API of the OpenJDK.
I'm working on the OpenJDK and a proposal for a new profiling APi. Furthermore, I worked on ap-loader, which wraps the async-profiler and on a new profiling UI that is integrated into an IntelliJ plugin - so it can profile applications directly from the IntelliJ IDE without using any commercial plugins. This UI is based on Firefox Profiler and I use it almost daily to profile and to view profiling data.
My motivation for this talk and for the other talks I've given is the same as the motivation for my blog posts. I want to make profiling more accessible. Currently, I see that we have many nice profiling tools like JDK Mission Control, but we have the problem that we don't have the educative resources for this.
We either have resources that are really top level that say, there's this tool, or we have resources that say, you need this API. I want to bridge this gap, and in my talk I want to test this top level information, but then go deeper down into the depths of OpenJDK and show you how it's really done. I think the first thing that you need to understand is that profiling isn't magic. Profiling is just a tool in your toolbox that you can use.
I think that the persona would be a person that knows Java quite well. It's a person that wants to know more about profiling, that wants to get into profiling and wants to see what open source offers.
There's also the person that wants to go down this rabbit hole, see how it's all done, and also wants to see how they could write their own profile - to see how profilers work, because that's one of the great things in the open source world. You can just look into it, modify it and even do your own.
It's basically people that want to know more about profiling and want to go down and see how it really is implemented.
That profiling isn't magic. It's just another thing in your toolbox, like debuggers.
Topics
QCon London 2023 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.
Part of the track
Debugging Production Hosted by Abby Bangser Principal Engineer @SyntassoFrom the same track
Tuesday 28 March
10:35 Churchill (Ground Fl.) Session debugging Deconstructing an Abstraction to Reconstruct an Outage Chris Sinjakli Infra Engineer @planetscaledata Abstractions are what allow us to build the complex applications that we all use day-to-day. For example, it's rare for us to care about the precise details of on-disk storage when building an application — that's why databases exist! 11:50 Fleming (3rd Fl.) Session application security Celebrity Vulnerabilities: Effective Response to Critical Production Threats Alyssa Miller Chief Information Security Officer @EpiqGlobal Log4Shell, Spring4Shell, are you tired of being told to drop everything and respond to the next critical vulnerability in an open-source package? Chances are, if you work in the engineering team of any software development organization, the answer is yes. 13:40 Churchill (Ground Fl.) Session web development Observable Frontends Jessica Kerr Principal Developer Evangelist @honeycombio As an industry, we’ve made big strides in working within complexity in microservices: we build in observability with OpenTelemetry standards. But what about client-side? This is the most inscrutable part of our system, because it runs on anyone’s computer. 14:55 Rutherford (4th Fl.) Unconference Unconference: Debugging in Production Shane Hastie Global Delivery Lead @SoftEd, Lead Editor for Culture & Methods @InfoQ What is an unconference? An unconference is a participant-driven meeting. Attendees come together, bringing their challenges and relying on the experience and know-how of their peers for solutions. 16:10 Churchill (Ground Fl.) Session Java Your Java Application Is Slow? Check Out These Open-Source Profilers Johannes Bechberger Software Developer @SAP Profilers help to analyze performance bottlenecks of your application - if you know which to use and how to work with them. There are many open-source profilers, like async-profiler or JMC. This talk will give you insights into these tools, focusing on: 17:25 Mountbatten (6th Fl.) Session No Instrumentation Observability With eBPF - Are We There Yet? Anna Kapuścińska Software Engineer @Isovalent Gaining interest for the past few years, eBPF promises zero-instrumentation observability with low performance overhead. Sounds like a dream, but are we there already?