diff options
| author | chrislu <chris.lu@gmail.com> | 2022-04-16 12:45:49 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-04-16 12:45:49 -0700 |
| commit | b4be56bb3b97e979221ba3a123186479ba90cc57 (patch) | |
| tree | 97623e04bbf56e0152c83d0df79ba36ffb475adf /weed/server/filer_grpc_server_admin.go | |
| parent | 47eb9485b800d788a850a0d82f529bc7161b13f7 (diff) | |
| download | seaweedfs-b4be56bb3b97e979221ba3a123186479ba90cc57.tar.xz seaweedfs-b4be56bb3b97e979221ba3a123186479ba90cc57.zip | |
add timing info during ping operation
Diffstat (limited to 'weed/server/filer_grpc_server_admin.go')
| -rw-r--r-- | weed/server/filer_grpc_server_admin.go | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/weed/server/filer_grpc_server_admin.go b/weed/server/filer_grpc_server_admin.go index 2a6f74eee..5341fc52f 100644 --- a/weed/server/filer_grpc_server_admin.go +++ b/weed/server/filer_grpc_server_admin.go @@ -10,6 +10,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/pb/master_pb" "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb" "github.com/chrislusf/seaweedfs/weed/util" + "time" ) func (fs *FilerServer) Statistics(ctx context.Context, req *filer_pb.StatisticsRequest) (resp *filer_pb.StatisticsResponse, err error) { @@ -43,28 +44,40 @@ func (fs *FilerServer) Statistics(ctx context.Context, req *filer_pb.StatisticsR } func (fs *FilerServer) Ping(ctx context.Context, req *filer_pb.PingRequest) (resp *filer_pb.PingResponse, pingErr error) { - resp = &filer_pb.PingResponse{} + resp = &filer_pb.PingResponse{ + StartTimeNs: time.Now().UnixNano(), + } if req.TargetType == cluster.FilerType { pingErr = pb.WithFilerClient(false, pb.ServerAddress(req.Target), fs.grpcDialOption, func(client filer_pb.SeaweedFilerClient) error { - _, err := client.Ping(ctx, &filer_pb.PingRequest{}) + pingResp, err := client.Ping(ctx, &filer_pb.PingRequest{}) + if pingResp != nil { + resp.RemoteTimeNs = pingResp.StartTimeNs + } return err }) } if req.TargetType == cluster.VolumeServerType { pingErr = pb.WithVolumeServerClient(false, pb.ServerAddress(req.Target), fs.grpcDialOption, func(client volume_server_pb.VolumeServerClient) error { - _, err := client.Ping(ctx, &volume_server_pb.PingRequest{}) + pingResp, err := client.Ping(ctx, &volume_server_pb.PingRequest{}) + if pingResp != nil { + resp.RemoteTimeNs = pingResp.StartTimeNs + } return err }) } if req.TargetType == cluster.MasterType { pingErr = pb.WithMasterClient(false, pb.ServerAddress(req.Target), fs.grpcDialOption, func(client master_pb.SeaweedClient) error { - _, err := client.Ping(ctx, &master_pb.PingRequest{}) + pingResp, err := client.Ping(ctx, &master_pb.PingRequest{}) + if pingResp != nil { + resp.RemoteTimeNs = pingResp.StartTimeNs + } return err }) } if pingErr != nil { pingErr = fmt.Errorf("ping %s %s: %v", req.TargetType, req.Target, pingErr) } + resp.StopTimeNs = time.Now().UnixNano() return } |
