collectors

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2022 License: MIT Imports: 72 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DescRmqBackingQueueStatusAvgAckEgressRate  = "Rate at which unacknowledged message records leave RAM, e.g. because acks arrive or unacked messages are paged out"
	DescRmqBackingQueueStatusAvgAckIngressRate = "Rate at which unacknowledged message records enter RAM, e.g. because messages are delivered requiring acknowledgement"
	DescRmqBackingQueueStatusAvgEgressRate     = "Average egress (outbound) rate, not including messages that straight through to auto-acking consumers."
	DescRmqBackingQueueStatusAvgIngressRate    = "Average ingress (inbound) rate, not including messages that straight through to auto-acking consumers."
	DescRmqBackingQueueStatusLen               = "Total backing queue length."
	DescRmqConsumers                           = "Number of consumers."
	DescRmqConsumerUtilisation                 = "" /* 203-byte string literal not displayed */
	DescRmqDiskFreeAlarm                       = "Whether the disk alarm has gone off."
	DescRmqDiskFree                            = "Disk free space in bytes."
	DescRmqDiskFreeLimit                       = "Point at which the disk alarm will go off."
	DescRmqDownSlaveNodes                      = "Count of down nodes having a copy of the queue."
	DescRmqFDTotal                             = "File descriptors available."
	DescRmqFDUsed                              = "Used file descriptors."
	DescRmqIOReadAvgTime                       = "Average wall time (milliseconds) for each disk read operation in the last statistics interval."
	DescRmqIOReadBytes                         = "Total number of bytes read from disk by the persister."
	DescRmqIOReadCount                         = "Total number of read operations by the persister."
	DescRmqIOReopenCount                       = "" /* 248-byte string literal not displayed */
	DescRmqIOSeekAvgTime                       = "Average wall time (milliseconds) for each seek operation in the last statistics interval."
	DescRmqIOSeekCount                         = "Total number of seek operations by the persister."
	DescRmqIOSyncAvgTime                       = "Average wall time (milliseconds) for each sync operation in the last statistics interval."
	DescRmqIOSyncCount                         = "Total number of fsync() operations by the persister."
	DescRmqIOWriteAvgTime                      = "Average wall time (milliseconds) for each write operation in the last statistics interval."
	DescRmqIOWriteBytes                        = "Total number of bytes written to disk by the persister."
	DescRmqIOWriteCount                        = "Total number of write operations by the persister."
	DescRmqMemAlarm                            = ""
	DescRmqMemLimit                            = "Point at which the memory alarm will go off."
	DescRmqMemory                              = "Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures."
	DescRmqMemUsed                             = "Memory used in bytes."
	DescRmqMessageBytesPersistent              = "Like messageBytes but counting only those messages which are persistent."
	DescRmqMessageBytesRAM                     = "Like messageBytes but counting only those messages which are in RAM."
	DescRmqMessageBytesReady                   = "Like messageBytes but counting only those messages ready to be delivered to clients."
	DescRmqMessageBytes                        = "" /* 133-byte string literal not displayed */
	DescRmqMessageBytesUnacknowledged          = "Like messageBytes but counting only those messages delivered to clients but not yet acknowledged."
	DescRmqMessagesPersistent                  = "Total number of persistent messages in the queue (will always be 0 for transient queues)."
	DescRmqMessagesRAM                         = "Total number of messages which are resident in ram."
	DescRmqMessagesReady                       = "Number of messages ready to be delivered to clients."
	DescRmqMessagesReadyRAM                    = "Number of messages from messagesReady which are resident in ram."
	DescRmqMessages                            = "Sum of ready and unacknowledged messages (queue depth)."
	DescRmqMessageStatsAck                     = "Count of acknowledged messages."
	DescRmqMessageStatsConfirm                 = "Count of messages confirmed."
	DescRmqMessageStatsDeliver                 = "Count of messages delivered in acknowledgement mode to consumers."
	DescRmqMessageStatsDeliverGet              = "Sum of deliver, deliverNoack, get, getNoack."
	DescRmqMessageStatsDeliverNoAck            = "Count of messages delivered in no-acknowledgement mode to consumers."
	DescRmqMessageStatsGet                     = "Count of messages delivered in acknowledgement mode in response to basic.get."
	DescRmqMessageStatsGetNoack                = "Count of messages delivered in no-acknowledgement mode in response to basic.get."
	DescRmqMessageStatsPublish                 = "Count of messages published."
	DescRmqMessageStatsPublishIn               = "Count of messages published \"in\" to an exchange, i.e. not taking account of routing."
	DescRmqMessageStatsPublishOut              = "Count of messages published \"out\" of an exchange, i.e. taking account of routing."
	DescRmqMessageStatsRedeliver               = "Count of subset of messages in deliverGet which had the redelivered flag set."
	DescRmqMessageStatsReturn                  = "Count of messages returned to publisher as unroutable."
	DescRmqMessagesUnacknowledged              = "Number of messages delivered to clients but not yet acknowledged."
	DescRmqMessagesUnacknowledgedRAM           = "Number of messages from messagesUnacknowledged which are resident in ram."
	DescRmqMnesiaDiskTxCount                   = "" /* 180-byte string literal not displayed */
	DescRmqMnesiaRAMTxCount                    = "" /* 189-byte string literal not displayed */
	DescRmqMsgStoreReadCount                   = "Number of messages which have been read from the message store."
	DescRmqMsgStoreWriteCount                  = "Number of messages which have been written to the message store."
	DescRmqObjecttotalsChannels                = "Overall number of channels."
	DescRmqObjectTotalsConnections             = "Overall number of connections."
	DescRmqObjectTotalsConsumers               = "Overall number of consumers."
	DescRmqObjectTotalsExchanges               = "Overall number of exchanges."
	DescRmqObjectTotalsQueues                  = "Overall number of queues."
	DescRmqPartitions                          = "Count of network partitions this node is seeing."
	DescRmqProcessors                          = "Number of cores detected and usable by Erlang."
	DescRmqProcTotal                           = "Maximum number of Erlang processes."
	DescRmqProcUsed                            = "Number of Erlang processes in use."
	DescRmqQueueIndexJournalWriteCount         = "" /* 179-byte string literal not displayed */
	DescRmqQueueIndexReadCount                 = "Number of records read from the queue index."
	DescRmqQueueIndexWriteCount                = "Number of records written to the queue index."
	DescRmqQueueTotalsMessages                 = "Overall sum of ready and unacknowledged messages (queue depth)."
	DescRmqQueueTotalsMessagesReady            = "Overall number of messages ready to be delivered to clients."
	DescRmqQueueTotalsMessagesUnacknowledged   = "Overall number of messages delivered to clients but not yet acknowledged."
	DescRmqRunning                             = "Boolean for whether this node is up. Obviously if this is false, most other stats will be missing."
	DescRmqRunQueue                            = "Average number of Erlang processes waiting to run."
	DescRmqSlaveNodes                          = "Count of nodes having a copy of the queue."
	DescRmqSocketsTotal                        = "File descriptors available for use as sockets."
	DescRmqSocketsUsed                         = "File descriptors used as sockets."
	DescRmqState                               = "The state of the queue. Unknown=> -1, Running=> 0, Syncing=> 1, Flow=> 2, Down=> 3"
	DescRmqSynchronisedSlaveNodes              = "Count of nodes having synchronised copy of the queue."
	DescRmqSyncMessages                        = "Count of already synchronised messages on a slave node."
	DescRmqUptime                              = "Node uptime in seconds."
)
View Source
const NS100_Seconds = 1e5

Divide CPU by 1e5 because: 1 seconds / 100 Nanoseconds = 1e7. This is the percent time as a decimal, so divide by two less zeros to make it the same as the result * 100.

Variables

View Source
var (
	// DefaultFreq is the duration between collection intervals if none is
	// specified.
	DefaultFreq = time.Second * 15

	AddTags opentsdb.TagSet

	AddProcessDotNetConfig = func(params conf.ProcessDotNet) error {
		return fmt.Errorf("process_dotnet watching not implemented on this platform")
	}
	WatchProcessesDotNet = func() {}

	KeepalivedCommunity = ""

	//TotalScollectorMemory stores the total memory used by Scollector (including CGO and WMI)
	TotalScollectorMemoryMB uint64

	MetricPrefix = ""
)
View Source
var DNSStatPropertyMap = map[string]DNSStatProperties{}/* 604 elements not displayed */

