[Bug] 从4.3.0版本升级到4.3.3后,数据统计页的QPS统计经常无法刷新和显示
问题描述
从4.3.0版本升级到4.3.3后,数据统计页的QPS统计经常无法刷新和显示,QPS为:0。重启所有服务后正常,半个小时左右由不显示。调试模式下看到/api/stat/qps接口返回的数据为半小时前,无最新时间数据输出。
版本号
4.3.3
复现方法
暂无。 goroutine 67 gp=0xc0005d2a80 m=nil [chan receive]: runtime.gopark(0xc0000fc2a0?, 0xc0003e6658?, 0x38?, 0xe2?, 0x409c80?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000504d78 sp=0xc000504d58 pc=0x43eaae runtime.chanrecv(0xc00007a300, 0xc000504f48, 0x1) /usr/local/go/src/runtime/chan.go:583 +0x3bf fp=0xc000504df0 sp=0xc000504d78 pc=0x40a7df runtime.chanrecv1(0x1b5b220?, 0xc0005da360?) /usr/local/go/src/runtime/chan.go:442 +0x12 fp=0xc000504e18 sp=0xc000504df0 pc=0x40a3f2 git.in.chaitin.net/patronus/safeline-2/management/webserver/pkg/httprpc.runner() /work/pkg/httprpc/httprpc.go:136 +0x77 fp=0xc000504f98 sp=0xc000504e18 pc=0xd083f7 git.in.chaitin.net/patronus/safeline-2/management/webserver/pkg/httprpc.Init() /work/pkg/httprpc/httprpc.go:117 +0xff fp=0xc000504fe0 sp=0xc000504f98 pc=0xd0835f runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000504fe8 sp=0xc000504fe0 pc=0x470f61 created by git.in.chaitin.net/patronus/safeline-2/management/webserver/lib/tcd.Init in goroutine 1 /work/lib/tcd/tcd.go:352 +0x5e
goroutine 81 gp=0xc0005016c0 m=nil [select, 19 minutes]: runtime.gopark(0xc000058760?, 0x2?, 0x60?, 0x0?, 0xc00005872c?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0000585d0 sp=0xc0000585b0 pc=0x43eaae runtime.selectgo(0xc000058760, 0xc000058728, 0x7895eebd?, 0x0, 0x0?, 0x1) /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc0000586f0 sp=0xc0000585d0 pc=0x44fd85 google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc0000a8e40, {0x13275e0, 0xc0004aad70}) /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112 fp=0xc0000587b8 sp=0xc0000586f0 pc=0xc61352 google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer.gowrap1() /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x28 fp=0xc0000587e0 sp=0xc0000587b8 pc=0xc61088 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000587e8 sp=0xc0000587e0 pc=0x470f61 created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1 /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 69 gp=0xc0005ad180 m=nil [select]: runtime.gopark(0xc00064ee88?, 0x5?, 0xe0?, 0xec?, 0xc00064edb6?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc00064ec48 sp=0xc00064ec28 pc=0x43eaae runtime.selectgo(0xc00064ee88, 0xc00064edac, 0x1b5ba20?, 0x0, 0xedd6a4780?, 0x1) /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc00064ed68 sp=0xc00064ec48 pc=0x44fd85 github.com/robfig/cron/v3.(*Cron).run(0xc0005fb360) /go/pkg/mod/github.com/robfig/cron/[email protected]/cron.go:263 +0xb5c fp=0xc00064efc8 sp=0xc00064ed68 pc=0xf1c85c github.com/robfig/cron/v3.(*Cron).Start.gowrap2() /go/pkg/mod/github.com/robfig/cron/[email protected]/cron.go:222 +0x25 fp=0xc00064efe0 sp=0xc00064efc8 pc=0xf1bc65 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00064efe8 sp=0xc00064efe0 pc=0x470f61 created by github.com/robfig/cron/v3.(*Cron).Start in goroutine 1 /go/pkg/mod/github.com/robfig/cron/[email protected]/cron.go:222 +0xc5
goroutine 82 gp=0xc000501880 m=nil [select]: runtime.gopark(0xc000244f60?, 0x2?, 0x70?, 0x4e?, 0xc000244f2c?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000244dd0 sp=0xc000244db0 pc=0x43eaae runtime.selectgo(0xc000244f60, 0xc000244f28, 0x0?, 0x0, 0x0?, 0x1) /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc000244ef0 sp=0xc000244dd0 pc=0x44fd85 google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc0000a8fa0, {0x13275e0, 0xc0004aadc0}) /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112 fp=0xc000244fb8 sp=0xc000244ef0 pc=0xc61352 google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer.gowrap1() /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x28 fp=0xc000244fe0 sp=0xc000244fb8 pc=0xc61088 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000244fe8 sp=0xc000244fe0 pc=0x470f61 created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1 /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 83 gp=0xc000501a40 m=nil [select, 19 minutes]: runtime.gopark(0xc00023bf60?, 0x2?, 0x80?, 0x9c?, 0xc00023bf2c?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc000240dd0 sp=0xc000240db0 pc=0x43eaae runtime.selectgo(0xc000240f60, 0xc00023bf28, 0x0?, 0x0, 0x0?, 0x1) /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc000240ef0 sp=0xc000240dd0 pc=0x44fd85 google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc0000a9020, {0x13275e0, 0xc0004aae10}) /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112 fp=0xc000240fb8 sp=0xc000240ef0 pc=0xc61352 google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer.gowrap1() /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x28 fp=0xc000240fe0 sp=0xc000240fb8 pc=0xc61088 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000240fe8 sp=0xc000240fe0 pc=0x470f61 created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1 /go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 3441 gp=0xc00076fa40 m=nil [select]: runtime.gopark(0xc0006b1f48?, 0x2?, 0xc0?, 0x1d?, 0xc0006b1ef4?) /usr/local/go/src/runtime/proc.go:402 +0xce fp=0xc0006b1d98 sp=0xc0006b1d78 pc=0x43eaae runtime.selectgo(0xc0006b1f48, 0xc0006b1ef0, 0xc0003fa9c0?, 0x0, 0xc000532990?, 0x1) /usr/local/go/src/runtime/select.go:327 +0x725 fp=0xc0006b1eb8 sp=0xc0006b1d98 pc=0x44fd85 net/http.(*persistConn).writeLoop(0xc00052bd40) /usr/local/go/src/net/http/transport.go:2443 +0xf0 fp=0xc0006b1fc8 sp=0xc0006b1eb8 pc=0x7049b0 net/http.(*Transport).dialConn.gowrap3() /usr/local/go/src/net/http/transport.go:1799 +0x25 fp=0xc0006b1fe0 sp=0xc0006b1fc8 pc=0x701605 runtime.goexit({}) /usr/local/go/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0006b1fe8 sp=0xc0006b1fe0 pc=0x470f61 created by net/http.(*Transport).dialConn in goroutine 3405 /usr/local/go/src/net/http/transport.go:1799 +0x1585
期望的结果
修复异常
先用4.3.2吧,等官方修复了,目前4.4.2依然有类似问题
realead in 6.4.0