in image/resources/knfsd-agent/nfs.go [192:284]
func readNFSServerStats(fs nfs.FS) (*client.NFSServerStats, error) {
s, err := fs.ServerRPCStats()
if err != nil {
return nil, err
}
return &client.NFSServerStats{
Threads: s.Threads.Threads,
IO: client.NFSIO{
Read: s.InputOutput.Read,
Write: s.InputOutput.Write,
},
Network: client.NFSNetwork{
TotalPackets: s.Network.NetCount,
UDPPackets: s.Network.UDPCount,
TCPPackets: s.Network.TCPCount,
TCPConnections: s.Network.TCPConnect,
},
RPC: client.NFSServerRPC{
Count: s.ServerRPC.RPCCount,
BadTotal: s.ServerRPC.BadCnt,
BadFormat: s.ServerRPC.BadFmt,
BadAuth: s.ServerRPC.BadAuth,
},
Proc3: client.NFSProc3{
Null: s.V3Stats.Null,
GetAttr: s.V3Stats.GetAttr,
SetAttr: s.V3Stats.SetAttr,
Lookup: s.V3Stats.Lookup,
Access: s.V3Stats.Access,
ReadLink: s.V3Stats.ReadLink,
Read: s.V3Stats.Read,
Write: s.V3Stats.Write,
Create: s.V3Stats.Create,
MkDir: s.V3Stats.MkDir,
SymLink: s.V3Stats.SymLink,
MkNod: s.V3Stats.MkNod,
Remove: s.V3Stats.Remove,
RmDir: s.V3Stats.RmDir,
Rename: s.V3Stats.Rename,
Link: s.V3Stats.Link,
ReadDir: s.V3Stats.ReadDir,
ReadDirPlus: s.V3Stats.ReadDirPlus,
FsStat: s.V3Stats.FsStat,
FsInfo: s.V3Stats.FsInfo,
PathConf: s.V3Stats.PathConf,
Commit: s.V3Stats.Commit,
},
Proc4: client.NFSServerProc4{
Null: s.ServerV4Stats.Null,
Compound: s.ServerV4Stats.Compound,
},
Proc4Ops: client.NFSProc4Ops{
Access: s.V4Ops.Access,
Close: s.V4Ops.Close,
Commit: s.V4Ops.Commit,
Create: s.V4Ops.Create,
DelegPurge: s.V4Ops.DelegPurge,
DelegReturn: s.V4Ops.DelegReturn,
GetAttr: s.V4Ops.GetAttr,
GetFH: s.V4Ops.GetFH,
Link: s.V4Ops.Link,
Lock: s.V4Ops.Lock,
LockTest: s.V4Ops.Lockt,
Unlock: s.V4Ops.Locku,
Lookup: s.V4Ops.Lookup,
LookupParent: s.V4Ops.LookupRoot,
NVerify: s.V4Ops.Nverify,
Open: s.V4Ops.Open,
OpenAttr: s.V4Ops.OpenAttr,
OpenConfirm: s.V4Ops.OpenConfirm,
OpenDowngrade: s.V4Ops.OpenDgrd,
PutFH: s.V4Ops.PutFH,
PutPubFH: s.V4Ops.PutPubFH,
PutRootFH: s.V4Ops.PutRootFH,
Read: s.V4Ops.Read,
ReadDir: s.V4Ops.ReadDir,
ReadLink: s.V4Ops.ReadLink,
Remove: s.V4Ops.Remove,
Rename: s.V4Ops.Rename,
Renew: s.V4Ops.Renew,
RestoreFH: s.V4Ops.RestoreFH,
SaveFH: s.V4Ops.SaveFH,
SecInfo: s.V4Ops.SecInfo,
SetAttr: s.V4Ops.SetAttr,
SetClientID: s.V4Ops.SetClientID,
SetClientIDConfirm: s.V4Ops.SetClientIDConfirm,
Verify: s.V4Ops.Verify,
Write: s.V4Ops.Write,
ReleaseLockOwner: s.V4Ops.RelLockOwner,
},
}, nil
}