So what's the story here? WMI only returns a descriptive text for the counter, which is not particularly useful for Bosun. The good news is that there is a mapping between the WMI description and the counters actual internal name (exposed in the Get-DNSServerStatus powershell cmdlet. So an awfully long time was spent mapping the description to the actual metric name and category.

There is also a problem where a bunch of the metrics have the same description. This is likely a bug in the namespace where there is one counter for UDP and one counter for TCP. For these doubleups, "true" will be returned in the third parameter, and these numbers will be summed together and submitted as a single counter.

The sheet I worked all this out on is here: https://docs.google.com/spreadsheets/d/17Smri2o6Y9EiCrdELRy8TtwTpU5xh_yEoo728XtOgX4/edit?usp=sharing

Functions

func AWS

func AWS(accessKey, secretKey, region, productCodes, bucketName, bucketPath string, purgeDays int) error

func Add

func Add(md *opentsdb.MultiDataPoint, name string, value interface{}, t opentsdb.TagSet, rate metadata.RateType, unit metadata.Unit, desc string)

Add appends a new data point with given metric name, value, and tags. Tags may be nil. If tags is nil or does not contain a host key, it will be automatically added. If the value of the host key is the empty string, it will be removed (use this to prevent the normal auto-adding of the host tag).

func AddElasticIndexFilter

func AddElasticIndexFilter(s string, exclude bool) error

func AddMetricFilters

func AddMetricFilters(s string) error

AddMetricFilters adds metric filters provided by the conf

func AddProcessConfig

func AddProcessConfig(params conf.ProcessParams) error

func AddTS

func AddTS(md *opentsdb.MultiDataPoint, name string, ts int64, value interface{}, t opentsdb.TagSet, rate metadata.RateType, unit metadata.Unit, desc string)

AddTS is the same as Add but lets you specify the timestamp

func AddTagOverrides

func AddTagOverrides(s []Collector, tagOverride []conf.TagOverride) error

Adds configured tag overrides to all matching collectors

func ExtraHop

func ExtraHop(host, apikey, filterby string, filterpercent int, customMetrics []string, certMatch string, certActivityGroup int) error

ExtraHop collection registration

func GenericSnmp

func GenericSnmp(cfg conf.SNMP, mib conf.MIB) (opentsdb.MultiDataPoint, error)

func HTTPUnitHiera

func HTTPUnitHiera(filename string, freq time.Duration) error

func HTTPUnitPlans

func HTTPUnitPlans(name string, plans *httpunit.Plans, freq time.Duration)

func HTTPUnitTOML

func HTTPUnitTOML(filename string, freq time.Duration) error

func ICMP

func ICMP(host string) error

ICMP registers an ICMP collector a given host.

func Init

func Init(c *conf.Conf)

func InitFake

func InitFake(fake int)

func InitPrograms

func InitPrograms(cpath string)

func IsAlNum

func IsAlNum(s string) bool

IsAlNum returns true if s is alphanumeric.

func IsDigit

func IsDigit(s string) bool

IsDigit returns true if s consists of decimal digits.

func RabbitMQ

func RabbitMQ(url string) error

RabbitMQ registers a RabbitMQ collector.

func Riak

func Riak(s string) error

func Run

func Run(cs []Collector) (chan *opentsdb.DataPoint, chan struct{})

Run runs specified collectors. Use nil for all collectors.

func SNMP

func SNMP(cfg conf.SNMP, mibs map[string]conf.MIB) error

func SNMPBridge

func SNMPBridge(cfg conf.SNMP)

SNMP Bridge registers

func SNMPCiscoASA

func SNMPCiscoASA(cfg conf.SNMP)

SNMPCiscoASA registers a SNMP CISCO IOS collector for the given community and host.

func SNMPCiscoBGP

func SNMPCiscoBGP(cfg conf.SNMP)

func SNMPCiscoIOS

func SNMPCiscoIOS(cfg conf.SNMP)

SNMPCiscoIOS registers a SNMP CISCO IOS collector for the given community and host.

func SNMPCiscoNXOS

func SNMPCiscoNXOS(cfg conf.SNMP)

SNMPCiscoNXOS registers a SNMP Cisco's NXOS collector (i.e. nexus switches) for the given community and host.

func SNMPFortinet

func SNMPFortinet(cfg conf.SNMP)

SNMPFortinet registers a SNMP Fortinet collector for the given community and host.

func SNMPIPAddresses

func SNMPIPAddresses(cfg conf.SNMP)

SNMPIfaces registers a SNMP Interfaces collector for the given community and host.

func SNMPIfaces

func SNMPIfaces(cfg conf.SNMP)

SNMPIfaces registers a SNMP Interfaces collector for the given community and host.

func SNMPLag

func SNMPLag(cfg conf.SNMP)

SNMPLag registers a SNMP Interfaces collector for the given community and host.

func SNMPSys

func SNMPSys(cfg conf.SNMP)

SNMPSys registers a SNMP system data collector for the given community and host.

func TSys100NStoEpoch

func TSys100NStoEpoch(nsec uint64) int64

func Vsphere

func Vsphere(user, pwd, host string) error

Vsphere registers a vSphere collector.

func WatchProcesses

func WatchProcesses()

Types

type ByLastModified

type ByLastModified []*s3.Object

ByLastModified implements sorter for S3 data by last modified date

func (ByLastModified) Len

func (a ByLastModified) Len() int

func (ByLastModified) Less

func (a ByLastModified) Less(i, j int) bool

func (ByLastModified) Swap

func (a ByLastModified) Swap(i, j int)

type Collector

type Collector interface {
	Run(chan<- *opentsdb.DataPoint, <-chan struct{})
	Name() string
	Init()
	AddTagOverrides(map[string]string, opentsdb.TagSet) error
	ApplyTagOverrides(opentsdb.TagSet)
}
func Search(s []string) []Collector

Search returns all collectors matching the pattern s.

type DNSStatProperties

type DNSStatProperties struct {
	Category    string
	Metric      string
	DoubleUp    bool
	Grouping    string
	RateType    metadata.RateType
	Description string
}

type ElasticBreakersStat

type ElasticBreakersStat struct {
	EstimatedSize        string  `json:"estimated_size"`
	EstimatedSizeInBytes int     `json:"estimated_size_in_bytes"`
	LimitSize            string  `json:"limit_size"`
	LimitSizeInBytes     int     `json:"limit_size_in_bytes"`
	Overhead             float64 `json:"overhead"`
	Tripped              int     `json:"tripped"`
}

type ElasticClusterState

type ElasticClusterState struct {
	MasterNode string `json:"master_node"`
}

type ElasticClusterStats

