aboutsummaryrefslogtreecommitdiff
path: root/weed/server/filer_grpc_server_admin.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-04-16 12:45:49 -0700
committerchrislu <chris.lu@gmail.com>2022-04-16 12:45:49 -0700
commitb4be56bb3b97e979221ba3a123186479ba90cc57 (patch)
tree97623e04bbf56e0152c83d0df79ba36ffb475adf /weed/server/filer_grpc_server_admin.go
parent47eb9485b800d788a850a0d82f529bc7161b13f7 (diff)
downloadseaweedfs-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.go21
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
}