internal/debug: add memStats and gcStats to API

pull/2235/head
Felix Lange 9 years ago
parent bcd8aeefdd
commit bea56d84e5
  1. 15
      internal/debug/api.go
  2. 10
      rpc/javascript.go

@ -27,6 +27,7 @@ import (
"os/user" "os/user"
"path/filepath" "path/filepath"
"runtime" "runtime"
"runtime/debug"
"runtime/pprof" "runtime/pprof"
"strings" "strings"
"sync" "sync"
@ -69,6 +70,20 @@ func (*HandlerT) BacktraceAt(location string) error {
return glog.GetTraceLocation().Set(location) return glog.GetTraceLocation().Set(location)
} }
// MemStats returns detailed runtime memory statistics.
func (*HandlerT) MemStats() *runtime.MemStats {
s := new(runtime.MemStats)
runtime.ReadMemStats(s)
return s
}
// GcStats returns GC statistics.
func (*HandlerT) GcStats() *debug.GCStats {
s := new(debug.GCStats)
debug.ReadGCStats(s)
return s
}
// CpuProfile turns on CPU profiling for nsec seconds and writes // CpuProfile turns on CPU profiling for nsec seconds and writes
// profile data to file. // profile data to file.
func (h *HandlerT) CpuProfile(file string, nsec uint) error { func (h *HandlerT) CpuProfile(file string, nsec uint) error {

@ -327,6 +327,16 @@ web3._extend({
params: 0, params: 0,
outputFormatter: console.log outputFormatter: console.log
}), }),
new web3._extend.Method({
name: 'memStats',
call: 'debug_memStats',
params: 0,
}),
new web3._extend.Method({
name: 'gcStats',
call: 'debug_gcStats',
params: 0,
}),
new web3._extend.Method({ new web3._extend.Method({
name: 'cpuProfile', name: 'cpuProfile',
call: 'debug_cpuProfile', call: 'debug_cpuProfile',

Loading…
Cancel
Save