add client streaming response trace
This commit is contained in:
5
call.go
5
call.go
@ -133,7 +133,6 @@ func Invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
callHdr := &transport.CallHdr{
|
callHdr := &transport.CallHdr{
|
||||||
Host: cc.authority,
|
Host: cc.authority,
|
||||||
Method: method,
|
Method: method,
|
||||||
@ -165,7 +164,7 @@ func Invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
|
|||||||
return toRPCErr(err)
|
return toRPCErr(err)
|
||||||
}
|
}
|
||||||
if EnableTracing {
|
if EnableTracing {
|
||||||
c.traceInfo.tr.LazyLog(payload{args}, true)
|
c.traceInfo.tr.LazyLog(&fmtStringer{"sent: %v", []interface{}{payload{args}}}, true)
|
||||||
}
|
}
|
||||||
stream, err = sendRequest(ctx, cc.dopts.codec, callHdr, t, args, topts)
|
stream, err = sendRequest(ctx, cc.dopts.codec, callHdr, t, args, topts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -184,7 +183,7 @@ func Invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if EnableTracing {
|
if EnableTracing {
|
||||||
c.traceInfo.tr.LazyLog(payload{reply}, true)
|
c.traceInfo.tr.LazyLog(&fmtStringer{"received: %v", []interface{}{payload{reply}}}, true)
|
||||||
}
|
}
|
||||||
t.CloseStream(stream, lastErr)
|
t.CloseStream(stream, lastErr)
|
||||||
if lastErr != nil {
|
if lastErr != nil {
|
||||||
|
@ -166,7 +166,7 @@ func (cs *clientStream) SendMsg(m interface{}) (err error) {
|
|||||||
if cs.tracing {
|
if cs.tracing {
|
||||||
cs.mu.Lock()
|
cs.mu.Lock()
|
||||||
if cs.traceInfo.tr != nil {
|
if cs.traceInfo.tr != nil {
|
||||||
cs.traceInfo.tr.LazyLog(payload{m}, true)
|
cs.traceInfo.tr.LazyLog(&fmtStringer{"sent: %v", []interface{}{payload{m}}}, true)
|
||||||
}
|
}
|
||||||
cs.mu.Unlock()
|
cs.mu.Unlock()
|
||||||
}
|
}
|
||||||
@ -187,6 +187,13 @@ func (cs *clientStream) SendMsg(m interface{}) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (cs *clientStream) RecvMsg(m interface{}) (err error) {
|
func (cs *clientStream) RecvMsg(m interface{}) (err error) {
|
||||||
|
if cs.tracing {
|
||||||
|
cs.mu.Lock()
|
||||||
|
if cs.traceInfo.tr != nil {
|
||||||
|
cs.traceInfo.tr.LazyLog(&fmtStringer{"received: %v", []interface{}{payload{m}}}, true)
|
||||||
|
}
|
||||||
|
cs.mu.Unlock()
|
||||||
|
}
|
||||||
err = recv(cs.p, cs.codec, m)
|
err = recv(cs.p, cs.codec, m)
|
||||||
defer func() {
|
defer func() {
|
||||||
// err != nil indicates the termination of the stream.
|
// err != nil indicates the termination of the stream.
|
||||||
|
Reference in New Issue
Block a user