Using Pprof in Piped
Piped provides built-in support for pprof, a tool for visualization and analysis of profiling data. It’s a part of the standard Go library.
In Piped, several routes are registered to serve the profiling data in a format understood by the pprof tool. Here are the routes:
/debug/pprof/
: This route serves an index page that lists the available profiling data./debug/pprof/profile
: This route serves CPU profiling data./debug/pprof/trace
: This route serves execution trace data.
You can access these routes to get the profiling data. For example, to get the CPU profiling data, you can access the /debug/pprof/profile
route.
Note that using these features in a production environment may impact performance.
This document explains the basic usage of pprof in Piped. For more detailed information or specific use cases, please refer to the official Go documentation.
How to use pprof
-
Access the pprof index page
curl http://localhost:9085/debug/pprof/
This will return an HTML page that lists the available profiling data.
-
Get the CPU Profile
curl http://localhost:9085/debug/pprof/profile > cpu.pprof
This will save the CPU profiling data to a file named cpu.pprof. You can then analyze this data using the pprof tool:
go tool pprof cpu.pprof
-
Get the Execution Trace
curl http://localhost:9085/debug/pprof/trace > trace.out
This will save the execution trace data to a file named trace.out. You can then view this trace using the go tool trace command:
go tool trace trace.out
Please replace localhost:9085 with the actual address and port of your Piped’s admin server.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.