NOTE All other debug namespace APIs EXCEPT FOR the following APIs are restricted with rpc.unsafe-debug.disable
flag:
debug_dumpBlock, debug_dumpStateTrie, debug_getBlockRlp, debug_getModifiedAccountsByHash, debug_getModifiedAccountsByNumber, debug_getBadBlocks, debug_getModifiedStorageNodesByNumber
debug_freeOSMemory
Returns unused memory to the OS.
{"method": "debug_freeOSMemory"}
Parameters
None
Return Value
None
Example
Console
> debug.freeOSMemory()
null
HTTP RPC
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_freeOSMemory","id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":null}
debug_gcStats
Returns GC statistics.
{"method": "debug_gcStats", "params": []}
Parameters
None
Return Value
See https://golang.org/pkg/runtime/debug/#GCStats for information about the fields of the returned object.
Example
Console
> debug.gcStats()
{
LastGC: "2018-10-08T14:27:34.030659164Z",
NumGC: 40,
Pause: [4582691, 2863122, 1578188, 459447, 197699, 1688008, 678298, 117924, 6871625, 298523, 1281135, 616022, 2513029, 265029, 704801, 685752, 383625, 677657, 1135878, 1730593, 603201, 2667691, 1901266, 1035406, 1624233, 1112526, 397637, 158158, 596931, 2675197, 4421722, 745039, 847417, 4423680, 653433, 281915, 605418, 8127664, 138283, 1810200],
PauseEnd: ["2018-10-08T14:27:34.030659164Z", "2018-10-08T14:25:34.032422737Z", "2018-10-08T14:23:34.015065773Z", "2018-10-08T14:21:34.031893519Z", "2018-10-08T14:19:33.791324489Z", "2018-10-08T14:19:01.028883257Z", "2018-10-08T14:17:01.054270356Z", "2018-10-08T14:15:01.032846304Z", "2018-10-08T14:13:01.07313761Z", "2018-10-08T14:11:01.042653342Z", "2018-10-08T14:09:01.034458873Z", "2018-10-08T14:07:01.022701083Z", "2018-10-08T14:05:01.046456415Z", "2018-10-08T14:03:01.030075376Z", "2018-10-08T14:01:01.027838941Z", "2018-10-08T13:59:01.033363592Z", "2018-10-08T13:57:01.032853252Z", "2018-10-08T13:55:01.06825876Z", "2018-10-08T13:53:01.071426346Z", "2018-10-08T13:51:01.099618831Z", "2018-10-08T13:49:01.016314071Z", "2018-10-08T13:47:01.031721975Z", "2018-10-08T13:45:01.029069094Z", "2018-10-08T13:43:01.026156953Z", "2018-10-08T13:41:01.019240344Z", "2018-10-08T13:39:01.026699743Z", "2018-10-08T13:37:01.02642045Z", "2018-10-08T13:35:00.997556262Z", "2018-10-08T13:33:01.023605742Z", "2018-10-08T13:31:01.025436347Z", "2018-10-08T13:29:01.024808072Z", "2018-10-08T13:27:01.01508169Z", "2018-10-08T13:25:01.023461518Z", "2018-10-08T13:23:01.0144789Z", "2018-10-08T13:21:01.022121597Z", "2018-10-08T13:19:30.748905748Z", "2018-10-08T13:19:29.588457028Z", "2018-10-08T13:19:29.461820065Z", "2018-10-08T13:19:29.436792038Z", "2018-10-08T13:19:29.408990947Z"],
PauseQuantiles: null,
PauseTotal: 64156063
}
HTTP RPC
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_gcStats","params":[],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":{"LastGC":"2018-10-15T00:42:08.2787037Z","NumGC":14,"PauseTotal":292805500,"Pause":[3384700,60164200,259500,354600,62331200,241700,29701500,4868200,8242800,35177700,27621100,12647400,38250100,9560800],"PauseEnd":["2018-10-15T00:42:08.2787037Z","2018-10-15T00:40:19.3302813Z","2018-10-15T00:38:41.2202755Z","2018-10-15T00:36:41.2785669Z","2018-10-15T00:36:18.3196569Z","2018-10-15T00:34:48.2073609Z","2018-10-15T00:33:01.3309817Z","2018-10-15T00:31:28.3465898Z","2018-10-15T00:30:05.4245261Z","2018-10-15T00:28:58.6377593Z","2018-10-15T00:27:55.315809Z","2018-10-15T00:27:45.075085Z","2018-10-15T00:27:44.9164574Z","2018-10-15T00:27:44.8406572Z"],"PauseQuantiles":null}}
debug_memStats
Returns detailed runtime memory statistics.
{"method": "debug_memStats", "params": []}
Parameters
None
Return Value
See https://golang.org/pkg/runtime/#MemStats for information about the fields of the returned object.
Example
Console
> debug.memStats()
{
Alloc: 132244280,
BuckHashSys: 1922010,
BySize: [{
Frees: 0,
Mallocs: 0,
Size: 0
}, {
Frees: 496599,
Mallocs: 499580,
Size: 8
},
...
StackSys: 1195456,
Sys: 107909880,
TotalAlloc: 2105944960
}
HTTP RPC
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_memStats","params":[],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":{"Alloc":265525152,"TotalAlloc":3548997112,"Sys":756177144,"Lookups":2165,"Mallocs":25572268,"Frees":24933943,
...
"Frees":36},{"Size":16384,"Mallocs":123,"Frees":122},{"Size":18432,"Mallocs":11,"Frees":3},{"Size":19072,"Mallocs":2,"Frees":1}]}}
debug_metrics
Retrieves all the known system metrics collected by the node.
{"method": "debug_metrics", "params": [raw]}
Parameters
true
If raw data is output as it is, false
If not
Return Value
The structured metrics collected by the node.
Example
Console
> debug.metrics(true)
debug.metrics(true)
{
...
chain: {
inserts: {
AvgRate01Min: 0.9999999999999988,
AvgRate05Min: 0.9999950225324217,
AvgRate15Min: 0.9963720514881304,
MeanRate: 0.9936029165254054,
Overall: 5122,
Percentiles: {
20: 6266950,
5: 5950439.75,
50: 6682947,
80: 7255046,
95: 9365905.249999994
}
}
},
...
system: {
disk: {
readcount: {
AvgRate01Min: 56.44435697476854,
AvgRate05Min: 55.584662531212246,
AvgRate15Min: 55.34119664885956,
MeanRate: 47.632311872105376,
Overall: 245543
},
readdata: {
AvgRate01Min: 12317.25061664709,
AvgRate05Min: 12166.068673100728,
AvgRate15Min: 12672.361505927352,
MeanRate: 15647.98456421136,
Overall: 80664847
},
writecount: {
AvgRate01Min: 181.87825585990814,
AvgRate05Min: 179.42841085089034,
AvgRate15Min: 177.29930723824663,
MeanRate: 145.6261462083422,
Overall: 750698
},
writedata: {
AvgRate01Min: 24683.661802447285,
AvgRate05Min: 24302.28523786675,
AvgRate15Min: 24142.37073674183,
MeanRate: 25207.081062276873,
Overall: 129941675
}
}
}
HTTP RPC
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_metrics","params":[true],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":{"blockchain":{"block":{"tx":{"counter":{"Overall":98307},"rate":{"AvgRate01Min":19.99999999999893,"AvgRate05Min":19.999669059400787,"AvgRate15Min":19.91097896398045,"MeanRate":16.321034565305364,"Overall":98307}}},"head":{"blocknumber":"Unknown metric type"}},"bridgeTxpool":{"refuse":{"Overall":0}}, ...{"AvgRate01Min":0.9999999999999988,"AvgRate05Min":0.9999997215208508,"AvgRate15Min":0.9986124269288207,"MeanRate":0.9946322927570416,"Overall":5991,"Percentiles":{"20":6229668,"5":5986862.3,"50":6585653,"80":6864326.2,"95":7486187.249999999}}}}
debug_setGCPercent
Sets the garbage collection target percentage. It returns the previous setting. A negative value disables GC.
Parameters
Garbage collection target percentage.
Return Value
Previous garbage collection target percentage.
Example Console
> debug.setGCPercent(50)
100
> debug.setGCPercent(70)
50
> debug.setGCPercent(100)
70
HTTP RPC
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0", "method":"debug_setGCPercent", "params":[100],"id":73}' https://public-en-baobab.klaytn.net
{
"jsonrpc":"2.0",
"id":73,
"result":70
}
debug_stacks
Returns a printed representation of the stacks of all goroutines.
{"method": "debug_stacks", "params": []}
Parameters
None
Return Value
The stack information of all goroutines.
Example
Console
> debug.stacks()
goroutine 163577 [running]:
/api/debug.(*HandlerT).Stacks(0xc4200a4780, 0x0, 0x0)
/klaytn/build/_workspace/src/github.com/klaytn/klaytn/api/debug/api.go:173 +0x74
reflect.Value.call(0xc4213a80c0, 0xc42134d1f0, 0x13, 0xf050ec, 0x4, 0xc4233957a0, 0x1, 0x1, 0x474401, 0xc4233956c8, ...)
...
HTTP RPC
$ curl -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"debug_stacks","params":[],"id":1}' https://public-en-baobab.klaytn.net
{"jsonrpc":"2.0","id":1,"result":"goroutine 76176 [running]:\ngithub.com/klaytn/klaytn/api/debug.(*HandlerT).Stacks(0xc0002ce050, 0x0, 0x0)\n\t/private/tmp/klaytn-20181001-13887-zbyv2z/build/_workspace/src/github.com/klaytn/klaytn/api/debug/api.go:173 +0x74\nreflect.Value.call(0xc01867c660, 0xc000231bd8, 0x13, 0x4b26ca7, 0x4, 0xc008d8b7c0, 0x1, 0x1, 0x30, 0xc0323211d0 ..."}