type ElasticClusterStats struct {
	ClusterName string `json:"cluster_name"`
	Nodes       map[string]struct {
		Attributes struct {
			Master string `json:"master"`
		} `json:"attributes"`
		Breakers struct {
			Fielddata ElasticBreakersStat `json:"fielddata"`
			Parent    ElasticBreakersStat `json:"parent"`
			Request   ElasticBreakersStat `json:"request"`
		} `json:"breakers" exclude:"true"`
		FS struct {
			Data []struct {
				AvailableInBytes     int    `json:"available_in_bytes"`
				Dev                  string `json:"dev" version:"1"`                      // 1.0 only
				DiskIoOp             int    `json:"disk_io_op" version:"1"`               // 1.0 only
				DiskIoSizeInBytes    int    `json:"disk_io_size_in_bytes" version:"1"`    // 1.0 only
				DiskQueue            string `json:"disk_queue" version:"1"`               // 1.0 only
				DiskReadSizeInBytes  int    `json:"disk_read_size_in_bytes" version:"1"`  // 1.0 only
				DiskReads            int    `json:"disk_reads" version:"1"`               // 1.0 only
				DiskServiceTime      string `json:"disk_service_time" version:"1"`        // 1.0 only
				DiskWriteSizeInBytes int    `json:"disk_write_size_in_bytes" version:"1"` // 1.0 only
				DiskWrites           int    `json:"disk_writes" version:"1"`              // 1.0 only
				FreeInBytes          int    `json:"free_in_bytes"`
				Mount                string `json:"mount"`
				Path                 string `json:"path"`
				TotalInBytes         int    `json:"total_in_bytes"`
				Type                 string `json:"type" version:"2"` // 2.0 only
			} `json:"data"`
			Timestamp int `json:"timestamp"`
			Total     struct {
				AvailableInBytes     int    `json:"available_in_bytes"`
				DiskIoOp             int    `json:"disk_io_op" version:"1"`               // 1.0 only
				DiskIoSizeInBytes    int    `json:"disk_io_size_in_bytes" version:"1"`    // 1.0 only
				DiskQueue            string `json:"disk_queue" version:"1"`               // 1.0 only
				DiskReadSizeInBytes  int    `json:"disk_read_size_in_bytes" version:"1"`  // 1.0 only
				DiskReads            int    `json:"disk_reads" version:"1"`               // 1.0 only
				DiskServiceTime      string `json:"disk_service_time" version:"1"`        // 1.0 only
				DiskWriteSizeInBytes int    `json:"disk_write_size_in_bytes" version:"1"` // 1.0 only
				DiskWrites           int    `json:"disk_writes" version:"1"`              // 1.0 only
				FreeInBytes          int    `json:"free_in_bytes"`
				TotalInBytes         int    `json:"total_in_bytes"`
			} `json:"total"`
		} `json:"fs" exclude:"true"`
		Host string `json:"host"`
		HTTP struct {
			CurrentOpen int `json:"current_open"`
			TotalOpened int `json:"total_opened"`
		} `json:"http"`
		Indices ElasticIndexDetails `json:"indices" exclude:"true"` // Stored under elastic.indices.local namespace.
		//IP      []string            `json:"ip" exclude:"true"`	// Incompatible format between 5.x and previous, and not used in collector
		JVM struct {
			BufferPools struct {
				Direct struct {
					Count                int `json:"count"`
					TotalCapacityInBytes int `json:"total_capacity_in_bytes"`
					UsedInBytes          int `json:"used_in_bytes"`
				} `json:"direct"`
				Mapped struct {
					Count                int `json:"count"`
					TotalCapacityInBytes int `json:"total_capacity_in_bytes"`
					UsedInBytes          int `json:"used_in_bytes"`
				} `json:"mapped"`
			} `json:"buffer_pools"`
			Classes struct {
				CurrentLoadedCount int `json:"current_loaded_count" version:"2"` // 2.0 only
				TotalLoadedCount   int `json:"total_loaded_count" version:"2"`   // 2.0 only
				TotalUnloadedCount int `json:"total_unloaded_count" version:"2"` // 2.0 only
			} `json:"classes"`
			GC struct {
				Collectors struct {
					Old struct {
						CollectionCount        int `json:"collection_count"`
						CollectionTimeInMillis int `json:"collection_time_in_millis"`
					} `json:"old"`
					Young struct {
						CollectionCount        int `json:"collection_count"`
						CollectionTimeInMillis int `json:"collection_time_in_millis"`
					} `json:"young"`
				} `json:"collectors"`
			} `json:"gc" exclude:"true"` // This is recorded manually so we can tag the GC collector type.
			Mem struct {
				HeapCommittedInBytes    int `json:"heap_committed_in_bytes" metric:"heap_committed"`
				HeapMaxInBytes          int `json:"heap_max_in_bytes"`
				HeapUsedInBytes         int `json:"heap_used_in_bytes" metric:"heap_used"`
				HeapUsedPercent         int `json:"heap_used_percent"`
				NonHeapCommittedInBytes int `json:"non_heap_committed_in_bytes"`
				NonHeapUsedInBytes      int `json:"non_heap_used_in_bytes"`
				Pools                   struct {
					Old struct {
						MaxInBytes      int `json:"max_in_bytes"`
						PeakMaxInBytes  int `json:"peak_max_in_bytes"`
						PeakUsedInBytes int `json:"peak_used_in_bytes"`
						UsedInBytes     int `json:"used_in_bytes"`
					} `json:"old"`
					Survivor struct {
						MaxInBytes      int `json:"max_in_bytes"`
						PeakMaxInBytes  int `json:"peak_max_in_bytes"`
						PeakUsedInBytes int `json:"peak_used_in_bytes"`
						UsedInBytes     int `json:"used_in_bytes"`
					} `json:"survivor"`
					Young struct {
						MaxInBytes      int `json:"max_in_bytes"`
						PeakMaxInBytes  int `json:"peak_max_in_bytes"`
						PeakUsedInBytes int `json:"peak_used_in_bytes"`
						UsedInBytes     int `json:"used_in_bytes"`
					} `json:"young"`
				} `json:"pools" exclude:"true"`
			} `json:"mem"`
			Threads struct {
				Count     int `json:"count"`
				PeakCount int `json:"peak_count"`
			} `json:"threads"`
			Timestamp      int `json:"timestamp"`
			UptimeInMillis int `json:"uptime_in_millis"`
		} `json:"jvm"`
		Name    string `json:"name"`
		Network struct {
			TCP struct {
				ActiveOpens  int `json:"active_opens" version:"1"`  // 1.0 only
				AttemptFails int `json:"attempt_fails" version:"1"` // 1.0 only
				CurrEstab    int `json:"curr_estab" version:"1"`    // 1.0 only
				EstabResets  int `json:"estab_resets" version:"1"`  // 1.0 only
				InErrs       int `json:"in_errs" version:"1"`       // 1.0 only
				InSegs       int `json:"in_segs" version:"1"`       // 1.0 only
				OutRsts      int `json:"out_rsts" version:"1"`      // 1.0 only
				OutSegs      int `json:"out_segs" version:"1"`      // 1.0 only
				PassiveOpens int `json:"passive_opens" version:"1"` // 1.0 only
				RetransSegs  int `json:"retrans_segs" version:"1"`  // 1.0 only
			} `json:"tcp"`
		} `json:"network"`
		OS struct {
			CPU struct {
				Idle   int `json:"idle" version:"1"`   // 1.0 only
				Stolen int `json:"stolen" version:"1"` // 1.0 only
				Sys    int `json:"sys" version:"1"`    // 1.0 only
				Usage  int `json:"usage" version:"1"`  // 1.0 only
				User   int `json:"user" version:"1"`   // 1.0 only
			} `json:"cpu"`
			//			LoadAverage []float64 `json:"load_average"` // 1.0 only
			//			LoadAverage float64 `json:"load_average"` // 2.0 only
			Mem struct {
				ActualFreeInBytes int `json:"actual_free_in_bytes" version:"1"` // 1.0 only
				ActualUsedInBytes int `json:"actual_used_in_bytes" version:"1"` // 1.0 only
				FreeInBytes       int `json:"free_in_bytes"`
				FreePercent       int `json:"free_percent"`
				TotalInBytes      int `json:"total_in_bytes" version:"2"` // 2.0 only
				UsedInBytes       int `json:"used_in_bytes"`
				UsedPercent       int `json:"used_percent"`
			} `json:"mem"`
			Swap struct {
				FreeInBytes  int `json:"free_in_bytes"`
				TotalInBytes int `json:"total_in_bytes" version:"2"` // 2.0 only
				UsedInBytes  int `json:"used_in_bytes"`
			} `json:"swap"`
			Timestamp      int `json:"timestamp"`
			UptimeInMillis int `json:"uptime_in_millis"`
		} `json:"os" exclude:"true"` // These are OS-wide stats, and are already gathered by other collectors.
		Process struct {
			CPU struct {
				Percent       int `json:"percent" exclude:"true"`
				SysInMillis   int `json:"sys_in_millis" version:"1"` // 1.0 only
				TotalInMillis int `json:"total_in_millis"`
				UserInMillis  int `json:"user_in_millis" version:"1"` // 1.0 only
			} `json:"cpu"`
			MaxFileDescriptors int `json:"max_file_descriptors" version:"2"` // 2.0 only
			Mem                struct {
				ResidentInBytes     int `json:"resident_in_bytes" metric:"resident" version:"1"` // 1.0 only
				ShareInBytes        int `json:"share_in_bytes" metric:"shared" version:"1"`      // 1.0 only
				TotalVirtualInBytes int `json:"total_virtual_in_bytes" metric:"total_virtual"`
			} `json:"mem"`
			OpenFileDescriptors int `json:"open_file_descriptors"`
			Timestamp           int `json:"timestamp" exclude:"true"`
		} `json:"process"`
		Script struct {
			CacheEvictions int `json:"cache_evictions" version:"2"` // 2.0 only
			Compilations   int `json:"compilations" version:"2"`    // 2.0 only
		} `json:"script"`
		ThreadPool struct {
			Bulk              ElasticThreadPoolStat `json:"bulk"`
			FetchShardStarted ElasticThreadPoolStat `json:"fetch_shard_started" version:"2"` // 2.0 only
			FetchShardStore   ElasticThreadPoolStat `json:"fetch_shard_store" version:"2"`   // 2.0 only
			Flush             ElasticThreadPoolStat `json:"flush"`
			Generic           ElasticThreadPoolStat `json:"generic"`
			Get               ElasticThreadPoolStat `json:"get"`
			Index             ElasticThreadPoolStat `json:"index"`
			Listener          ElasticThreadPoolStat `json:"listener"`
			Management        ElasticThreadPoolStat `json:"management"`
			Merge             ElasticThreadPoolStat `json:"merge" version:"1"` // 1.0 only
			Optimize          ElasticThreadPoolStat `json:"optimize"`
			Percolate         ElasticThreadPoolStat `json:"percolate"`
			Refresh           ElasticThreadPoolStat `json:"refresh"`
			Search            ElasticThreadPoolStat `json:"search"`
			Snapshot          ElasticThreadPoolStat `json:"snapshot"`
			Suggest           ElasticThreadPoolStat `json:"suggest"`
			Warmer            ElasticThreadPoolStat `json:"warmer"`
		} `json:"thread_pool" exclude:"true"`
		Timestamp int `json:"timestamp"`
		Transport struct {
			RxCount       int `json:"rx_count"`
			RxSizeInBytes int `json:"rx_size_in_bytes"`
			ServerOpen    int `json:"server_open"`
			TxCount       int `json:"tx_count"`
			TxSizeInBytes int `json:"tx_size_in_bytes"`
		} `json:"transport"`
		TransportAddress string `json:"transport_address"`
	} `json:"nodes"`
}

