Profiler
A profiler is software that measures and analyzes program execution behavior and resource consumption to characterize performance and identify bottlenecks.
Troubleshooting Java, Second Edition
A profiler is a software tool that measures and records runtime behavior such as execution time, resource usage, and call activity.
- How it is used
- Guides investigations of hidden execution, abnormal CPU or memory use, latency, locks, deadlocks, and SQL behavior.
- How deep it goes
- Explains sampling, detailed profiling, resource monitoring, SQL interception, lock profiling, and thread dumps, while requiring follow-up diagnosis.
- Examples
- Uses VisualVM, producer-consumer threads, memory leaks, generated SQL, cross joins, locks, deadlocks, and thread dumps.
- What you can do after
- Diagnose/debug with VisualVM by sampling execution, narrowing code, measuring methods, inspecting resources, retrieving SQL, and escalating to lock or thread-dump analysis.
Read how Troubleshooting Java, Second Edition explains profiler →
100 Go Mistakes and How to Avoid Them
A profiler is a software tool that collects and analyzes runtime measurements such as execution time, memory use, or resource consumption of an application.
- How it is used
- Diagnoses application performance issues, contention, blocked goroutines, and possible memory leaks through runtime profiles.
- How deep it goes
- Explains profile types, HTTP activation, and CPU sampling, then shows commands for collecting and inspecting profiles.
- Examples
- Shows an HTTP server exposing pprof, a benchmark saving a CPU profile, and a command opening a saved profile.
- What you can do after
- Apply it via Go's pprof to collect CPU profiles and inspect where an application spends time.
Read how 100 Go Mistakes and How to Avoid Them explains profiler →
The Art of Code
A performance profiler measures and attributes software execution time or resource consumption to program operations.
- How it is used
- Uses runtime measurements to investigate efficient code, memory footprints, energy consumption, and environmental impact.
- How deep it goes
- Connects profiling to CPU behavior and memory allocation, but stops short of explaining setup or trace interpretation.
- Examples
- Names VisualVM, JDK Flight Recorder, Async-Profiler, py-spy, PerfView, pprof, cargo-flamegraph, and Clinic.js.
- What you can do after
- Diagnoses targeted performance or resource issues with language-specific profilers while accounting for overhead and setup costs.
Related concepts
- VisualVMincludes · VisualVM is a Java monitoring and profiling tool for inspecting running applications, JVM behavior, resource usage, and performance.
- profilingincludes · Profiling is the measurement and analysis of a program’s runtime behavior and resource use to characterize performance and identify bottlenecks.
- memory usageuses · Memory usage is the amount of computer memory occupied or allocated by a program, process, data, or computation during operation.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.


