Files
go-libp2p-kad-dht/dht_logger.go
2014-09-22 04:05:21 -07:00

44 lines
618 B
Go

package dht
import (
"encoding/json"
"time"
u "github.com/jbenet/go-ipfs/util"
)
type logDhtRPC struct {
Type string
Start time.Time
End time.Time
Duration time.Duration
RPCCount int
Success bool
}
func startNewRPC(name string) *logDhtRPC {
r := new(logDhtRPC)
r.Type = name
r.Start = time.Now()
return r
}
func (l *logDhtRPC) EndLog() {
l.End = time.Now()
l.Duration = l.End.Sub(l.Start)
}
func (l *logDhtRPC) Print() {
b, err := json.Marshal(l)
if err != nil {
u.DOut(err.Error())
} else {
u.DOut(string(b))
}
}
func (l *logDhtRPC) EndAndPrint() {
l.EndLog()
l.Print()
}