client

package
v0.0.0-...-eaf1f84 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheUsageResponse

type CacheUsageResponse struct {
	BytesTotal     uint64 `json:"bytesTotal"`
	BytesUsed      uint64 `json:"bytesUsed"`
	BytesFree      uint64 `json:"bytesFree"`
	BytesAvailable uint64 `json:"bytesAvailable"`

	BlockSize       int64  `json:"blockSize"`
	BlocksTotal     uint64 `json:"blocksTotal"`
	BlocksUsed      uint64 `json:"blocksUsed"`
	BlocksFree      uint64 `json:"blocksFree"`
	BlocksAvailable uint64 `json:"blocksAvailable"`

	FilesTotal uint64 `json:"filesTotal"`
	FilesUsed  uint64 `json:"filesUsed"`
	FilesFree  uint64 `json:"filesFree"`
}

type Check

type Check int
const (
	CHECK_UNKNOWN Check = 0
	CHECK_PASS    Check = -1
	CHECK_WARN    Check = -2
	CHECK_FAIL    Check = -3
)

func (Check) MarshalJSON

func (c Check) MarshalJSON() ([]byte, error)

func (Check) String

func (c Check) String() string

func (*Check) UnmarshalJSON

func (c *Check) UnmarshalJSON(b []byte) error

type Duration

type Duration time.Duration

func (Duration) MarshalText

func (d Duration) MarshalText() ([]byte, error)

func (*Duration) UnmarshalText

func (d *Duration) UnmarshalText(text []byte) error

type KnfsdAgentClient

type KnfsdAgentClient struct {
	// contains filtered or unexported fields
}

func NewKnfsdAgentClient

func NewKnfsdAgentClient(c *http.Client, baseURL string) *KnfsdAgentClient

func (*KnfsdAgentClient) CacheUsage

func (c *KnfsdAgentClient) CacheUsage() (*CacheUsageResponse, error)

func (*KnfsdAgentClient) GetMountStats

func (c *KnfsdAgentClient) GetMountStats() (*MountStatsResponse, error)

func (*KnfsdAgentClient) GetMounts

func (c *KnfsdAgentClient) GetMounts() (*MountResponse, error)

func (*KnfsdAgentClient) GetOS

func (c *KnfsdAgentClient) GetOS() (*OSResponse, error)

func (*KnfsdAgentClient) GetStatus

func (c *KnfsdAgentClient) GetStatus() (*StatusResponse, error)

func (*KnfsdAgentClient) NFSClientStats

func (c *KnfsdAgentClient) NFSClientStats() (*NFSClientStats, error)

func (*KnfsdAgentClient) NFSServerStats

func (c *KnfsdAgentClient) NFSServerStats() (*NFSServerStats, error)

func (*KnfsdAgentClient) NodeInfo

func (c *KnfsdAgentClient) NodeInfo() (*NodeInfo, error)

type Mount

type Mount struct {
	Device  string            `json:"device"`
	Mount   string            `json:"mount"`
	Export  string            `json:"export"`
	Options map[string]string `json:"options"`
}

type MountResponse

type MountResponse struct {
	Mounts []Mount `json:"mounts"`
}

type MountStats

type MountStats struct {
	Device  string            `json:"device"`
	Mount   string            `json:"mount"`
	Export  string            `json:"export"`
	Options map[string]string `json:"options"`
	Stats   NFSMountStats     `json:"stats"`
}

type MountStatsResponse

type MountStatsResponse struct {
	Mounts []MountStats `json:"mounts"`
}

type NFSByteStats

type NFSByteStats struct {
	NormalRead  uint64 `json:"normalRead"`
	NormalWrite uint64 `json:"normalWrite"`
	DirectRead  uint64 `json:"directRead"`
	DirectWrite uint64 `json:"directWrite"`
	ServerRead  uint64 `json:"serverRead"`
	ServerWrite uint64 `json:"serverWrite"`
	ReadPages   uint64 `json:"readPages"`
	WritePages  uint64 `json:"writePages"`
}

type NFSClientProc4

