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 | |
| parent | 47eb9485b800d788a850a0d82f529bc7161b13f7 (diff) | |
| download | seaweedfs-b4be56bb3b97e979221ba3a123186479ba90cc57.tar.xz seaweedfs-b4be56bb3b97e979221ba3a123186479ba90cc57.zip | |
add timing info during ping operation
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/filer_grpc_server_admin.go | 21 | ||||
| -rw-r--r-- | weed/server/master_grpc_server_admin.go | 20 | ||||
| -rw-r--r-- | weed/server/volume_grpc_admin.go | 21 |
3 files changed, 50 insertions, 12 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 } diff --git a/weed/server/master_grpc_server_admin.go b/weed/server/master_grpc_server_admin.go index 153e48129..1f37e979a 100644 --- a/weed/server/master_grpc_server_admin.go +++ b/weed/server/master_grpc_server_admin.go @@ -148,27 +148,39 @@ func (ms *MasterServer) ReleaseAdminToken(ctx context.Context, req *master_pb.Re } func (ms *MasterServer) Ping(ctx context.Context, req *master_pb.PingRequest) (resp *master_pb.PingResponse, pingErr error) { - resp = &master_pb.PingResponse{} + resp = &master_pb.PingResponse{ + StartTimeNs: time.Now().UnixNano(), + } if req.TargetType == cluster.FilerType { pingErr = pb.WithFilerClient(false, pb.ServerAddress(req.Target), ms.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), ms.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), ms.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 } diff --git a/weed/server/volume_grpc_admin.go b/weed/server/volume_grpc_admin.go index 09da32f7a..476937847 100644 --- a/weed/server/volume_grpc_admin.go +++ b/weed/server/volume_grpc_admin.go @@ -8,6 +8,7 @@ import ( "github.com/chrislusf/seaweedfs/weed/pb/filer_pb" "github.com/chrislusf/seaweedfs/weed/pb/master_pb" "path/filepath" + "time" "github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb" @@ -253,27 +254,39 @@ func (vs *VolumeServer) VolumeNeedleStatus(ctx context.Context, req *volume_serv } func (vs *VolumeServer) Ping(ctx context.Context, req *volume_server_pb.PingRequest) (resp *volume_server_pb.PingResponse, pingErr error) { - resp = &volume_server_pb.PingResponse{} + resp = &volume_server_pb.PingResponse{ + StartTimeNs: time.Now().UnixNano(), + } if req.TargetType == cluster.FilerType { pingErr = pb.WithFilerClient(false, pb.ServerAddress(req.Target), vs.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), vs.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), vs.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 } |
