Profiling
debug_blockProfile
Turns on block profiling for the given duration and writes profile data to disk. It uses a profile rate of 1 for most accurate information. If a different rate is desired, set the rate and write the profile manually using debug_writeBlockProfile.
Console
debug.blockProfile(file, seconds)
RPC
{"method": "debug_blockProfile", "params": [string, number]}
Parameters
file
string
The filename for the profiling result.
seconds
int
The profiling duration in seconds.
Return Value
None
Example
Console
HTTP RPC
debug_cpuProfile
Turns on CPU profiling for the given duration and writes profile data to disk.
Console
debug.cpuProfile(file, seconds)
RPC
{"method": "debug_cpuProfile", "params": [string, number]}
Parameters
file
string
The filename for the profiling result.
seconds
int
The profiling duration in seconds.
Return Value
None
Example
Console
HTTP RPC
debug_mutexProfile
Turns on mutex profiling for nsec (nanosecond) and writes profile data to file. It uses a profile rate of 1 for most accurate information. If a different rate is desired, set the rate and write the profile manually.
Console
debug.mutexProfile(file, seconds)
RPC
{"method": "debug_mutexProfile", "params": [string, number]}
Parameters
file
string
The filename for the profiling result.
seconds
int
The profiling duration in seconds.
Return Value
None
Example
Console
HTTP RPC
debug_isPProfRunning
Returns true
if the pprof HTTP server is running and false
otherwise.
Console
debug.isPProfRunning()
RPC
{"method": "debug_isPProfRunning", "params": []}
Parameters
None
Return Value
bool
true
if the pprof HTTP server is running and false
otherwise.
Example
Console
HTTP RPC
debug_setBlockProfileRate
Sets the rate (in samples/sec) of goroutine block profile data collection. A non-zero rate enables block profiling, setting it to zero stops the profile. Collected profile data can be written using debug_writeBlockProfile.
Console
debug.setBlockProfileRate(rate)
RPC
{"method": "debug_setBlockProfileRate", "params": [number]}
Parameters
rate
int
The profiling rate in samples/sec.
Return Value
None
Example
Console
HTTP RPC
debug_startCPUProfile
Turns on CPU profiling indefinitely, writing to the given file.
Console
debug.startCPUProfile(file)
RPC
{"method": "debug_startCPUProfile", "params": [string]}
Parameters
file
string
The filename for the profiling output.
Return Value
None
Example
Console
HTTP RPC
debug_stopCPUProfile
Turns off CPU profiling.
Console
debug.stopCPUProfile()
RPC
{"method": "debug_stopCPUProfile", "params": []}
Parameters
None
Return Value
None
Example
Console
HTTP RPC
debug_startPProf
Starts the pprof HTTP server. The running pprof server can be accessed by (when the default configuration, i.e., localhost:6060, is used):
http://localhost:6060/debug/pprof (for the pprof results)
http://localhost:6060/memsize/ (for the memory size reports)
http://localhost:6060/debug/vars (for the metrics)
Console
debug.startPProf(address, port)
RPC
{"method": "debug_startPProf", "params": [string, number]}
Parameters
address
string
(optional) pprof HTTP server listening interface (default: "127.0.0.1").
port
int
(optional) pprof HTTP server listening port (default: 6060).
Return Value
None
Example
Console
HTTP RPC
debug_stopPProf
Stops the pprof HTTP server.
Console
debug.stopPProf()
RPC
{"method": "debug_stopPProf", "params": []}
Parameters
None
Return Value
None
Example
Console
HTTP RPC
debug_writeBlockProfile
Writes a goroutine blocking profile to the given file.
Console
debug.writeBlockProfile(file)
RPC
{"method": "debug_writeBlockProfile", "params": [string]}
Parameters
file
string
The filename for the profiling output.
Return Value
None
Example
Console
HTTP RPC
debug_writeMemProfile
Writes an allocation profile to the given file. Note that the profiling rate cannot be set through the API, it must be set on the command line using the --memprofilerate
flag.
Console
debug.writeMemProfile(file)
RPC
{"method": "debug_writeMemProfile", "params": [string]}
Parameters
file
string
The filename for the profiling output.
Return Value
None
Example
Console
HTTP RPC
debug_writeMutexProfile
Writes a goroutine blocking profile to the given file.
Console
debug.writeMutexProfile(file)
RPC
{"method": "debug_writeMutexProfile", "params": [string]}
Parameters
file
string
The filename for the profiling output.
Return Value
None
Example
Console
HTTP RPC
Last updated