type ElasticHealth

type ElasticHealth struct {
	ActivePrimaryShards         int                           `` /* 191-byte string literal not displayed */
	ActiveShards                int                           `json:"active_shards" desc:"The number of active shards."`
	ActiveShardsPercentAsNumber float64                       `json:"active_shards_percent_as_number" version:"2"` // 2.0 only
	ClusterName                 string                        `json:"cluster_name"`
	DelayedUnassignedShards     int                           `json:"delayed_unassigned_shards" version:"2"` // 2.0 only
	Indices                     map[string]ElasticIndexHealth `json:"indices" exclude:"true"`
	InitializingShards          int                           `json:"initializing_shards" desc:"The number of initalizing shards."`
	NumberOfDataNodes           int                           `json:"number_of_data_nodes"`
	NumberOfInFlightFetch       int                           `json:"number_of_in_flight_fetch" version:"2"` // 2.0 only
	NumberOfNodes               int                           `json:"number_of_nodes"`
	NumberOfPendingTasks        int                           `json:"number_of_pending_tasks"`
	RelocatingShards            int                           `json:"relocating_shards" desc:"The number of shards relocating."`
	Status                      string                        `json:"status" desc:"The current status of the cluster. 0: green, 1: yellow, 2: red."`
	TaskMaxWaitingInQueueMillis int                           `json:"task_max_waiting_in_queue_millis" version:"2"` // 2.0 only
	TimedOut                    bool                          `json:"timed_out" exclude:"true"`
	UnassignedShards            int                           `json:"unassigned_shards" version:"2"` // 2.0 only
}

type ElasticIndex

type ElasticIndex struct {
	Primaries ElasticIndexDetails `json:"primaries"`
	Total     ElasticIndexDetails `json:"total"`
}

type ElasticIndexDetails

type ElasticIndexDetails struct {
	Completion struct {
		SizeInBytes int `json:"size_in_bytes" desc:"Size of the completion index (used for auto-complete functionallity)."`
	} `json:"completion"`
	Docs struct {
		Count   int `json:"count" rate:"gauge" rate:"gauge" unit:"documents" desc:"The number of documents in the index."`
		Deleted int `json:"deleted" rate:"gauge" unit:"documents" desc:"The number of deleted documents in the index."`
	} `json:"docs"`
	Fielddata struct {
		Evictions         int `json:"evictions" rate:"counter" unit:"evictions" desc:"The number of cache evictions for field data."`
		MemorySizeInBytes int `json:"memory_size_in_bytes" desc:"The amount of memory used for field data."`
	} `json:"fielddata"`
	FilterCache struct {
		Evictions         int `json:"evictions" version:"1" rate:"counter" unit:"evictions" desc:"The number of cache evictions for filter data."` // 1.0 only
		MemorySizeInBytes int `json:"memory_size_in_bytes" version:"1" desc:"The amount of memory used for filter data."`                          // 1.0 only
	} `json:"filter_cache"`
	Flush struct {
		Total             int `` /* 230-byte string literal not displayed */
		TotalTimeInMillis int `` /* 265-byte string literal not displayed */
	} `json:"flush"`
	Get struct {
		Current             int `` /* 147-byte string literal not displayed */
		ExistsTimeInMillis  int `` /* 161-byte string literal not displayed */
		ExistsTotal         int `` /* 141-byte string literal not displayed */
		MissingTimeInMillis int `` /* 152-byte string literal not displayed */
		MissingTotal        int `` /* 151-byte string literal not displayed */
		TimeInMillis        int `` /* 171-byte string literal not displayed */
		Total               int `` /* 151-byte string literal not displayed */
	} `json:"get"`
	IDCache struct {
		MemorySizeInBytes int `json:"memory_size_in_bytes" version:"1" desc:"The size of the id cache."` // 1.0 only
	} `json:"id_cache"`
	Indexing struct {
		DeleteCurrent        int  `` /* 152-byte string literal not displayed */
		DeleteTimeInMillis   int  `json:"delete_time_in_millis" rate:"counter" unit:"seconds" desc:"The time spent deleting documents."`
		DeleteTotal          int  `json:"delete_total" rate:"counter" unit:"documents" desc:"The total number of documents deleted."`
		IndexCurrent         int  `json:"index_current" rate:"gauge" unit:"documents" desc:"The current number of documents being indexed."`
		IndexTimeInMillis    int  `json:"index_time_in_millis" rate:"counter" unit:"seconds" desc:"The total amount of time spent indexing documents."`
		IndexTotal           int  `json:"index_total" rate:"counter" unit:"documents" desc:"The total number of documents indexed."`
		IsThrottled          bool `json:"is_throttled" exclude:"true"`
		NoopUpdateTotal      int  `json:"noop_update_total"`
		ThrottleTimeInMillis int  `json:"throttle_time_in_millis"`
	} `json:"indexing"`
	Merges struct {
		Current                    int ``                                                  /* 197-byte string literal not displayed */
		CurrentDocs                int ``                                                  /* 247-byte string literal not displayed */
		CurrentSizeInBytes         int ``                                                  /* 186-byte string literal not displayed */
		Total                      int ``                                                  /* 185-byte string literal not displayed */
		TotalAutoThrottleInBytes   int `json:"total_auto_throttle_in_bytes" version:"2"`   // 2.0 only
		TotalDocs                  int ``                                                  /* 240-byte string literal not displayed */
		TotalSizeInBytes           int ``                                                  /* 176-byte string literal not displayed */
		TotalStoppedTimeInMillis   int `json:"total_stopped_time_in_millis" version:"2"`   // 2.0 only
		TotalThrottledTimeInMillis int `json:"total_throttled_time_in_millis" version:"2"` // 2.0 only
		TotalTimeInMillis          int ``                                                  /* 225-byte string literal not displayed */
	} `json:"merges"`
	Percolate struct {
		Current           int    `json:"current" rate:"gauge" unit:"operations" desc:"The current number of percolate operations."`
		MemorySize        string `json:"memory_size"`
		MemorySizeInBytes int    `` /* 137-byte string literal not displayed */
		Queries           int    `` /* 142-byte string literal not displayed */
		TimeInMillis      int    `` /* 157-byte string literal not displayed */
		Total             int    `` /* 144-byte string literal not displayed */
	} `json:"percolate"`
	QueryCache struct {
		CacheCount        int `json:"cache_count" version:"2"` // 2.0 only
		CacheSize         int `json:"cache_size" version:"2"`  // 2.0 only
		Evictions         int `json:"evictions"`
		HitCount          int `json:"hit_count"`
		MemorySizeInBytes int `json:"memory_size_in_bytes"`
		MissCount         int `json:"miss_count"`
		TotalCount        int `json:"total_count" version:"2"` // 2.0 only
	} `json:"query_cache"`
	Recovery struct {
		CurrentAsSource      int `json:"current_as_source"`
		CurrentAsTarget      int `json:"current_as_target"`
		ThrottleTimeInMillis int `json:"throttle_time_in_millis"`
	} `json:"recovery"`
	Refresh struct {
		Total             int `` /* 155-byte string literal not displayed */
		TotalTimeInMillis int `` /* 184-byte string literal not displayed */
	} `json:"refresh"`
	RequestCache struct {
		Evictions         int `json:"evictions" version:"2"`            // 2.0 only
		HitCount          int `json:"hit_count" version:"2"`            // 2.0 only
		MemorySizeInBytes int `json:"memory_size_in_bytes" version:"2"` // 2.0 only
		MissCount         int `json:"miss_count" version:"2"`           // 2.0 only
	} `json:"request_cache"`
	Search struct {
		FetchCurrent       int `` /* 161-byte string literal not displayed */
		FetchTimeInMillis  int `` /* 162-byte string literal not displayed */
		FetchTotal         int `` /* 153-byte string literal not displayed */
		OpenContexts       int `` /* 148-byte string literal not displayed */
		QueryCurrent       int `json:"query_current" rate:"gauge" unit:"queries" desc:"The current number of queries."`
		QueryTimeInMillis  int `json:"query_time_in_millis" rate:"counter" unit:"seconds" desc:"The total amount of time spent querying."`
		QueryTotal         int `json:"query_total" rate:"counter" unit:"queries" desc:"The total number of queries."`
		ScrollCurrent      int `json:"scroll_current" version:"2"`        // 2.0 only
		ScrollTimeInMillis int `json:"scroll_time_in_millis" version:"2"` // 2.0 only
		ScrollTotal        int `json:"scroll_total" version:"2"`          // 2.0 only
	} `json:"search"`
	Segments struct {
		Count                       int `json:"count" rate:"counter" unit:"segments" desc:"The number of segments that make up the index."`
		DocValuesMemoryInBytes      int `json:"doc_values_memory_in_bytes" version:"2"` // 2.0 only
		FixedBitSetMemoryInBytes    int `json:"fixed_bit_set_memory_in_bytes"`
		IndexWriterMaxMemoryInBytes int `json:"index_writer_max_memory_in_bytes"`
		IndexWriterMemoryInBytes    int `json:"index_writer_memory_in_bytes"`
		MemoryInBytes               int `json:"memory_in_bytes" desc:"The total amount of memory used for Lucene segments."`
		NormsMemoryInBytes          int `json:"norms_memory_in_bytes" version:"2"`         // 2.0 only
		StoredFieldsMemoryInBytes   int `json:"stored_fields_memory_in_bytes" version:"2"` // 2.0 only
		TermVectorsMemoryInBytes    int `json:"term_vectors_memory_in_bytes" version:"2"`  // 2.0 only
		TermsMemoryInBytes          int `json:"terms_memory_in_bytes" version:"2"`         // 2.0 only
		VersionMapMemoryInBytes     int `json:"version_map_memory_in_bytes"`
	} `json:"segments"`
	Store struct {
		SizeInBytes          int `json:"size_in_bytes" unit:"bytes" desc:"The current size of the store."`
		ThrottleTimeInMillis int `json:"throttle_time_in_millis" rate:"gauge" unit:"seconds" desc:"The amount of time that merges where throttled."`
	} `json:"store"`
	Suggest struct {
		Current      int `json:"current" rate:"gauge" unit:"suggests" desc:"The current number of suggest operations."`
		TimeInMillis int `json:"time_in_millis" rate:"gauge" unit:"seconds" desc:"The total amount of time spent on suggest operations."`
		Total        int `json:"total" rate:"gauge" unit:"suggests" desc:"The total number of suggest operations."`
	} `json:"suggest"`
	Translog struct {
		Operations  int `` /* 171-byte string literal not displayed */
		SizeInBytes int `` /* 137-byte string literal not displayed */
	} `json:"translog"`
	Warmer struct {
		Current           int `` /* 181-byte string literal not displayed */
		Total             int `` /* 177-byte string literal not displayed */
		TotalTimeInMillis int `` /* 193-byte string literal not displayed */
	} `json:"warmer"`
}

