From 3611a9ad2eaf9d887ed6980a1e99ff3e4c389e49 Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Tue, 9 Feb 2016 22:47:29 -0800 Subject: [PATCH] tools/etcd-dump-logs: support parsing v3 log --- tools/etcd-dump-logs/main.go | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/tools/etcd-dump-logs/main.go b/tools/etcd-dump-logs/main.go index 6a1331a9f..b91c51da0 100644 --- a/tools/etcd-dump-logs/main.go +++ b/tools/etcd-dump-logs/main.go @@ -97,21 +97,28 @@ func main() { switch e.Type { case raftpb.EntryNormal: msg = fmt.Sprintf("%s\tnorm", msg) - var r etcdserverpb.Request - if err := r.Unmarshal(e.Data); err != nil { - msg = fmt.Sprintf("%s\t???", msg) + + var rr etcdserverpb.InternalRaftRequest + if err := rr.Unmarshal(e.Data); err == nil { + msg = fmt.Sprintf("%s\t%s", msg, rr.String()) break } - switch r.Method { - case "": - msg = fmt.Sprintf("%s\tnoop", msg) - case "SYNC": - msg = fmt.Sprintf("%s\tmethod=SYNC time=%q", msg, time.Unix(0, r.Time)) - case "QGET", "DELETE": - msg = fmt.Sprintf("%s\tmethod=%s path=%s", msg, r.Method, excerpt(r.Path, 64, 64)) - default: - msg = fmt.Sprintf("%s\tmethod=%s path=%s val=%s", msg, r.Method, excerpt(r.Path, 64, 64), excerpt(r.Val, 128, 0)) + + var r etcdserverpb.Request + if err := r.Unmarshal(e.Data); err == nil { + switch r.Method { + case "": + msg = fmt.Sprintf("%s\tnoop", msg) + case "SYNC": + msg = fmt.Sprintf("%s\tmethod=SYNC time=%q", msg, time.Unix(0, r.Time)) + case "QGET", "DELETE": + msg = fmt.Sprintf("%s\tmethod=%s path=%s", msg, r.Method, excerpt(r.Path, 64, 64)) + default: + msg = fmt.Sprintf("%s\tmethod=%s path=%s val=%s", msg, r.Method, excerpt(r.Path, 64, 64), excerpt(r.Val, 128, 0)) + } + break } + msg = fmt.Sprintf("%s\t???", msg) case raftpb.EntryConfChange: msg = fmt.Sprintf("%s\tconf", msg) var r raftpb.ConfChange