type NFSClientProc4 struct {
	Null               uint64 `json:"NULL"`
	Read               uint64 `json:"READ"`
	Write              uint64 `json:"WRITE"`
	Commit             uint64 `json:"COMMIT"`
	Open               uint64 `json:"OPEN"`
	OpenConfirm        uint64 `json:"OPEN_CONFIRM"`
	OpenNoattr         uint64 `json:"OPEN_NOATTR"`
	OpenDowngrade      uint64 `json:"OPEN_DOWNGRADE"`
	Close              uint64 `json:"CLOSE"`
	Setattr            uint64 `json:"SETATTR"`
	FsInfo             uint64 `json:"FSINFO"`
	Renew              uint64 `json:"RENEW"`
	SetClientID        uint64 `json:"SETCLIENTID"`
	SetClientIDConfirm uint64 `json:"SETCLIENTID_CONFIRM"`
	Lock               uint64 `json:"LOCK"`
	Lockt              uint64 `json:"LOCKT"`
	Locku              uint64 `json:"LOCKU"`
	Access             uint64 `json:"ACCESS"`
	Getattr            uint64 `json:"GETATTR"`
	Lookup             uint64 `json:"LOOKUP"`
	LookupRoot         uint64 `json:"LOOKUP_ROOT"`
	Remove             uint64 `json:"REMOVE"`
	Rename             uint64 `json:"RENAME"`
	Link               uint64 `json:"LINK"`
	Symlink            uint64 `json:"SYMLINK"`
	Create             uint64 `json:"CREATE"`
	Pathconf           uint64 `json:"PATHCONF"`
	StatFs             uint64 `json:"STATFS"`
	ReadLink           uint64 `json:"READLINK"`
	ReadDir            uint64 `json:"READDIR"`
	ServerCaps         uint64 `json:"SERVER_CAPS"`
	DelegReturn        uint64 `json:"DELEGRETURN"`
	GetACL             uint64 `json:"GETACL"`
	SetACL             uint64 `json:"SETACL"`
	FsLocations        uint64 `json:"FS_LOCATIONS"`
	ReleaseLockowner   uint64 `json:"RELEASE_LOCKOWNER"`
	Secinfo            uint64 `json:"SECINFO"`
	FsidPresent        uint64 `json:"FSID_PRESENT"`
	ExchangeID         uint64 `json:"EXCHANGE_ID"`
	CreateSession      uint64 `json:"CREATE_SESSION"`
	DestroySession     uint64 `json:"DESTROY_SESSION"`
	Sequence           uint64 `json:"SEQUENCE"`
	GetLeaseTime       uint64 `json:"GET_LEASE_TIME"`
	ReclaimComplete    uint64 `json:"RECLAIM_COMPLETE"`
	LayoutGet          uint64 `json:"GETDEVICEINFO"`
	GetDeviceInfo      uint64 `json:"LAYOUTGET"`
	LayoutCommit       uint64 `json:"LAYOUTCOMMIT"`
	LayoutReturn       uint64 `json:"LAYOUTRETURN"`
	SecinfoNoName      uint64 `json:"SECINFO_NO_NAME"`
	TestStateID        uint64 `json:"TEST_STATEID"`
	FreeStateID        uint64 `json:"FREE_STATEID"`
	GetDeviceList      uint64 `json:"GETDEVICELIST"`
	BindConnToSession  uint64 `json:"BIND_CONN_TO_SESSION"`
	DestroyClientID    uint64 `json:"DESTROY_CLIENTID"`
	Seek               uint64 `json:"SEEK"`
	Allocate           uint64 `json:"ALLOCATE"`
	DeAllocate         uint64 `json:"DEALLOCATE"`
	LayoutStats        uint64 `json:"LAYOUTSTATS"`
	Clone              uint64 `json:"CLONE"`
}

type NFSClientRPC

type NFSClientRPC struct {
	Count           uint64 `json:"count"`
	AuthRefreshes   uint64 `json:"authRefreshes"`
	Retransmissions uint64 `json:"retransmissions"`
}

type NFSClientStats

type NFSClientStats struct {
	IO      NFSIO          `json:"io"`
	Network NFSNetwork     `json:"net"`
	RPC     NFSClientRPC   `json:"rpc"`
	Proc3   NFSProc3       `json:"proc3"`
	Proc4   NFSClientProc4 `json:"proc4"`
}

type NFSEventStats

