mirror of https://github.com/grpc/grpc-go.git
				
				
				
			don't add defer func if stats handler is nil (#1214)
This commit is contained in:
		
							parent
							
								
									0eb507a2ca
								
							
						
					
					
						commit
						0914b46180
					
				
							
								
								
									
										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, | ||||
| 		} | ||||
| 		sh.HandleRPC(ctx, begin) | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if sh != nil { | ||||
| 		defer func() { | ||||
| 			end := &stats.End{ | ||||
| 				Client:  true, | ||||
| 				EndTime: time.Now(), | ||||
| 				Error:   e, | ||||
| 			} | ||||
| 			sh.HandleRPC(ctx, end) | ||||
| 		} | ||||
| 	}() | ||||
| 		}() | ||||
| 	} | ||||
| 	topts := &transport.Options{ | ||||
| 		Last:  true, | ||||
| 		Delay: false, | ||||
|  |  | |||
							
								
								
									
										16
									
								
								server.go
								
								
								
								
							
							
						
						
									
										16
									
								
								server.go
								
								
								
								
							|  | @ -644,9 +644,7 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport. | |||
| 			BeginTime: time.Now(), | ||||
| 		} | ||||
| 		sh.HandleRPC(stream.Context(), begin) | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if sh != nil { | ||||
| 		defer func() { | ||||
| 			end := &stats.End{ | ||||
| 				EndTime: time.Now(), | ||||
| 			} | ||||
|  | @ -654,8 +652,8 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport. | |||
| 				end.Error = toRPCErr(err) | ||||
| 			} | ||||
| 			sh.HandleRPC(stream.Context(), end) | ||||
| 		} | ||||
| 	}() | ||||
| 		}() | ||||
| 	} | ||||
| 	if trInfo != nil { | ||||
| 		defer trInfo.tr.Finish() | ||||
| 		trInfo.firstLine.client = false | ||||
|  | @ -814,9 +812,7 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp | |||
| 			BeginTime: time.Now(), | ||||
| 		} | ||||
| 		sh.HandleRPC(stream.Context(), begin) | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if sh != nil { | ||||
| 		defer func() { | ||||
| 			end := &stats.End{ | ||||
| 				EndTime: time.Now(), | ||||
| 			} | ||||
|  | @ -824,8 +820,8 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp | |||
| 				end.Error = toRPCErr(err) | ||||
| 			} | ||||
| 			sh.HandleRPC(stream.Context(), end) | ||||
| 		} | ||||
| 	}() | ||||
| 		}() | ||||
| 	} | ||||
| 	if s.opts.cp != nil { | ||||
| 		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, | ||||
| 		} | ||||
| 		sh.HandleRPC(ctx, begin) | ||||
| 	} | ||||
| 	defer func() { | ||||
| 		if err != nil && sh != nil { | ||||
| 			// Only handle end stats if err != nil.
 | ||||
| 			end := &stats.End{ | ||||
| 				Client: true, | ||||
| 				Error:  err, | ||||
| 		defer func() { | ||||
| 			if err != nil { | ||||
| 				// Only handle end stats if err != nil.
 | ||||
| 				end := &stats.End{ | ||||
| 					Client: true, | ||||
| 					Error:  err, | ||||
| 				} | ||||
| 				sh.HandleRPC(ctx, end) | ||||
| 			} | ||||
| 			sh.HandleRPC(ctx, end) | ||||
| 		} | ||||
| 	}() | ||||
| 		}() | ||||
| 	} | ||||
| 	gopts := BalancerGetOptions{ | ||||
| 		BlockingWait: !c.failFast, | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue