mirror of
https://github.com/mainflux/mainflux.git
synced 2025-05-02 22:17:10 +08:00

* Use normalizer as stream source Renamed 'writer' service to 'normalizer' and dropped Cassandra facilities from it. Extracted the common dependencies to 'mainflux' package for easier sharing. Fixed the API docs and unified environment variables. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Use docker build arguments to specify build Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Remove cassandra libraries Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update go-kit version to 0.6.0 Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix manager configuration Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Refactor docker-compose Merged individual compose files and dropped external links. Remove CoAP container since it is not referenced from NginX config at the moment. Update port mapping in compose and nginx.conf. Dropped bin scripts. Updated service documentation. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Drop content-type check Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement users data access layer in PostgreSQL Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Bump version to 0.1.0 Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Use go-kit logger everywhere (except CoAP) Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Improve factory methods naming Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement clients data access layer on PostgreSQL Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Make tests stateless All tests are refactored to use map-based table-driven tests. No cross-tests dependencies is present anymore. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Remove gitignore Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix nginx proxying Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Mark client-user FK explicit Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update API documentation Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Update channel model Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Add channel PostgreSQL repository tests Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Implement PostgreSQL channels DAO Replaced update queries with raw SQL. Explicitly defined M2M table due to difficulties of ensuring the referential integrity through GORM. Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Expose connection endpoints Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix swagger docs and remove DB logging Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Fix nested query remarks Signed-off-by: Dejan Mijic <dejan@mainflux.com> * Add unique indices Signed-off-by: Dejan Mijic <dejan@mainflux.com>
264 lines
6.1 KiB
Go
264 lines
6.1 KiB
Go
// 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 nfsd 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
|
|
}
|
|
|
|
// RPCStats 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
|
|
}
|