mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
263 lines
6.1 KiB
263 lines
6.1 KiB
// Copyright 2018 The Prometheus Authors |
|
// Licensed under the Apache License, Version 2.0 (the "License"); |
|
// you may not use this file except in compliance with the License. |
|
// You may obtain a copy of the License at |
|
// |
|
// http://www.apache.org/licenses/LICENSE-2.0 |
|
// |
|
// Unless required by applicable law or agreed to in writing, software |
|
// distributed under the License is distributed on an "AS IS" BASIS, |
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
// See the License for the specific language governing permissions and |
|
// limitations under the License. |
|
|
|
// Package nfs implements parsing of /proc/net/rpc/nfsd. |
|
// Fields are documented in https://www.svennd.be/nfsd-stats-explained-procnetrpcnfsd/ |
|
package nfs |
|
|
|
// ReplyCache models the "rc" line. |
|
type ReplyCache struct { |
|
Hits uint64 |
|
Misses uint64 |
|
NoCache uint64 |
|
} |
|
|
|
// FileHandles models the "fh" line. |
|
type FileHandles struct { |
|
Stale uint64 |
|
TotalLookups uint64 |
|
AnonLookups uint64 |
|
DirNoCache uint64 |
|
NoDirNoCache uint64 |
|
} |
|
|
|
// InputOutput models the "io" line. |
|
type InputOutput struct { |
|
Read uint64 |
|
Write uint64 |
|
} |
|
|
|
// Threads models the "th" line. |
|
type Threads struct { |
|
Threads uint64 |
|
FullCnt uint64 |
|
} |
|
|
|
// ReadAheadCache models the "ra" line. |
|
type ReadAheadCache struct { |
|
CacheSize uint64 |
|
CacheHistogram []uint64 |
|
NotFound uint64 |
|
} |
|
|
|
// Network models the "net" line. |
|
type Network struct { |
|
NetCount uint64 |
|
UDPCount uint64 |
|
TCPCount uint64 |
|
TCPConnect uint64 |
|
} |
|
|
|
// ClientRPC models the nfs "rpc" line. |
|
type ClientRPC struct { |
|
RPCCount uint64 |
|
Retransmissions uint64 |
|
AuthRefreshes uint64 |
|
} |
|
|
|
// ServerRPC models the nfsd "rpc" line. |
|
type ServerRPC struct { |
|
RPCCount uint64 |
|
BadCnt uint64 |
|
BadFmt uint64 |
|
BadAuth uint64 |
|
BadcInt uint64 |
|
} |
|
|
|
// V2Stats models the "proc2" line. |
|
type V2Stats struct { |
|
Null uint64 |
|
GetAttr uint64 |
|
SetAttr uint64 |
|
Root uint64 |
|
Lookup uint64 |
|
ReadLink uint64 |
|
Read uint64 |
|
WrCache uint64 |
|
Write uint64 |
|
Create uint64 |
|
Remove uint64 |
|
Rename uint64 |
|
Link uint64 |
|
SymLink uint64 |
|
MkDir uint64 |
|
RmDir uint64 |
|
ReadDir uint64 |
|
FsStat uint64 |
|
} |
|
|
|
// V3Stats models the "proc3" line. |
|
type V3Stats struct { |
|
Null uint64 |
|
GetAttr uint64 |
|
SetAttr uint64 |
|
Lookup uint64 |
|
Access uint64 |
|
ReadLink uint64 |
|
Read uint64 |
|
Write uint64 |
|
Create uint64 |
|
MkDir uint64 |
|
SymLink uint64 |
|
MkNod uint64 |
|
Remove uint64 |
|
RmDir uint64 |
|
Rename uint64 |
|
Link uint64 |
|
ReadDir uint64 |
|
ReadDirPlus uint64 |
|
FsStat uint64 |
|
FsInfo uint64 |
|
PathConf uint64 |
|
Commit uint64 |
|
} |
|
|
|
// ClientV4Stats models the nfs "proc4" line. |
|
type ClientV4Stats struct { |
|
Null uint64 |
|
Read uint64 |
|
Write uint64 |
|
Commit uint64 |
|
Open uint64 |
|
OpenConfirm uint64 |
|
OpenNoattr uint64 |
|
OpenDowngrade uint64 |
|
Close uint64 |
|
Setattr uint64 |
|
FsInfo uint64 |
|
Renew uint64 |
|
SetClientID uint64 |
|
SetClientIDConfirm uint64 |
|
Lock uint64 |
|
Lockt uint64 |
|
Locku uint64 |
|
Access uint64 |
|
Getattr uint64 |
|
Lookup uint64 |
|
LookupRoot uint64 |
|
Remove uint64 |
|
Rename uint64 |
|
Link uint64 |
|
Symlink uint64 |
|
Create uint64 |
|
Pathconf uint64 |
|
StatFs uint64 |
|
ReadLink uint64 |
|
ReadDir uint64 |
|
ServerCaps uint64 |
|
DelegReturn uint64 |
|
GetACL uint64 |
|
SetACL uint64 |
|
FsLocations uint64 |
|
ReleaseLockowner uint64 |
|
Secinfo uint64 |
|
FsidPresent uint64 |
|
ExchangeID uint64 |
|
CreateSession uint64 |
|
DestroySession uint64 |
|
Sequence uint64 |
|
GetLeaseTime uint64 |
|
ReclaimComplete uint64 |
|
LayoutGet uint64 |
|
GetDeviceInfo uint64 |
|
LayoutCommit uint64 |
|
LayoutReturn uint64 |
|
SecinfoNoName uint64 |
|
TestStateID uint64 |
|
FreeStateID uint64 |
|
GetDeviceList uint64 |
|
BindConnToSession uint64 |
|
DestroyClientID uint64 |
|
Seek uint64 |
|
Allocate uint64 |
|
DeAllocate uint64 |
|
LayoutStats uint64 |
|
Clone uint64 |
|
} |
|
|
|
// ServerV4Stats models the nfsd "proc4" line. |
|
type ServerV4Stats struct { |
|
Null uint64 |
|
Compound uint64 |
|
} |
|
|
|
// V4Ops models the "proc4ops" line: NFSv4 operations |
|
// Variable list, see: |
|
// v4.0 https://tools.ietf.org/html/rfc3010 (38 operations) |
|
// v4.1 https://tools.ietf.org/html/rfc5661 (58 operations) |
|
// v4.2 https://tools.ietf.org/html/draft-ietf-nfsv4-minorversion2-41 (71 operations) |
|
type V4Ops struct { |
|
//Values uint64 // Variable depending on v4.x sub-version. TODO: Will this always at least include the fields in this struct? |
|
Op0Unused uint64 |
|
Op1Unused uint64 |
|
Op2Future uint64 |
|
Access uint64 |
|
Close uint64 |
|
Commit uint64 |
|
Create uint64 |
|
DelegPurge uint64 |
|
DelegReturn uint64 |
|
GetAttr uint64 |
|
GetFH uint64 |
|
Link uint64 |
|
Lock uint64 |
|
Lockt uint64 |
|
Locku uint64 |
|
Lookup uint64 |
|
LookupRoot uint64 |
|
Nverify uint64 |
|
Open uint64 |
|
OpenAttr uint64 |
|
OpenConfirm uint64 |
|
OpenDgrd uint64 |
|
PutFH uint64 |
|
PutPubFH uint64 |
|
PutRootFH uint64 |
|
Read uint64 |
|
ReadDir uint64 |
|
ReadLink uint64 |
|
Remove uint64 |
|
Rename uint64 |
|
Renew uint64 |
|
RestoreFH uint64 |
|
SaveFH uint64 |
|
SecInfo uint64 |
|
SetAttr uint64 |
|
Verify uint64 |
|
Write uint64 |
|
RelLockOwner uint64 |
|
} |
|
|
|
// ClientRPCStats models all stats from /proc/net/rpc/nfs. |
|
type ClientRPCStats struct { |
|
Network Network |
|
ClientRPC ClientRPC |
|
V2Stats V2Stats |
|
V3Stats V3Stats |
|
ClientV4Stats ClientV4Stats |
|
} |
|
|
|
// ServerRPCStats models all stats from /proc/net/rpc/nfsd. |
|
type ServerRPCStats struct { |
|
ReplyCache ReplyCache |
|
FileHandles FileHandles |
|
InputOutput InputOutput |
|
Threads Threads |
|
ReadAheadCache ReadAheadCache |
|
Network Network |
|
ServerRPC ServerRPC |
|
V2Stats V2Stats |
|
V3Stats V3Stats |
|
ServerV4Stats ServerV4Stats |
|
V4Ops V4Ops |
|
}
|
|
|