type ElasticIndexHealth

type ElasticIndexHealth struct {
	ActivePrimaryShards int    `` /* 191-byte string literal not displayed */
	ActiveShards        int    `json:"active_shards" desc:"The number of active shards."`
	InitializingShards  int    `json:"initializing_shards" desc:"The number of initalizing shards."`
	NumberOfReplicas    int    `json:"number_of_replicas" desc:"The number of replicas."`
	NumberOfShards      int    `json:"number_of_shards" desc:"The number of shards."`
	RelocatingShards    int    `json:"relocating_shards" desc:"The number of shards relocating."`
	Status              string `json:"status" desc:"The current status of the index. 0: green, 1: yellow, 2: red."`
	UnassignedShards    int    `json:"unassigned_shards"`
}

type ElasticIndexStats

type ElasticIndexStats struct {
	All    ElasticIndex `json:"_all"`
	Shards struct {
		Failed     float64 `json:"failed"`
		Successful float64 `json:"successful"`
		Total      float64 `json:"total"`
	} `json:"_shards"`
	Indices map[string]ElasticIndex `json:"indices"`
}

type ElasticStatus

type ElasticStatus struct {
	Status  int    `json:"status"`
	Name    string `json:"name"`
	Version struct {
		Number string `json:"number"`
	} `json:"version"`
}

type ElasticThreadPoolStat

type ElasticThreadPoolStat struct {
	Active    int `json:"active"`
	Completed int `json:"completed"`
	Largest   int `json:"largest"`
	Queue     int `json:"queue"`
	Rejected  int `json:"rejected"`
	Threads   int `json:"threads"`
}

type IntervalCollector

type IntervalCollector struct {
	F        func() (opentsdb.MultiDataPoint, error)
	Interval time.Duration // defaults to DefaultFreq if unspecified
	Enable   func() bool

	// internal use
	sync.Mutex

	TagOverride
	// contains filtered or unexported fields
}

func (*IntervalCollector) Enabled

func (c *IntervalCollector) Enabled() bool

func (*IntervalCollector) Init

func (c *IntervalCollector) Init()

func (*IntervalCollector) Name

func (c *IntervalCollector) Name() string

func (*IntervalCollector) Run

func (c *IntervalCollector) Run(dpchan chan<- *opentsdb.DataPoint, quit <-chan struct{})

type L7Stats

type L7Stats struct {
	Rate        metadata.RateType
	Unit        metadata.Unit
	Description string
}

type MSAD_ReplNeighbor

type MSAD_ReplNeighbor struct {
	SourceDsaCN                string
	NamingContextDN            string
	TimeOfLastSyncSuccess      string
	NumConsecutiveSyncFailures uint32
}

type MSCluster_Cluster

type MSCluster_Cluster struct {
	Name string
}

type MSCluster_Node

type MSCluster_Node struct {
	Name          string
	NodeWeight    uint32
	DynamicWeight uint32
	State         uint32
}

type MSCluster_Resource

type MSCluster_Resource struct {
	Name       string
	OwnerGroup string
	OwnerNode  string
	Type       string
	State      uint32
}

type MSFT_DSCConfigurationStatus

type MSFT_DSCConfigurationStatus struct {
	MSFT_DSCConfigurationStatus []struct {
		DurationInSeconds int
		MetaConfiguration struct {
			ConfigurationModeFrequencyMins int
			LCMState                       string
			RebootNodeIfNeeded             bool
			RefreshFrequencyMins           int
		}
		Mode                    string
		NumberOfResources       int
		RebootRequested         bool
		ResourcesInDesiredState []struct {
			ConfigurationName string
			DurationInSeconds float64
		}
		ResourcesNotInDesiredState []struct {
			ConfigurationName string
			DurationInSeconds float64
		}
		StartDate string
		Status    string
		Type      string
	}
	ReturnValue int
}

type MSFT_NetAdapterStatisticsSettingData

type MSFT_NetAdapterStatisticsSettingData struct {
	InstanceID               string
	Name                     string
	InterfaceDescription     string
	ReceivedBytes            uint64
	ReceivedUnicastPackets   uint64
	ReceivedMulticastPackets uint64
	ReceivedBroadcastPackets uint64
	ReceivedUnicastBytes     uint64
	ReceivedMulticastBytes   uint64
	ReceivedBroadcastBytes   uint64
	ReceivedDiscardedPackets uint64
	ReceivedPacketErrors     uint64
	SentBytes                uint64
	SentUnicastPackets       uint64
	SentMulticastPackets     uint64
	SentBroadcastPackets     uint64
	SentUnicastBytes         uint64
	SentMulticastBytes       uint64
	SentBroadcastBytes       uint64
	OutboundDiscardedPackets uint64
	OutboundPacketErrors     uint64
}

type MSFT_NetLbfoTeamMember

type MSFT_NetLbfoTeamMember struct {
	Name             string
	ReceiveLinkSpeed uint64
	Team             string
	InstanceID       string
}

type MSFT_NetLbfoTeamNic

type MSFT_NetLbfoTeamNic struct {
	Team                 string
	Name                 string
	ReceiveLinkSpeed     uint64
	Transmitlinkspeed    uint64
	InterfaceDescription string
}

type MetricMeta

type MetricMeta struct {
	Metric   string
	TagSet   opentsdb.TagSet
	RateType metadata.RateType
	Unit     metadata.Unit
	Desc     string
}

type MetricMetaHAProxy

type MetricMetaHAProxy struct {
	Name   string
	Ignore bool
	MetricMeta
}

MetricMetaHAProxy is a super-structure which adds a friendly Name, as well as an indicator on if a metric is to be ignored.

type MicrosoftDNS_Statistic

type MicrosoftDNS_Statistic struct {
	CollectionId   uint32
	CollectionName string
	DnsServerName  string
	Name           string
	//StringValue *string
	Value *uint32 //The namespace documentation does not mention that this is a nullable field, but apparently it is.
}

type PRReport

type PRReport struct {
	Status string `yaml:"status"`
	Time   string `yaml:"time"` // 2006-01-02 15:04:05.999999 -07:00
}

type PRSummary

type PRSummary struct {
	Changes struct {
		Total float64 `yaml:"total"`
	} `yaml:"changes"`
	Events struct {
		Failure float64 `yaml:"failure"`
		Success float64 `yaml:"success"`
		Total   float64 `yaml:"total"`
	} `yaml:"events"`
	Resources struct {
		Changed         float64 `yaml:"changed"`
		Failed          float64 `yaml:"failed"`
		FailedToRestart float64 `yaml:"failed_to_restart"`
		OutOfSync       float64 `yaml:"out_of_sync"`
		Restarted       float64 `yaml:"restarted"`
		Scheduled       float64 `yaml:"scheduled"`
		Skipped         float64 `yaml:"skipped"`
		Total           float64 `yaml:"total"`
	} `yaml:"resources"`
	Time    map[string]string `yaml:"time"`
	Version struct {
		Config string `yaml:"config"`
		Puppet string `yaml:"puppet"`
	} `yaml:"version"`
}

type ProgramCollector

type ProgramCollector struct {
	Path     string
	Interval time.Duration

	TagOverride
}

func (*ProgramCollector) Init

func (c *ProgramCollector) Init()

func (*ProgramCollector) Name

func (c *ProgramCollector) Name() string

func (*ProgramCollector) Run

func (c *ProgramCollector) Run(dpchan chan<- *opentsdb.DataPoint, quit <-chan struct{})

type StreamCollector

type StreamCollector struct {
	F func() <-chan *opentsdb.MultiDataPoint

	TagOverride
	// contains filtered or unexported fields
}

func (*StreamCollector) Enabled

func (s *StreamCollector) Enabled() bool

func (*StreamCollector) Init

func (s *StreamCollector) Init()

func (*StreamCollector) Name

func (s *StreamCollector) Name() string

func (*StreamCollector) Run

func (s *StreamCollector) Run(dpchan chan<- *opentsdb.DataPoint, quit <-chan struct{})

type TagOverride

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

func (*TagOverride) AddTagOverrides

func (to *TagOverride) AddTagOverrides(sources map[string]string, t opentsdb.TagSet) error

func (*TagOverride) ApplyTagOverrides

func (to *TagOverride) ApplyTagOverrides(t opentsdb.TagSet)

type Win32_BIOS

type Win32_BIOS struct {
	SerialNumber string
}

type Win32_ComputerSystem

type Win32_ComputerSystem struct {
	Manufacturer              string
	Model                     string
	TotalPhysicalMemory       uint64
	NumberOfLogicalProcessors uint32
}

type Win32_LogicalDisk

type Win32_LogicalDisk struct {
	FreeSpace  uint64
	Name       string
	Size       uint64
	VolumeName string
}

type Win32_NetworkAdapter

type Win32_NetworkAdapter struct {
	Description     string // Intel(R) Gigabit ET Quad Port Server Adapter (no index)
	InterfaceIndex  uint32
	PNPDeviceID     string
	NetConnectionID string  //NY-WEB09-PRI-NIC-A
	Speed           *uint64 //Bits per Second
	MACAddress      string  //00:1B:21:93:00:00
	GUID            string
}

type Win32_NetworkAdapterConfiguration

type Win32_NetworkAdapterConfiguration struct {
	IPAddress      *[]string //Both IPv4 and IPv6
	InterfaceIndex uint32
}

type Win32_OperatingSystem

type Win32_OperatingSystem struct {
	FreePhysicalMemory     uint64
	FreeVirtualMemory      uint64
	TotalVirtualMemorySize uint64
	TotalVisibleMemorySize uint64
	Caption                string
	Version                string
}

type Win32_PageFileUsage

type Win32_PageFileUsage struct {
	AllocatedBaseSize uint32
	CurrentUsage      uint32
	PeakUsage         uint32
	Name              string
}

type Win32_PerfRawData_APPPOOLCountersProvider_APPPOOLWAS

type Win32_PerfRawData_APPPOOLCountersProvider_APPPOOLWAS struct {
	CurrentApplicationPoolState        uint32
	CurrentApplicationPoolUptime       uint64
	CurrentWorkerProcesses             uint32
	Frequency_Object                   uint64
	MaximumWorkerProcesses             uint32
	Name                               string
	RecentWorkerProcessFailures        uint32
	TimeSinceLastWorkerProcessFailure  uint64
	Timestamp_Object                   uint64
	TotalApplicationPoolRecycles       uint32
	TotalWorkerProcessesCreated        uint32
	TotalWorkerProcessFailures         uint32
	TotalWorkerProcessPingFailures     uint32
	TotalWorkerProcessShutdownFailures uint32
	TotalWorkerProcessStartupFailures  uint32
}

type Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection

type Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection struct {
	Name       string
	QueueDepth uint16 // HP EVA host connections: Connection queue depth
}

type Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics

type Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics struct {
	Name           string
	AvQueueDepth   uint16 // HP EVA Host port statistics: Average queue depth
	ReadKBPers     uint64 // HP EVA Host port statistics: Read rate in KBytes per second
	ReadLatencyus  uint64 // HP EVA Host port statistics: Read latency in microseconds
	ReadReqPers    uint64 // HP EVA Host port statistics: Number of read requests per second
	WriteKBPers    uint64 // HP EVA Host port statistics: Write rate in KBytes per second
	WriteLatencyus uint64 // HP EVA Host port statistics: Write latency in microseconds
	WriteReqPers   uint64 // HP EVA Host port statistics: Number of write requests per second
}

type Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup

type Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup struct {
	Name            string
	DriveLatencyus  uint64 // HP EVA Physical Disk Group performance data: Average drive latency in microseconds. EVA GL only
	DriveQueueDepth uint16 // HP EVA Physical Disk Group performance data: Average depth of the drive queue
	ReadKBPers      uint64 // HP EVA Physical Disk Group performance data: Average read in KBytes per second
	ReadLatencyus   uint64 // HP EVA Physical Disk Group performance data: Average read ilatency in microseconds. EVA XL only
	ReadReqPers     uint64 // HP EVA Physical Disk Group performance data: Average read requests per second
	WriteKBPers     uint64 // HP EVA Physical Disk Group performance data: Average write ilatency in microseconds. EVA XL only
	WriteLatencyus  uint64 // HP EVA Physical Disk Group performance data: Writes in KBytes per second
	WriteReqPers    uint64 // HP EVA Physical Disk Group performance data: Write requests per second
}

type Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray

type Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray struct {
	Name             string
	TotalhostKBPers  uint64 // HP Enterprise Virtual Array general metrics: The total number of host requests in KBytes per second
	TotalhostReqPers uint32 // HP Enterprise Virtual Array general metrics: The total number of host requests per second
}

type Win32_PerfRawData_EVAPMEXT_HPEVAStorageController

type Win32_PerfRawData_EVAPMEXT_HPEVAStorageController struct {
	Name                    string
	PercentDataTransferTime uint16 // HP Enterprise Virtual Array storage controller metrics: Percentage CPU time
	PercentProcessorTime    uint16 // HP Enterprise Virtual Array storage controller metrics: Percentage CPU time used to perform data transfer operations
}

type Win32_PerfRawData_EVAPMEXT_HPEVAVirtualDisk

type Win32_PerfRawData_EVAPMEXT_HPEVAVirtualDisk struct {
	Name              string
	ReadHitKBPers     uint64
	ReadHitLatencyus  uint64
	ReadHitReqPers    uint32
	ReadMissKBPers    uint64
	ReadMissLatencyus uint64
	ReadMissReqPers   uint32
	WriteKBPers       uint64
	WriteLatencyus    uint64
	WriteReqPers      uint64
}

See msdn for counter types http://msdn.microsoft.com/en-us/library/ms804035.aspx

type Win32_PerfRawData_MSSQLSERVER_SQLServerAvailabilityReplica

type Win32_PerfRawData_MSSQLSERVER_SQLServerAvailabilityReplica struct {
	BytesReceivedfromReplicaPersec uint64
	BytesSenttoReplicaPersec       uint64
	BytesSenttoTransportPersec     uint64
	FlowControlPersec              uint64
	FlowControlTimemsPersec        uint64
	Name                           string
	ReceivesfromReplicaPersec      uint64
	ResentMessagesPersec           uint64
	SendstoReplicaPersec           uint64
	SendstoTransportPersec         uint64
}

type Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager

type Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager struct {
	PageLifeExpectancy       uint64
	BufferCacheHitRatio      uint64
	BufferCacheHitRatio_Base uint64
}

type Win32_PerfRawData_MSSQLSERVER_SQLServerDatabaseReplica

type Win32_PerfRawData_MSSQLSERVER_SQLServerDatabaseReplica struct {
	FileBytesReceivedPersec         uint64
	LogBytesReceivedPersec          uint64
	Logremainingforundo             uint64
	LogSendQueue                    uint64
	MirroredWriteTransactionsPersec uint64
	Name                            string
	RecoveryQueue                   uint64
	RedoblockedPersec               uint64
	RedoBytesRemaining              uint64
	RedoneBytesPersec               uint64
	TotalLogrequiringundo           uint64
	TransactionDelay                uint64
}

type Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases

type Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases struct {
	ActiveTransactions               uint64
	BackupPerRestoreThroughputPersec uint64
	BulkCopyRowsPersec               uint64
	BulkCopyThroughputPersec         uint64
	Committableentries               uint64
	DataFilesSizeKB                  uint64
	DBCCLogicalScanBytesPersec       uint64
	//GroupCommitTimePersec            uint64
	LogBytesFlushedPersec uint64
	LogCacheHitRatio      uint64
	LogCacheHitRatio_Base uint64
	LogCacheReadsPersec   uint64
	LogFilesSizeKB        uint64
	LogFilesUsedSizeKB    uint64
	LogFlushesPersec      uint64
	LogFlushWaitsPersec   uint64
	LogFlushWaitTime      uint64
	//LogFlushWriteTimems              uint64
	LogGrowths uint64
	//LogPoolCacheMissesPersec         uint64
	//LogPoolDiskReadsPersec uint64
	//LogPoolRequestsPersec            uint64
	LogShrinks                    uint64
	LogTruncations                uint64
	Name                          string
	PercentLogUsed                uint64
	ReplPendingXacts              uint64
	ReplTransRate                 uint64
	ShrinkDataMovementBytesPersec uint64
	TrackedtransactionsPersec     uint64
	TransactionsPersec            uint64
	WriteTransactionsPersec       uint64
}

type Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics

type Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics struct {
	ConnectionResetPersec    uint64
	LoginsPersec             uint64
	LogoutsPersec            uint64
	MarsDeadlocks            uint64
	Processesblocked         uint64
	TempTablesCreationRate   uint64
	TempTablesForDestruction uint64
	Transactions             uint64
	UserConnections          uint64
}

type Win32_PerfRawData_MSSQLSERVER_SQLServerLocks

type Win32_PerfRawData_MSSQLSERVER_SQLServerLocks struct {
	AverageWaitTimems          uint64
	LockRequestsPersec         uint64
	LockTimeoutsPersec         uint64
	LockTimeoutstimeout0Persec uint64
	LockWaitsPersec            uint64
	Name                       string
	NumberofDeadlocksPersec    uint64
}

type Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager

type Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager struct {
	TargetServerMemoryKB uint64
	TotalServerMemoryKB  uint64
}

type Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics

type Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics struct {
	AutoParamAttemptsPersec       uint64
	BatchRequestsPersec           uint64
	FailedAutoParamsPersec        uint64
	ForcedParameterizationsPersec uint64
	GuidedplanexecutionsPersec    uint64
	MisguidedplanexecutionsPersec uint64
	SafeAutoParamsPersec          uint64
	SQLCompilationsPersec         uint64
	SQLReCompilationsPersec       uint64
	UnsafeAutoParamsPersec        uint64
}

type Win32_PerfRawData_NETDataProviderforSqlServer_NETDataProviderforSqlServer

type Win32_PerfRawData_NETDataProviderforSqlServer_NETDataProviderforSqlServer struct {
	HardConnectsPerSecond                uint32
	HardDisconnectsPerSecond             uint32
	Name                                 string
	NumberOfActiveConnectionPoolGroups   uint32
	NumberOfActiveConnectionPools        uint32
	NumberOfActiveConnections            uint32
	NumberOfFreeConnections              uint32
	NumberOfInactiveConnectionPoolGroups uint32
	NumberOfInactiveConnectionPools      uint32
	NumberOfNonPooledConnections         uint32
	NumberOfPooledConnections            uint32
	NumberOfReclaimedConnections         uint32
	NumberOfStasisConnections            uint32
	SoftConnectsPerSecond                uint32
	SoftDisconnectsPerSecond             uint32
}

Win32_PerfRawData_NETDataProviderforSqlServer_NETDataProviderforSqlServer is actually a CIM_StatisticalInformation type

type Win32_PerfRawData_NETFramework_NETCLRLoading

type Win32_PerfRawData_NETFramework_NETCLRLoading struct {
	Currentappdomains         uint32
	CurrentAssemblies         uint32
	CurrentClassesLoaded      uint32
	Name                      string
	TotalAppdomains           uint32
	Totalappdomainsunloaded   uint32
	TotalAssemblies           uint32
	TotalClassesLoaded        uint32
	TotalNumberofLoadFailures uint32
}

type Win32_PerfRawData_NETFramework_NETCLRMemory

type Win32_PerfRawData_NETFramework_NETCLRMemory struct {
	AllocatedBytesPersec               uint32
	FinalizationSurvivors              uint32
	Gen0heapsize                       uint32
	Gen0PromotedBytesPerSec            uint32
	Gen1heapsize                       uint32
	Gen1PromotedBytesPerSec            uint32
	Gen2heapsize                       uint32
	LargeObjectHeapsize                uint32
	Name                               string
	NumberBytesinallHeaps              uint32
	NumberGCHandles                    uint32
	NumberGen0Collections              uint32
	NumberGen1Collections              uint32
	NumberGen2Collections              uint32
	NumberInducedGC                    uint32
	NumberofPinnedObjects              uint32
	NumberofSinkBlocksinuse            uint32
	NumberTotalcommittedBytes          uint32
	NumberTotalreservedBytes           uint32
	PercentTimeinGC                    uint32
	PercentTimeinGC_Base               uint32
	ProcessID                          uint32
	PromotedFinalizationMemoryfromGen0 uint32
}

type Win32_PerfRawData_PerfDisk_PhysicalDisk

type Win32_PerfRawData_PerfDisk_PhysicalDisk struct {
	AvgDiskReadQueueLength  uint64
	AvgDiskSecPerRead       uint32
	AvgDiskSecPerWrite      uint32
	AvgDiskWriteQueueLength uint64
	DiskReadBytesPerSec     uint64
	DiskReadsPerSec         uint32
	DiskWriteBytesPerSec    uint64
	DiskWritesPerSec        uint32
	Name                    string
	PercentDiskReadTime     uint64
	PercentDiskWriteTime    uint64
	SplitIOPerSec           uint32
}

See msdn for counter types http://msdn.microsoft.com/en-us/library/ms804035.aspx

type Win32_PerfRawData_PerfOS_Memory

type Win32_PerfRawData_PerfOS_Memory struct {
	CacheBytes                      uint64
	CacheBytesPeak                  uint64
	CacheFaultsPersec               uint32
	CommitLimit                     uint64
	CommittedBytes                  uint64
	DemandZeroFaultsPersec          uint32
	ModifiedPageListBytes           uint64
	PageFaultsPersec                uint32
	PageReadsPersec                 uint32
	PagesInputPersec                uint32
	PagesOutputPersec               uint32
	PageWritesPersec                uint32
	PercentCommittedBytesInUse      uint32
	PercentCommittedBytesInUse_Base uint32
	PoolNonpagedAllocs              uint32
	PoolNonpagedBytes               uint64
	PoolPagedAllocs                 uint32
	PoolPagedBytes                  uint64
	PoolPagedResidentBytes          uint64
	TransitionFaultsPersec          uint32
	WriteCopiesPersec               uint32
}

type Win32_PerfRawData_PerfOS_Processor

type Win32_PerfRawData_PerfOS_Processor struct {
	DPCRate               uint32
	InterruptsPersec      uint32
	Name                  string
	PercentC1Time         uint64
	Timestamp_Sys100NS    uint64
	PercentC2Time         uint64
	PercentC3Time         uint64
	PercentIdleTime       uint64
	PercentInterruptTime  uint64
	PercentPrivilegedTime uint64
	PercentProcessorTime  uint64
	PercentUserTime       uint64
}

type Win32_PerfRawData_PerfOS_System

type Win32_PerfRawData_PerfOS_System struct {
	ContextSwitchesPersec     uint32
	ExceptionDispatchesPersec uint32
	Frequency_Object          uint64
	Processes                 uint32
	ProcessorQueueLength      uint32
	SystemCallsPersec         uint32
	SystemUpTime              uint64
	Threads                   uint32
	Timestamp_Object          uint64
}

type Win32_PerfRawData_PerfProc_Process

type Win32_PerfRawData_PerfProc_Process struct {
	ElapsedTime             uint64
	Frequency_Object        uint64
	HandleCount             uint32
	IDProcess               uint32
	IOOtherBytesPersec      uint64
	IOOtherOperationsPersec uint64
	IOReadBytesPersec       uint64
	IOReadOperationsPersec  uint64
	IOWriteBytesPersec      uint64
	IOWriteOperationsPersec uint64
	Name                    string
	PageFaultsPersec        uint32
	PageFileBytes           uint64
	PageFileBytesPeak       uint64
	PercentPrivilegedTime   uint64
	PercentProcessorTime    uint64
	PercentUserTime         uint64
	PoolNonpagedBytes       uint32
	PoolPagedBytes          uint32
	PriorityBase            uint32
	PrivateBytes            uint64
	ThreadCount             uint32
	Timestamp_Object        uint64
	Timestamp_Sys100NS      uint64
	VirtualBytes            uint64
	VirtualBytesPeak        uint64
	WorkingSet              uint64
	WorkingSetPeak          uint64
	WorkingSetPrivate       uint64
}

Actually a CIM_StatisticalInformation.

type Win32_PerfRawData_RamgmtSvcCounterProvider_RaMgmtSvc

type Win32_PerfRawData_RamgmtSvcCounterProvider_RaMgmtSvc struct {
	Timestamp_Sys100NS uint64
}

Win32_PerfRawData_RamgmtSvcCounterProvider_RaMgmtSvc is used only to check for the existence of an active ras service on the host to decide if we want to monitor it. We are not interested in the actual values

type Win32_PerfRawData_RemoteAccess_RASTotal

type Win32_PerfRawData_RemoteAccess_RASTotal struct {
	AlignmentErrors     uint32
	BufferOverrunErrors uint32
	BytesReceived       uint64
	BytesTransmitted    uint64
	CRCErrors           uint32
	FramesReceived      uint32
	FramesTransmitted   uint32
	Frequency_Sys100NS  uint64
	SerialOverrunErrors uint32
	TimeoutErrors       uint32
	Timestamp_Sys100NS  uint64
	TotalConnections    uint32
	TotalErrors         uint32
}

Win32_PerfRawData_RemoteAccess_RASTotal has aggregate stats for Windows Remote Access Services MSDN Reference https://msdn.microsoft.com/en-us/library/aa394330(v=vs.85).aspx Only one or zero rows (instances) are expected in a query reply

type Win32_PerfRawData_SQLSERVERAGENT_SQLAgentJobs

type Win32_PerfRawData_SQLSERVERAGENT_SQLAgentJobs struct {
	Activejobs     uint64
	Failedjobs     uint64
	Successfuljobs uint64
}

type Win32_PerfRawData_Tcpip_NetworkInterface

type Win32_PerfRawData_Tcpip_NetworkInterface struct {
	CurrentBandwidth         uint64
	BytesReceivedPersec      uint64
	BytesSentPersec          uint64
	Name                     string
	PacketsOutboundDiscarded uint64
	PacketsOutboundErrors    uint64
	PacketsReceivedDiscarded uint64
	PacketsReceivedErrors    uint64
	PacketsReceivedPersec    uint64
	PacketsSentPersec        uint64
}

type Win32_PerfRawData_Tcpip_TCPv4

type Win32_PerfRawData_Tcpip_TCPv4 struct {
	ConnectionFailures          uint32
	ConnectionsActive           uint32
	ConnectionsEstablished      uint32
	ConnectionsPassive          uint32
	ConnectionsReset            uint32
	SegmentsPersec              uint32
	SegmentsReceivedPersec      uint32
	SegmentsRetransmittedPersec uint32
	SegmentsSentPersec          uint32
}

type Win32_PerfRawData_W3SVC_WebService

type Win32_PerfRawData_W3SVC_WebService struct {
	BytesReceivedPersec          uint64
	BytesSentPersec              uint64
	CGIRequestsPersec            uint32
	ConnectionAttemptsPersec     uint32
	CopyRequestsPersec           uint32
	CurrentConnections           uint32
	DeleteRequestsPersec         uint32
	GetRequestsPersec            uint32
	HeadRequestsPersec           uint32
	ISAPIExtensionRequestsPersec uint32
	LockRequestsPersec           uint32
	LockedErrorsPersec           uint32
	MkcolRequestsPersec          uint32
	MoveRequestsPersec           uint32
	Name                         string
	NotFoundErrorsPersec         uint32
	OptionsRequestsPersec        uint32
	PostRequestsPersec           uint32
	PropfindRequestsPersec       uint32
	ProppatchRequestsPersec      uint32
	PutRequestsPersec            uint32
	SearchRequestsPersec         uint32
	TraceRequestsPersec          uint32
	UnlockRequestsPersec         uint32
}

type Win32_PnPEntity

type Win32_PnPEntity struct {
	Name string // Intel(R) Gigabit ET Quad Port Server Adapter #3
}

type Win32_Processor

type Win32_Processor struct {
	CurrentClockSpeed         uint32
	CurrentVoltage            *uint16
	LoadPercentage            *uint16
	MaxClockSpeed             uint32
	DeviceID                  string
	NumberOfCores             uint32
	NumberOfLogicalProcessors uint32
}

type Win32_Service

type Win32_Service struct {
	CheckPoint uint32
	Name       string
	ProcessId  uint32
	Started    bool
	Status     string
	WaitHint   uint32
	StartMode  string
}

Actually a Win32_BaseServce.

type WorkerProcess

type WorkerProcess struct {
	AppPoolName string
	ProcessId   uint32
}

Jump to

Keyboard shortcuts

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