don't add defer func if stats handler is nil (#1214)
This commit is contained in:
8
call.go
8
call.go
@ -189,17 +189,15 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
|
|||||||
FailFast: c.failFast,
|
FailFast: c.failFast,
|
||||||
}
|
}
|
||||||
sh.HandleRPC(ctx, begin)
|
sh.HandleRPC(ctx, begin)
|
||||||
}
|
defer func() {
|
||||||
defer func() {
|
|
||||||
if sh != nil {
|
|
||||||
end := &stats.End{
|
end := &stats.End{
|
||||||
Client: true,
|
Client: true,
|
||||||
EndTime: time.Now(),
|
EndTime: time.Now(),
|
||||||
Error: e,
|
Error: e,
|
||||||
}
|
}
|
||||||
sh.HandleRPC(ctx, end)
|
sh.HandleRPC(ctx, end)
|
||||||
}
|
}()
|
||||||
}()
|
}
|
||||||
topts := &transport.Options{
|
topts := &transport.Options{
|
||||||
Last: true,
|
Last: true,
|
||||||
Delay: false,
|
Delay: false,
|
||||||
|
16
server.go
16
server.go
@ -644,9 +644,7 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
|
|||||||
BeginTime: time.Now(),
|
BeginTime: time.Now(),
|
||||||
}
|
}
|
||||||
sh.HandleRPC(stream.Context(), begin)
|
sh.HandleRPC(stream.Context(), begin)
|
||||||
}
|
defer func() {
|
||||||
defer func() {
|
|
||||||
if sh != nil {
|
|
||||||
end := &stats.End{
|
end := &stats.End{
|
||||||
EndTime: time.Now(),
|
EndTime: time.Now(),
|
||||||
}
|
}
|
||||||
@ -654,8 +652,8 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
|
|||||||
end.Error = toRPCErr(err)
|
end.Error = toRPCErr(err)
|
||||||
}
|
}
|
||||||
sh.HandleRPC(stream.Context(), end)
|
sh.HandleRPC(stream.Context(), end)
|
||||||
}
|
}()
|
||||||
}()
|
}
|
||||||
if trInfo != nil {
|
if trInfo != nil {
|
||||||
defer trInfo.tr.Finish()
|
defer trInfo.tr.Finish()
|
||||||
trInfo.firstLine.client = false
|
trInfo.firstLine.client = false
|
||||||
@ -814,9 +812,7 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp
|
|||||||
BeginTime: time.Now(),
|
BeginTime: time.Now(),
|
||||||
}
|
}
|
||||||
sh.HandleRPC(stream.Context(), begin)
|
sh.HandleRPC(stream.Context(), begin)
|
||||||
}
|
defer func() {
|
||||||
defer func() {
|
|
||||||
if sh != nil {
|
|
||||||
end := &stats.End{
|
end := &stats.End{
|
||||||
EndTime: time.Now(),
|
EndTime: time.Now(),
|
||||||
}
|
}
|
||||||
@ -824,8 +820,8 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp
|
|||||||
end.Error = toRPCErr(err)
|
end.Error = toRPCErr(err)
|
||||||
}
|
}
|
||||||
sh.HandleRPC(stream.Context(), end)
|
sh.HandleRPC(stream.Context(), end)
|
||||||
}
|
}()
|
||||||
}()
|
}
|
||||||
if s.opts.cp != nil {
|
if s.opts.cp != nil {
|
||||||
stream.SetSendCompress(s.opts.cp.Type())
|
stream.SetSendCompress(s.opts.cp.Type())
|
||||||
}
|
}
|
||||||
|
20
stream.go
20
stream.go
@ -161,17 +161,17 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
|
|||||||
FailFast: c.failFast,
|
FailFast: c.failFast,
|
||||||
}
|
}
|
||||||
sh.HandleRPC(ctx, begin)
|
sh.HandleRPC(ctx, begin)
|
||||||
}
|
defer func() {
|
||||||
defer func() {
|
if err != nil {
|
||||||
if err != nil && sh != nil {
|
// Only handle end stats if err != nil.
|
||||||
// Only handle end stats if err != nil.
|
end := &stats.End{
|
||||||
end := &stats.End{
|
Client: true,
|
||||||
Client: true,
|
Error: err,
|
||||||
Error: err,
|
}
|
||||||
|
sh.HandleRPC(ctx, end)
|
||||||
}
|
}
|
||||||
sh.HandleRPC(ctx, end)
|
}()
|
||||||
}
|
}
|
||||||
}()
|
|
||||||
gopts := BalancerGetOptions{
|
gopts := BalancerGetOptions{
|
||||||
BlockingWait: !c.failFast,
|
BlockingWait: !c.failFast,
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user