track zeros
This commit is contained in:
parent
0cb2350735
commit
faae635c0c
|
|
@ -42,8 +42,8 @@ func (u *UnifiPoller) LogExportReport(report *promunifi.Report) {
|
||||||
|
|
||||||
u.Logf("UniFi Measurements Exported. Sites: %d, Clients: %d, "+
|
u.Logf("UniFi Measurements Exported. Sites: %d, Clients: %d, "+
|
||||||
"Wireless APs: %d, Gateways: %d, Switches: %d%s, Descs: %d, "+
|
"Wireless APs: %d, Gateways: %d, Switches: %d%s, Descs: %d, "+
|
||||||
"Metrics: %d, Errors: %d, Elapsed: %v",
|
"Metrics: %d, Errors: %d, Zeros: %d, Elapsed: %v",
|
||||||
len(m.Sites), len(m.Clients), len(m.UAPs), len(m.UDMs)+len(m.USGs),
|
len(m.Sites), len(m.Clients), len(m.UAPs), len(m.UDMs)+len(m.USGs),
|
||||||
len(m.USWs), idsMsg, report.Descs, report.Total, report.Errors,
|
len(m.USWs), idsMsg, report.Descs, report.Total, report.Errors,
|
||||||
report.Elapsed.Round(time.Millisecond))
|
report.Zeros, report.Elapsed.Round(time.Millisecond))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ type metricExports struct {
|
||||||
type Report struct {
|
type Report struct {
|
||||||
Total int
|
Total int
|
||||||
Errors int
|
Errors int
|
||||||
|
Zeros int
|
||||||
Descs int
|
Descs int
|
||||||
Metrics *metrics.Metrics
|
Metrics *metrics.Metrics
|
||||||
Elapsed time.Duration
|
Elapsed time.Duration
|
||||||
|
|
@ -140,22 +141,29 @@ func (u *unifiCollector) exportMetrics(ch chan<- prometheus.Metric, r *Report) {
|
||||||
for _, m := range newMetrics {
|
for _, m := range newMetrics {
|
||||||
r.Total++
|
r.Total++
|
||||||
descs[m.Desc] = true
|
descs[m.Desc] = true
|
||||||
|
var value float64
|
||||||
switch v := m.Value.(type) {
|
switch v := m.Value.(type) {
|
||||||
case unifi.FlexInt:
|
case unifi.FlexInt:
|
||||||
ch <- prometheus.MustNewConstMetric(m.Desc, m.ValueType, v.Val, m.Labels...)
|
value = v.Val
|
||||||
case float64:
|
case float64:
|
||||||
ch <- prometheus.MustNewConstMetric(m.Desc, m.ValueType, v, m.Labels...)
|
value = v
|
||||||
case int64:
|
case int64:
|
||||||
ch <- prometheus.MustNewConstMetric(m.Desc, m.ValueType, float64(v), m.Labels...)
|
value = float64(v)
|
||||||
case int:
|
case int:
|
||||||
ch <- prometheus.MustNewConstMetric(m.Desc, m.ValueType, float64(v), m.Labels...)
|
value = float64(v)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
r.Errors++
|
r.Errors++
|
||||||
if u.Config.ReportErrors {
|
if u.Config.ReportErrors {
|
||||||
ch <- prometheus.NewInvalidMetric(m.Desc, fmt.Errorf("not a number: %v", m.Value))
|
ch <- prometheus.NewInvalidMetric(m.Desc, fmt.Errorf("not a number: %v", m.Value))
|
||||||
}
|
}
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if value == 0 {
|
||||||
|
r.Zeros++
|
||||||
|
}
|
||||||
|
ch <- prometheus.MustNewConstMetric(m.Desc, m.ValueType, value, m.Labels...)
|
||||||
}
|
}
|
||||||
r.wg.Done()
|
r.wg.Done()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue