Documentation ¶
Index ¶
Constants ¶
const ( // GBSIZE metrics GBSIZE = 1024 * 1024 * 1024 NFSMetricsCount = 16 )
const ( // unknown metric value UnknownValue string = "unknown" )
Variables ¶
var ErrNoData = errors.New("Collector returned no data")
ErrNoData indicates the collector found no data to collect, but had no other error.
var ErrUnexpectedVolumeType = errors.New("VolumeType is not the expected type")
Functions ¶
func IsNoDataError ¶
IsNoDataError method is to determine whether the Collector has no data to return
Types ¶
type CSICollector ¶
CSICollector implements the prometheus.Collector interface.
func (CSICollector) Collect ¶
func (csi CSICollector) Collect(ch chan<- prometheus.Metric)
Collect implements the prometheus.Collector interface.
func (CSICollector) Describe ¶
func (csi CSICollector) Describe(ch chan<- *prometheus.Desc)
Describe implements the prometheus.Collector interface.
type Collector ¶
type Collector interface { // Get new metrics and expose them via prometheus registry. Update(ch chan<- prometheus.Metric) error }
Collector is the interface a collector has to implement.
func NewDiskStatCollector ¶
NewDiskStatCollector returns a new Collector exposing disk stats.
func NewFuseStatCollector ¶ added in v1.1.7
NewUsFsStatCollector returns a new Collector exposing user space fs stats.
func NewKubeletStatsSummaryCollector ¶ added in v1.4.0
func NewNfsStatCollector ¶ added in v1.1.2
NewNfsStatCollector returns a new Collector exposing nfs stats.
func NewPfsRawBlockStatCollector ¶ added in v1.1.1
NewPfsRawBlockStatCollector returns a new Collector exposing stats.
type Handler ¶
type Handler struct { }
Handler is a package of promHttp,metric entry
func NewMetricHandler ¶
NewMetricHandler method returns a promHttp object
type Mount ¶ added in v1.1.2
type Mount struct { // Name of the device. Device string // The mount point of the device. Mount string // The filesystem type used by the device. Type string // If available additional statistics related to this Mount. // Use a type assertion to determine if additional statistics are available. Stats MountStats }
A Mount is a device mount parsed from /proc/[pid]/mountstats.
type MountStats ¶ added in v1.1.2
type MountStats interface {
// contains filtered or unexported methods
}
A MountStats is a type which contains detailed statistics for a specific type of Mount.
type MountStatsNFS ¶ added in v1.1.2
type MountStatsNFS struct { // The version of statistics provided. StatVersion string // The mount options of the NFS mount. Opts map[string]string // The age of the NFS mount. Age time.Duration // Statistics related to byte counters for various operations. Bytes NFSBytesStats // Statistics related to various NFS event occurrences. Events NFSEventsStats // Statistics broken down by filesystem operation. Operations []NFSOperationStats // Statistics about the NFS RPC transport. Transport NFSTransportStats }
A MountStatsNFS is a MountStats implementation for NFSv3 and v4 mounts.
type NFSBytesStats ¶ added in v1.1.2
type NFSBytesStats struct { // Number of bytes read using the read() syscall. Read uint64 // Number of bytes written using the write() syscall. Write uint64 // Number of bytes read using the read() syscall in O_DIRECT mode. DirectRead uint64 // Number of bytes written using the write() syscall in O_DIRECT mode. DirectWrite uint64 // Number of bytes read from the NFS server, in total. ReadTotal uint64 // Number of bytes written to the NFS server, in total. WriteTotal uint64 // Number of pages read directly via mmap()'d files. ReadPages uint64 // Number of pages written directly via mmap()'d files. WritePages uint64 }
A NFSBytesStats contains statistics about the number of bytes read and written by an NFS client to and from an NFS server.
type NFSEventsStats ¶ added in v1.1.2
type NFSEventsStats struct { // Number of times cached inode attributes are re-validated from the server. InodeRevalidate uint64 // Number of times cached dentry nodes are re-validated from the server. DnodeRevalidate uint64 // Number of times an inode cache is cleared. DataInvalidate uint64 // Number of times cached inode attributes are invalidated. AttributeInvalidate uint64 // Number of times files or directories have been open()'d. VFSOpen uint64 // Number of times a directory lookup has occurred. VFSLookup uint64 // Number of times permissions have been checked. VFSAccess uint64 // Number of updates (and potential writes) to pages. VFSUpdatePage uint64 // Number of pages read directly via mmap()'d files. VFSReadPage uint64 // Number of times a group of pages have been read. VFSReadPages uint64 // Number of pages written directly via mmap()'d files. VFSWritePage uint64 // Number of times a group of pages have been written. VFSWritePages uint64 // Number of times directory entries have been read with getdents(). VFSGetdents uint64 // Number of times attributes have been set on inodes. VFSSetattr uint64 // Number of pending writes that have been forcefully flushed to the server. VFSFlush uint64 // Number of times fsync() has been called on directories and files. VFSFsync uint64 // Number of times locking has been attempted on a file. VFSLock uint64 // Number of times files have been closed and released. VFSFileRelease uint64 // Unknown. Possibly unused. CongestionWait uint64 // Number of times files have been truncated. Truncation uint64 // Number of times a file has been grown due to writes beyond its existing end. WriteExtension uint64 // Number of times a file was removed while still open by another process. SillyRename uint64 // Number of times the NFS server gave less data than expected while reading. ShortRead uint64 // Number of times the NFS server wrote less data than expected while writing. ShortWrite uint64 // Number of times the NFS server indicated EJUKEBOX; retrieving data from // offline storage. JukeboxDelay uint64 // Number of NFS v4.1+ pNFS reads. PNFSRead uint64 // Number of NFS v4.1+ pNFS writes. PNFSWrite uint64 }
A NFSEventsStats contains statistics about NFS event occurrences.
type NFSOperationStats ¶ added in v1.1.2
type NFSOperationStats struct { // The name of the operation. Operation string // Number of requests performed for this operation. Requests uint64 // Number of times an actual RPC request has been transmitted for this operation. Transmissions uint64 // Number of times a request has had a major timeout. MajorTimeouts uint64 // Number of bytes sent for this operation, including RPC headers and payload. BytesSent uint64 // Number of bytes received for this operation, including RPC headers and payload. BytesReceived uint64 // Duration all requests spent queued for transmission before they were sent. CumulativeQueueMilliseconds uint64 // Duration it took to get a reply back after the request was transmitted. CumulativeTotalResponseMilliseconds uint64 // Duration from when a request was enqueued to when it was completely handled. CumulativeTotalRequestMilliseconds uint64 // The count of operations that complete with tk_status < 0. These statuses usually indicate error conditions. Errors uint64 }
A NFSOperationStats contains statistics for a single operation.
type NFSTransportStats ¶ added in v1.1.2
type NFSTransportStats struct { // The transport protocol used for the NFS mount. Protocol string // The local port used for the NFS mount. Port uint64 // Number of times the client has had to establish a connection from scratch // to the NFS server. Bind uint64 // Number of times the client has made a TCP connection to the NFS server. Connect uint64 // Duration (in jiffies, a kernel internal unit of time) the NFS mount has // spent waiting for connections to the server to be established. ConnectIdleTime uint64 // Duration since the NFS mount last saw any RPC traffic. IdleTimeSeconds uint64 // Number of RPC requests for this mount sent to the NFS server. Sends uint64 // Number of RPC responses for this mount received from the NFS server. Receives uint64 // Number of times the NFS server sent a response with a transaction ID // unknown to this client. BadTransactionIDs uint64 // A running counter, incremented on each request as the current difference // ebetween sends and receives. CumulativeActiveRequests uint64 // A running counter, incremented on each request by the current backlog // queue size. CumulativeBacklog uint64 // Maximum number of simultaneously active RPC requests ever used. MaximumRPCSlotsUsed uint64 // A running counter, incremented on each request as the current size of the // sending queue. CumulativeSendingQueue uint64 // A running counter, incremented on each request as the current size of the // pending queue. CumulativePendingQueue uint64 }
A NFSTransportStats contains statistics for the NFS mount RPC requests and responses.
type StorageMonitorClient ¶ added in v1.3.0
func NewStorageMonitorClient ¶ added in v1.3.0
func NewStorageMonitorClient(kubeClient kubernetes.Interface) *StorageMonitorClient
func (*StorageMonitorClient) GetNasCapacityInfo ¶ added in v1.3.0
func (c *StorageMonitorClient) GetNasCapacityInfo(pv string) (*nfsCapacityInfo, error)