type NFSEventStats struct {
	InodeRevalidate     uint64 `json:"inodeRevalidate"`
	DnodeRevalidate     uint64 `json:"dnodeRevalidate"`
	DataInvalidate      uint64 `json:"dataInvalidate"`
	AttributeInvalidate uint64 `json:"attributeInvalidate"`
	VFSOpen             uint64 `json:"vfsOpen"`
	VFSLookup           uint64 `json:"vfsLookup"`
	VFSAccess           uint64 `json:"vfsAccess"`
	VFSUpdatePage       uint64 `json:"vfsUpdatePage"`
	VFSReadPage         uint64 `json:"vfsReadPage"`
	VFSReadPages        uint64 `json:"vfsReadPages"`
	VFSWritePage        uint64 `json:"vfsWritePage"`
	VFSWritePages       uint64 `json:"vfsWritePages"`
	VFSGetdents         uint64 `json:"vfsGetdents"`
	VFSSetattr          uint64 `json:"vfsSetattr"`
	VFSFlush            uint64 `json:"vfsFlush"`
	VFSFsync            uint64 `json:"vfsFsync"`
	VFSLock             uint64 `json:"vfsLock"`
	VFSFileRelease      uint64 `json:"vfsFileRelease"`
	Truncation          uint64 `json:"truncation"`
	WriteExtension      uint64 `json:"writeExtension"`
	SillyRename         uint64 `json:"sillyRename"`
	ShortRead           uint64 `json:"shortRead"`
	ShortWrite          uint64 `json:"shortWrite"`
	Delay               uint64 `json:"delay"`
	PNFSRead            uint64 `json:"pnfsRead"`
	PNFSWrite           uint64 `json:"pnfsWrite"`
}

type NFSIO

type NFSIO struct {
	Read  uint64 `json:"read"`
	Write uint64 `json:"write"`
}

type NFSMountStats

type NFSMountStats struct {
	Age        Duration            `json:"age"`
	Bytes      NFSByteStats        `json:"bytes"`
	Events     NFSEventStats       `json:"events"`
	Operations []NFSOperationStats `json:"operations"`
}

type NFSNetwork

type NFSNetwork struct {
	TotalPackets   uint64 `json:"totalPackets"`
	UDPPackets     uint64 `json:"udpPackets"`
	TCPPackets     uint64 `json:"tcpPackets"`
	TCPConnections uint64 `json:"tcpConnections"`
}

type NFSOperationStats

type NFSOperationStats struct {
	Operation             string `json:"operation"`
	Requests              uint64 `json:"requests"`
	Transmissions         uint64 `json:"transmissions"`
	Retries               uint64 `json:"retries"`
	MajorTimeouts         uint64 `json:"majorTimeouts"`
	BytesSent             uint64 `json:"bytesSent"`
	BytesReceived         uint64 `json:"bytesReceived"`
	QueueMilliseconds     uint64 `json:"queueMilliseconds"`
	RTTMilliseconds       uint64 `json:"rttMilliseconds"`
	ExecutionMilliseconds uint64 `json:"executionMilliseconds"`
	Errors                uint64 `json:"errors"`
}

type NFSProc3

type NFSProc3 struct {
	Null        uint64 `json:"NULL"`
	GetAttr     uint64 `json:"GETATTR"`
	SetAttr     uint64 `json:"SETATTR"`
	Lookup      uint64 `json:"LOOKUP"`
	Access      uint64 `json:"ACCESS"`
	ReadLink    uint64 `json:"READLINK"`
	Read        uint64 `json:"READ"`
	Write       uint64 `json:"WRITE"`
	Create      uint64 `json:"CREATE"`
	MkDir       uint64 `json:"MKDIR"`
	SymLink     uint64 `json:"SYMLINK"`
	MkNod       uint64 `json:"MKNOD"`
	Remove      uint64 `json:"REMOVE"`
	RmDir       uint64 `json:"RMDIR"`
	Rename      uint64 `json:"RENAME"`
	Link        uint64 `json:"LINK"`
	ReadDir     uint64 `json:"READDIR"`
	ReadDirPlus uint64 `json:"READDIRPLUS"`
	FsStat      uint64 `json:"FSSTAT"`
	FsInfo      uint64 `json:"FSINFO"`
	PathConf    uint64 `json:"PATHCONF"`
	Commit      uint64 `json:"COMMIT"`
}

Use uppercase for JSON field names to match the operations listed in mountstats. This is consistent with how the NFS protocol documentation refers to operation names. This will allow clients to treat proc3/proc4/proc4ops as simple maps of NFS procedure name to uint64 counter.

