mirror of
https://github.com/google/gops.git
synced 2025-02-19 19:59:55 +02:00
fix gcstats output
This commit is contained in:
parent
852c757979
commit
3a0975c5cf
@ -12,6 +12,8 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"runtime/debug"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -20,6 +22,9 @@ const (
|
|||||||
|
|
||||||
// GC runs the garbage collector.
|
// GC runs the garbage collector.
|
||||||
GC = byte(0x2)
|
GC = byte(0x2)
|
||||||
|
|
||||||
|
// GCStats prints GC stats.
|
||||||
|
GCStats = byte(0x3)
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -61,6 +66,14 @@ func handle(conn net.Conn, msg []byte) error {
|
|||||||
runtime.GC()
|
runtime.GC()
|
||||||
_, err := conn.Write([]byte("ok"))
|
_, err := conn.Write([]byte("ok"))
|
||||||
return err
|
return err
|
||||||
|
case GCStats:
|
||||||
|
var stats debug.GCStats
|
||||||
|
debug.ReadGCStats(&stats)
|
||||||
|
fmt.Fprintf(conn, "Num GC: %v\n", stats.NumGC)
|
||||||
|
if stats.NumGC > 0 {
|
||||||
|
fmt.Fprintf(conn, "Last GC: %v ago\n", time.Now().Sub(stats.LastGC))
|
||||||
|
fmt.Fprintf(conn, "Total pause: %v\n", stats.PauseTotal)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user