mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-03-09 03:56:35 +00:00
process: Use registry collector for V1 data (#1814)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
This commit is contained in:
@@ -1,107 +0,0 @@
|
||||
// Copyright 2024 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.
|
||||
|
||||
//go:build windows
|
||||
|
||||
package dns
|
||||
|
||||
const (
|
||||
_ = "% User Time"
|
||||
_ = "176"
|
||||
_ = "Async Fast Reads/sec"
|
||||
axfrRequestReceived = "AXFR Request Received"
|
||||
axfrRequestSent = "AXFR Request Sent"
|
||||
axfrResponseReceived = "AXFR Response Received"
|
||||
axfrSuccessReceived = "AXFR Success Received"
|
||||
axfrSuccessSent = "AXFR Success Sent"
|
||||
cachingMemory = "Caching Memory"
|
||||
_ = "Data Flush Pages/sec"
|
||||
_ = "Data Flushes/sec"
|
||||
databaseNodeMemory = "Database Node Memory"
|
||||
dynamicUpdateNoOperation = "Dynamic Update NoOperation"
|
||||
_ = "Dynamic Update NoOperation/sec"
|
||||
dynamicUpdateQueued = "Dynamic Update Queued"
|
||||
_ = "Dynamic Update Received"
|
||||
_ = "Dynamic Update Received/sec"
|
||||
dynamicUpdateRejected = "Dynamic Update Rejected"
|
||||
dynamicUpdateTimeOuts = "Dynamic Update TimeOuts"
|
||||
dynamicUpdateWrittenToDatabase = "Dynamic Update Written to Database"
|
||||
_ = "Dynamic Update Written to Database/sec"
|
||||
_ = "Enumerations Server/sec"
|
||||
_ = "Fast Read Not Possibles/sec"
|
||||
_ = "Fast Read Resource Misses/sec"
|
||||
ixfrRequestReceived = "IXFR Request Received"
|
||||
ixfrRequestSent = "IXFR Request Sent"
|
||||
ixfrResponseReceived = "IXFR Response Received"
|
||||
_ = "IXFR Success Received"
|
||||
ixfrSuccessSent = "IXFR Success Sent"
|
||||
ixfrTCPSuccessReceived = "IXFR TCP Success Received"
|
||||
ixfrUDPSuccessReceived = "IXFR UDP Success Received"
|
||||
_ = "Lazy Write Flushes/sec"
|
||||
_ = "Lazy Write Pages/sec"
|
||||
_ = "Level 2 TLB Fills/sec"
|
||||
nbStatMemory = "Nbstat Memory"
|
||||
notifyReceived = "Notify Received"
|
||||
notifySent = "Notify Sent"
|
||||
_ = "Query Dropped Bad Socket"
|
||||
_ = "Query Dropped Bad Socket/sec"
|
||||
_ = "Query Dropped By Policy"
|
||||
_ = "Query Dropped By Policy/sec"
|
||||
_ = "Query Dropped By Response Rate Limiting"
|
||||
_ = "Query Dropped By Response Rate Limiting/sec"
|
||||
_ = "Query Dropped Send"
|
||||
_ = "Query Dropped Send/sec"
|
||||
_ = "Query Dropped Total"
|
||||
_ = "Query Dropped Total/sec"
|
||||
recordFlowMemory = "Record Flow Memory"
|
||||
recursiveQueries = "Recursive Queries"
|
||||
_ = "Recursive Queries/sec"
|
||||
recursiveQueryFailure = "Recursive Query Failure"
|
||||
_ = "Recursive Query Failure/sec"
|
||||
_ = "Recursive Send TimeOuts"
|
||||
recursiveSendTimeOuts = "Recursive TimeOut/sec"
|
||||
_ = "Responses Suppressed"
|
||||
_ = "Responses Suppressed/sec"
|
||||
secureUpdateFailure = "Secure Update Failure"
|
||||
secureUpdateReceived = "Secure Update Received"
|
||||
_ = "Secure Update Received/sec"
|
||||
tcpMessageMemory = "TCP Message Memory"
|
||||
tcpQueryReceived = "TCP Query Received"
|
||||
_ = "TCP Query Received/sec"
|
||||
tcpResponseSent = "TCP Response Sent"
|
||||
_ = "TCP Response Sent/sec"
|
||||
_ = "Total Query Received"
|
||||
_ = "Total Query Received/sec"
|
||||
_ = "Total Remote Inflight Queries"
|
||||
_ = "Total Response Sent"
|
||||
_ = "Total Response Sent/sec"
|
||||
udpMessageMemory = "UDP Message Memory"
|
||||
udpQueryReceived = "UDP Query Received"
|
||||
_ = "UDP Query Received/sec"
|
||||
udpResponseSent = "UDP Response Sent"
|
||||
_ = "UDP Response Sent/sec"
|
||||
unmatchedResponsesReceived = "Unmatched Responses Received"
|
||||
_ = "Virtual Bytes"
|
||||
winsLookupReceived = "WINS Lookup Received"
|
||||
_ = "WINS Lookup Received/sec"
|
||||
winsResponseSent = "WINS Response Sent"
|
||||
_ = "WINS Response Sent/sec"
|
||||
winsReverseLookupReceived = "WINS Reverse Lookup Received"
|
||||
_ = "WINS Reverse Lookup Received/sec"
|
||||
winsReverseResponseSent = "WINS Reverse Response Sent"
|
||||
_ = "WINS Reverse Response Sent/sec"
|
||||
zoneTransferFailure = "Zone Transfer Failure"
|
||||
zoneTransferSOARequestSent = "Zone Transfer Request Received"
|
||||
_ = "Zone Transfer SOA Request Sent"
|
||||
_ = "Zone Transfer Success"
|
||||
)
|
||||
@@ -21,7 +21,7 @@ import (
|
||||
|
||||
"github.com/alecthomas/kingpin/v2"
|
||||
"github.com/prometheus-community/windows_exporter/internal/mi"
|
||||
"github.com/prometheus-community/windows_exporter/internal/perfdata"
|
||||
"github.com/prometheus-community/windows_exporter/internal/pdh"
|
||||
"github.com/prometheus-community/windows_exporter/internal/types"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
)
|
||||
@@ -37,7 +37,8 @@ var ConfigDefaults = Config{}
|
||||
type Collector struct {
|
||||
config Config
|
||||
|
||||
perfDataCollector *perfdata.Collector
|
||||
perfDataCollector *pdh.Collector
|
||||
perfDataObject []perfDataCounterValues
|
||||
|
||||
dynamicUpdatesFailures *prometheus.Desc
|
||||
dynamicUpdatesQueued *prometheus.Desc
|
||||
@@ -92,48 +93,7 @@ func (c *Collector) Close() error {
|
||||
func (c *Collector) Build(_ *slog.Logger, _ *mi.Session) error {
|
||||
var err error
|
||||
|
||||
c.perfDataCollector, err = perfdata.NewCollector("DNS", perfdata.InstancesAll, []string{
|
||||
axfrRequestReceived,
|
||||
axfrRequestSent,
|
||||
axfrResponseReceived,
|
||||
axfrSuccessReceived,
|
||||
axfrSuccessSent,
|
||||
cachingMemory,
|
||||
databaseNodeMemory,
|
||||
dynamicUpdateNoOperation,
|
||||
dynamicUpdateQueued,
|
||||
dynamicUpdateRejected,
|
||||
dynamicUpdateTimeOuts,
|
||||
dynamicUpdateWrittenToDatabase,
|
||||
ixfrRequestReceived,
|
||||
ixfrRequestSent,
|
||||
ixfrResponseReceived,
|
||||
ixfrSuccessSent,
|
||||
ixfrTCPSuccessReceived,
|
||||
ixfrUDPSuccessReceived,
|
||||
nbStatMemory,
|
||||
notifyReceived,
|
||||
notifySent,
|
||||
recordFlowMemory,
|
||||
recursiveQueries,
|
||||
recursiveQueryFailure,
|
||||
recursiveSendTimeOuts,
|
||||
secureUpdateFailure,
|
||||
secureUpdateReceived,
|
||||
tcpMessageMemory,
|
||||
tcpQueryReceived,
|
||||
tcpResponseSent,
|
||||
udpMessageMemory,
|
||||
udpQueryReceived,
|
||||
udpResponseSent,
|
||||
unmatchedResponsesReceived,
|
||||
winsLookupReceived,
|
||||
winsResponseSent,
|
||||
winsReverseLookupReceived,
|
||||
winsReverseResponseSent,
|
||||
zoneTransferFailure,
|
||||
zoneTransferSOARequestSent,
|
||||
})
|
||||
c.perfDataCollector, err = pdh.NewCollector[perfDataCounterValues]("DNS", pdh.InstancesAll)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create DNS collector: %w", err)
|
||||
}
|
||||
@@ -277,79 +237,74 @@ func (c *Collector) Build(_ *slog.Logger, _ *mi.Session) error {
|
||||
// Collect sends the metric values for each metric
|
||||
// to the provided prometheus Metric channel.
|
||||
func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
|
||||
perfData, err := c.perfDataCollector.Collect()
|
||||
err := c.perfDataCollector.Collect(&c.perfDataObject)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to collect DNS metrics: %w", err)
|
||||
}
|
||||
|
||||
data, ok := perfData[perfdata.InstanceEmpty]
|
||||
if !ok {
|
||||
return fmt.Errorf("failed to collect DNS metrics: %w", types.ErrNoData)
|
||||
}
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferRequestsReceived,
|
||||
prometheus.CounterValue,
|
||||
data[axfrRequestReceived].FirstValue,
|
||||
c.perfDataObject[0].AxfrRequestReceived,
|
||||
"full",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferRequestsReceived,
|
||||
prometheus.CounterValue,
|
||||
data[ixfrRequestReceived].FirstValue,
|
||||
c.perfDataObject[0].IxfrRequestReceived,
|
||||
"incremental",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferRequestsSent,
|
||||
prometheus.CounterValue,
|
||||
data[axfrRequestSent].FirstValue,
|
||||
c.perfDataObject[0].AxfrRequestSent,
|
||||
"full",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferRequestsSent,
|
||||
prometheus.CounterValue,
|
||||
data[ixfrRequestSent].FirstValue,
|
||||
c.perfDataObject[0].IxfrRequestSent,
|
||||
"incremental",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferRequestsSent,
|
||||
prometheus.CounterValue,
|
||||
data[zoneTransferSOARequestSent].FirstValue,
|
||||
c.perfDataObject[0].ZoneTransferSOARequestSent,
|
||||
"soa",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferResponsesReceived,
|
||||
prometheus.CounterValue,
|
||||
data[axfrResponseReceived].FirstValue,
|
||||
c.perfDataObject[0].AxfrResponseReceived,
|
||||
"full",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferResponsesReceived,
|
||||
prometheus.CounterValue,
|
||||
data[ixfrResponseReceived].FirstValue,
|
||||
c.perfDataObject[0].IxfrResponseReceived,
|
||||
"incremental",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferSuccessReceived,
|
||||
prometheus.CounterValue,
|
||||
data[axfrSuccessReceived].FirstValue,
|
||||
c.perfDataObject[0].AxfrSuccessReceived,
|
||||
"full",
|
||||
"tcp",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferSuccessReceived,
|
||||
prometheus.CounterValue,
|
||||
data[ixfrTCPSuccessReceived].FirstValue,
|
||||
c.perfDataObject[0].IxfrTCPSuccessReceived,
|
||||
"incremental",
|
||||
"tcp",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferSuccessReceived,
|
||||
prometheus.CounterValue,
|
||||
data[ixfrTCPSuccessReceived].FirstValue,
|
||||
c.perfDataObject[0].IxfrTCPSuccessReceived,
|
||||
"incremental",
|
||||
"udp",
|
||||
)
|
||||
@@ -357,183 +312,183 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferSuccessSent,
|
||||
prometheus.CounterValue,
|
||||
data[axfrSuccessSent].FirstValue,
|
||||
c.perfDataObject[0].AxfrSuccessSent,
|
||||
"full",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferSuccessSent,
|
||||
prometheus.CounterValue,
|
||||
data[ixfrSuccessSent].FirstValue,
|
||||
c.perfDataObject[0].IxfrSuccessSent,
|
||||
"incremental",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.zoneTransferFailures,
|
||||
prometheus.CounterValue,
|
||||
data[zoneTransferFailure].FirstValue,
|
||||
c.perfDataObject[0].ZoneTransferFailure,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.memoryUsedBytes,
|
||||
prometheus.GaugeValue,
|
||||
data[cachingMemory].FirstValue,
|
||||
c.perfDataObject[0].CachingMemory,
|
||||
"caching",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.memoryUsedBytes,
|
||||
prometheus.GaugeValue,
|
||||
data[databaseNodeMemory].FirstValue,
|
||||
c.perfDataObject[0].DatabaseNodeMemory,
|
||||
"database_node",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.memoryUsedBytes,
|
||||
prometheus.GaugeValue,
|
||||
data[nbStatMemory].FirstValue,
|
||||
c.perfDataObject[0].NbStatMemory,
|
||||
"nbstat",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.memoryUsedBytes,
|
||||
prometheus.GaugeValue,
|
||||
data[recordFlowMemory].FirstValue,
|
||||
c.perfDataObject[0].RecordFlowMemory,
|
||||
"record_flow",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.memoryUsedBytes,
|
||||
prometheus.GaugeValue,
|
||||
data[tcpMessageMemory].FirstValue,
|
||||
c.perfDataObject[0].TcpMessageMemory,
|
||||
"tcp_message",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.memoryUsedBytes,
|
||||
prometheus.GaugeValue,
|
||||
data[udpMessageMemory].FirstValue,
|
||||
c.perfDataObject[0].UdpMessageMemory,
|
||||
"udp_message",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.dynamicUpdatesReceived,
|
||||
prometheus.CounterValue,
|
||||
data[dynamicUpdateNoOperation].FirstValue,
|
||||
c.perfDataObject[0].DynamicUpdateNoOperation,
|
||||
"noop",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.dynamicUpdatesReceived,
|
||||
prometheus.CounterValue,
|
||||
data[dynamicUpdateWrittenToDatabase].FirstValue,
|
||||
c.perfDataObject[0].DynamicUpdateWrittenToDatabase,
|
||||
"written",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.dynamicUpdatesQueued,
|
||||
prometheus.GaugeValue,
|
||||
data[dynamicUpdateQueued].FirstValue,
|
||||
c.perfDataObject[0].DynamicUpdateQueued,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.dynamicUpdatesFailures,
|
||||
prometheus.CounterValue,
|
||||
data[dynamicUpdateRejected].FirstValue,
|
||||
c.perfDataObject[0].DynamicUpdateRejected,
|
||||
"rejected",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.dynamicUpdatesFailures,
|
||||
prometheus.CounterValue,
|
||||
data[dynamicUpdateTimeOuts].FirstValue,
|
||||
c.perfDataObject[0].DynamicUpdateTimeOuts,
|
||||
"timeout",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.notifyReceived,
|
||||
prometheus.CounterValue,
|
||||
data[notifyReceived].FirstValue,
|
||||
c.perfDataObject[0].NotifyReceived,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.notifySent,
|
||||
prometheus.CounterValue,
|
||||
data[notifySent].FirstValue,
|
||||
c.perfDataObject[0].NotifySent,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.recursiveQueries,
|
||||
prometheus.CounterValue,
|
||||
data[recursiveQueries].FirstValue,
|
||||
c.perfDataObject[0].RecursiveQueries,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.recursiveQueryFailures,
|
||||
prometheus.CounterValue,
|
||||
data[recursiveQueryFailure].FirstValue,
|
||||
c.perfDataObject[0].RecursiveQueryFailure,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.recursiveQuerySendTimeouts,
|
||||
prometheus.CounterValue,
|
||||
data[recursiveSendTimeOuts].FirstValue,
|
||||
c.perfDataObject[0].RecursiveSendTimeOuts,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.queries,
|
||||
prometheus.CounterValue,
|
||||
data[tcpQueryReceived].FirstValue,
|
||||
c.perfDataObject[0].TcpQueryReceived,
|
||||
"tcp",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.queries,
|
||||
prometheus.CounterValue,
|
||||
data[udpQueryReceived].FirstValue,
|
||||
c.perfDataObject[0].UdpQueryReceived,
|
||||
"udp",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.responses,
|
||||
prometheus.CounterValue,
|
||||
data[tcpResponseSent].FirstValue,
|
||||
c.perfDataObject[0].TcpResponseSent,
|
||||
"tcp",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.responses,
|
||||
prometheus.CounterValue,
|
||||
data[udpResponseSent].FirstValue,
|
||||
c.perfDataObject[0].UdpResponseSent,
|
||||
"udp",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.unmatchedResponsesReceived,
|
||||
prometheus.CounterValue,
|
||||
data[unmatchedResponsesReceived].FirstValue,
|
||||
c.perfDataObject[0].UnmatchedResponsesReceived,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.winsQueries,
|
||||
prometheus.CounterValue,
|
||||
data[winsLookupReceived].FirstValue,
|
||||
c.perfDataObject[0].WinsLookupReceived,
|
||||
"forward",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.winsQueries,
|
||||
prometheus.CounterValue,
|
||||
data[winsReverseLookupReceived].FirstValue,
|
||||
c.perfDataObject[0].WinsReverseLookupReceived,
|
||||
"reverse",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.winsResponses,
|
||||
prometheus.CounterValue,
|
||||
data[winsResponseSent].FirstValue,
|
||||
c.perfDataObject[0].WinsResponseSent,
|
||||
"forward",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.winsResponses,
|
||||
prometheus.CounterValue,
|
||||
data[winsReverseResponseSent].FirstValue,
|
||||
c.perfDataObject[0].WinsReverseResponseSent,
|
||||
"reverse",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.secureUpdateFailures,
|
||||
prometheus.CounterValue,
|
||||
data[secureUpdateFailure].FirstValue,
|
||||
c.perfDataObject[0].SecureUpdateFailure,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.secureUpdateReceived,
|
||||
prometheus.CounterValue,
|
||||
data[secureUpdateReceived].FirstValue,
|
||||
c.perfDataObject[0].SecureUpdateReceived,
|
||||
)
|
||||
|
||||
return nil
|
||||
|
||||
107
internal/collector/dns/types.go
Normal file
107
internal/collector/dns/types.go
Normal file
@@ -0,0 +1,107 @@
|
||||
// Copyright 2024 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.
|
||||
|
||||
//go:build windows
|
||||
|
||||
package dns
|
||||
|
||||
type perfDataCounterValues struct {
|
||||
_ float64 `perfdata:"% User Time"`
|
||||
_ float64 `perfdata:"176"`
|
||||
_ float64 `perfdata:"Async Fast Reads/sec"`
|
||||
AxfrRequestReceived float64 `perfdata:"AXFR Request Received"`
|
||||
AxfrRequestSent float64 `perfdata:"AXFR Request Sent"`
|
||||
AxfrResponseReceived float64 `perfdata:"AXFR Response Received"`
|
||||
AxfrSuccessReceived float64 `perfdata:"AXFR Success Received"`
|
||||
AxfrSuccessSent float64 `perfdata:"AXFR Success Sent"`
|
||||
CachingMemory float64 `perfdata:"Caching Memory"`
|
||||
_ float64 `perfdata:"Data Flush Pages/sec"`
|
||||
_ float64 `perfdata:"Data Flushes/sec"`
|
||||
DatabaseNodeMemory float64 `perfdata:"Database Node Memory"`
|
||||
DynamicUpdateNoOperation float64 `perfdata:"Dynamic Update NoOperation"`
|
||||
_ float64 `perfdata:"Dynamic Update NoOperation/sec"`
|
||||
DynamicUpdateQueued float64 `perfdata:"Dynamic Update Queued"`
|
||||
_ float64 `perfdata:"Dynamic Update Received"`
|
||||
_ float64 `perfdata:"Dynamic Update Received/sec"`
|
||||
DynamicUpdateRejected float64 `perfdata:"Dynamic Update Rejected"`
|
||||
DynamicUpdateTimeOuts float64 `perfdata:"Dynamic Update TimeOuts"`
|
||||
DynamicUpdateWrittenToDatabase float64 `perfdata:"Dynamic Update Written to Database"`
|
||||
_ float64 `perfdata:"Dynamic Update Written to Database/sec"`
|
||||
_ float64 `perfdata:"Enumerations Server/sec"`
|
||||
_ float64 `perfdata:"Fast Read Not Possibles/sec"`
|
||||
_ float64 `perfdata:"Fast Read Resource Misses/sec"`
|
||||
IxfrRequestReceived float64 `perfdata:"IXFR Request Received"`
|
||||
IxfrRequestSent float64 `perfdata:"IXFR Request Sent"`
|
||||
IxfrResponseReceived float64 `perfdata:"IXFR Response Received"`
|
||||
_ float64 `perfdata:"IXFR Success Received"`
|
||||
IxfrSuccessSent float64 `perfdata:"IXFR Success Sent"`
|
||||
IxfrTCPSuccessReceived float64 `perfdata:"IXFR TCP Success Received"`
|
||||
IxfrUDPSuccessReceived float64 `perfdata:"IXFR UDP Success Received"`
|
||||
_ float64 `perfdata:"Lazy Write Flushes/sec"`
|
||||
_ float64 `perfdata:"Lazy Write Pages/sec"`
|
||||
_ float64 `perfdata:"Level 2 TLB Fills/sec"`
|
||||
NbStatMemory float64 `perfdata:"Nbstat Memory"`
|
||||
NotifyReceived float64 `perfdata:"Notify Received"`
|
||||
NotifySent float64 `perfdata:"Notify Sent"`
|
||||
_ float64 `perfdata:"Query Dropped Bad Socket"`
|
||||
_ float64 `perfdata:"Query Dropped Bad Socket/sec"`
|
||||
_ float64 `perfdata:"Query Dropped By Policy"`
|
||||
_ float64 `perfdata:"Query Dropped By Policy/sec"`
|
||||
_ float64 `perfdata:"Query Dropped By Response Rate Limiting"`
|
||||
_ float64 `perfdata:"Query Dropped By Response Rate Limiting/sec"`
|
||||
_ float64 `perfdata:"Query Dropped Send"`
|
||||
_ float64 `perfdata:"Query Dropped Send/sec"`
|
||||
_ float64 `perfdata:"Query Dropped Total"`
|
||||
_ float64 `perfdata:"Query Dropped Total/sec"`
|
||||
RecordFlowMemory float64 `perfdata:"Record Flow Memory"`
|
||||
RecursiveQueries float64 `perfdata:"Recursive Queries"`
|
||||
_ float64 `perfdata:"Recursive Queries/sec"`
|
||||
RecursiveQueryFailure float64 `perfdata:"Recursive Query Failure"`
|
||||
_ float64 `perfdata:"Recursive Query Failure/sec"`
|
||||
_ float64 `perfdata:"Recursive Send TimeOuts"`
|
||||
RecursiveSendTimeOuts float64 `perfdata:"Recursive TimeOut/sec"`
|
||||
_ float64 `perfdata:"Responses Suppressed"`
|
||||
_ float64 `perfdata:"Responses Suppressed/sec"`
|
||||
SecureUpdateFailure float64 `perfdata:"Secure Update Failure"`
|
||||
SecureUpdateReceived float64 `perfdata:"Secure Update Received"`
|
||||
_ float64 `perfdata:"Secure Update Received/sec"`
|
||||
TcpMessageMemory float64 `perfdata:"TCP Message Memory"`
|
||||
TcpQueryReceived float64 `perfdata:"TCP Query Received"`
|
||||
_ float64 `perfdata:"TCP Query Received/sec"`
|
||||
TcpResponseSent float64 `perfdata:"TCP Response Sent"`
|
||||
_ float64 `perfdata:"TCP Response Sent/sec"`
|
||||
_ float64 `perfdata:"Total Query Received"`
|
||||
_ float64 `perfdata:"Total Query Received/sec"`
|
||||
_ float64 `perfdata:"Total Remote Inflight Queries"`
|
||||
_ float64 `perfdata:"Total Response Sent"`
|
||||
_ float64 `perfdata:"Total Response Sent/sec"`
|
||||
UdpMessageMemory float64 `perfdata:"UDP Message Memory"`
|
||||
UdpQueryReceived float64 `perfdata:"UDP Query Received"`
|
||||
_ float64 `perfdata:"UDP Query Received/sec"`
|
||||
UdpResponseSent float64 `perfdata:"UDP Response Sent"`
|
||||
_ float64 `perfdata:"UDP Response Sent/sec"`
|
||||
UnmatchedResponsesReceived float64 `perfdata:"Unmatched Responses Received"`
|
||||
_ float64 `perfdata:"Virtual Bytes"`
|
||||
WinsLookupReceived float64 `perfdata:"WINS Lookup Received"`
|
||||
_ float64 `perfdata:"WINS Lookup Received/sec"`
|
||||
WinsResponseSent float64 `perfdata:"WINS Response Sent"`
|
||||
_ float64 `perfdata:"WINS Response Sent/sec"`
|
||||
WinsReverseLookupReceived float64 `perfdata:"WINS Reverse Lookup Received"`
|
||||
_ float64 `perfdata:"WINS Reverse Lookup Received/sec"`
|
||||
WinsReverseResponseSent float64 `perfdata:"WINS Reverse Response Sent"`
|
||||
_ float64 `perfdata:"WINS Reverse Response Sent/sec"`
|
||||
ZoneTransferFailure float64 `perfdata:"Zone Transfer Failure"`
|
||||
ZoneTransferSOARequestSent float64 `perfdata:"Zone Transfer Request Received"`
|
||||
_ float64 `perfdata:"Zone Transfer SOA Request Sent"`
|
||||
_ float64 `perfdata:"Zone Transfer Success"`
|
||||
}
|
||||
Reference in New Issue
Block a user