type NFSProc4Ops

type NFSProc4Ops struct {
	Access             uint64 `json:"ACCESS"`
	Close              uint64 `json:"CLOSE"`
	Commit             uint64 `json:"COMMIT"`
	Create             uint64 `json:"CREATE"`
	DelegPurge         uint64 `json:"DELEGPURGE"`
	DelegReturn        uint64 `json:"DELEGRETURN"`
	GetAttr            uint64 `json:"GETATTR"`
	GetFH              uint64 `json:"GETFH"`
	Link               uint64 `json:"LINK"`
	Lock               uint64 `json:"LOCK"`
	LockTest           uint64 `json:"LOCKT"`
	Unlock             uint64 `json:"LOCKU"`
	Lookup             uint64 `json:"LOOKUP"`
	LookupParent       uint64 `json:"LOOKUPP"`
	NVerify            uint64 `json:"NVERIFY"`
	Open               uint64 `json:"OPEN"`
	OpenAttr           uint64 `json:"OPENATTR"`
	OpenConfirm        uint64 `json:"OPEN_CONFIRM"`
	OpenDowngrade      uint64 `json:"OPEN_DOWNGRADE"`
	PutFH              uint64 `json:"PUTFH"`
	PutPubFH           uint64 `json:"PUTPUBFH"`
	PutRootFH          uint64 `json:"PUTROOTFH"`
	Read               uint64 `json:"READ"`
	ReadDir            uint64 `json:"READDIR"`
	ReadLink           uint64 `json:"READLINK"`
	Remove             uint64 `json:"REMOVE"`
	Rename             uint64 `json:"RENAME"`
	Renew              uint64 `json:"RENEW"`
	RestoreFH          uint64 `json:"RESTOREFH"`
	SaveFH             uint64 `json:"SAVEFH"`
	SecInfo            uint64 `json:"SECINFO"`
	SetAttr            uint64 `json:"SETATTR"`
	SetClientID        uint64 `json:"SETCLIENTID"`
	SetClientIDConfirm uint64 `json:"SETCLIENTID_CONFIRM"`
	Verify             uint64 `json:"VERIFY"`
	Write              uint64 `json:"WRITE"`
	ReleaseLockOwner   uint64 `json:"RELEASE_LOCKOWNER"`
}

type NFSServerProc4

type NFSServerProc4 struct {
	Null     uint64 `json:"NULL"`
	Compound uint64 `json:"COMPOUND"`
}

type NFSServerRPC

type NFSServerRPC struct {
	Count     uint64 `json:"count"`
	BadTotal  uint64 `json:"badTotal"`
	BadFormat uint64 `json:"badFormat"`
	BadAuth   uint64 `json:"badAuth"`
}

type NFSServerStats

type NFSServerStats struct {
	Threads  uint64         `json:"threads"`
	IO       NFSIO          `json:"io"`
	Network  NFSNetwork     `json:"net"`
	RPC      NFSServerRPC   `json:"rpc"`
	Proc3    NFSProc3       `json:"proc3"`
	Proc4    NFSServerProc4 `json:"proc4"`
	Proc4Ops NFSProc4Ops    `json:"proc4ops"`
}

type NodeInfo

type NodeInfo struct {
	Name            string `json:"name"`
	Hostname        string `json:"hostname"`
	InterfaceConfig struct {
		IPAddress   string `json:"ipAddress"`
		NetworkName string `json:"networkName"`
		NetworkURI  string `json:"networkURI"`
	} `json:"interfaceConfig"`
	Zone        string `json:"zone"`
	MachineType string `json:"machineType"`
	Image       string `json:"image"`
}

type OSResponse

type OSResponse struct {
	Kernel string            `json:"kernel"`
	OS     map[string]string `json:"os"`
}

type ServiceCheck

type ServiceCheck struct {
	Name   string `json:"name"`
	Result Check  `json:"result"`
	Error  string `json:"error"`
}

type ServiceHealth

type ServiceHealth struct {
	Name   string         `json:"name"`
	Health Check          `json:"health"`
	Checks []ServiceCheck `json:"checks"`
	Log    string         `json:"log"`
}

type StatusResponse

type StatusResponse struct {
	Services []ServiceHealth `json:"services"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL