func RegisterConnHandler(f func(context.Context, ConnStats)) {
	connHandler = f
}
RegisterConnHandler registers the user handler function for conn stats.
It should be called only once. The later call will overwrite the former value if it is called multiple times.
This handler function will be called to process the conn stats.
package stats
import (
	"net"
	"sync/atomic"
	"golang.org/x/net/context"
	"google.golang.org/grpc/grpclog"
)
type ConnTagInfo struct {
	RemoteAddr net.Addr
	LocalAddr net.Addr
}
type RPCTagInfo struct {
	FullMethodName string
}
var (
	on          = new(int32)
	rpcHandler  func(context.Context, RPCStats)
	connHandler func(context.Context, ConnStats)
	connTagger  func(context.Context, *ConnTagInfo) context.Context
	rpcTagger   func(context.Context, *RPCTagInfo) context.Context
)
func HandleRPC(ctx context.Context, s RPCStats) {
	if rpcHandler == nil {
		return
	}
	rpcHandler(ctx, s)
}
func RegisterRPCHandler(f func(context.Context, RPCStats)) {
	rpcHandler = f
}
func HandleConn(ctx context.Context, s ConnStats) {
	if connHandler == nil {
		return
	}
	connHandler(ctx, s)
}