fixes NPE on issue #422

This commit is contained in:
Cody Lee 2022-12-20 20:53:48 -06:00
parent a0feffb4f8
commit 97b3a476f9
No known key found for this signature in database
3 changed files with 20 additions and 4 deletions

View File

@ -26,10 +26,14 @@ func (u *DatadogUnifi) batchUXG(r report, s *unifi.UXG) { // nolint: funlen
"ip": s.IP,
"license_state": s.LicenseState,
})
var gw *unifi.Gw = nil
if s.Stat != nil {
gw = s.Stat.Gw
}
data := CombineFloat64(
u.batchUDMstorage(s.Storage),
u.batchUDMtemps(s.Temperatures),
u.batchUSGstats(s.SpeedtestStatus, s.Stat.Gw, s.Uplink),
u.batchUSGstats(s.SpeedtestStatus, gw, s.Uplink),
u.batchSysStats(s.SysStats, s.SystemStats),
map[string]float64{
"bytes": s.Bytes.Val,

View File

@ -24,10 +24,14 @@ func (u *InfluxUnifi) batchUXG(r report, s *unifi.UXG) { // nolint: funlen
"serial": s.Serial,
"type": s.Type,
}
var gw *unifi.Gw = nil
if s.Stat != nil {
gw = s.Stat.Gw
}
fields := Combine(
u.batchUDMstorage(s.Storage),
u.batchUDMtemps(s.Temperatures),
u.batchUSGstats(s.SpeedtestStatus, s.Stat.Gw, s.Uplink),
u.batchUSGstats(s.SpeedtestStatus, gw, s.Uplink),
u.batchSysStats(s.SysStats, s.SystemStats),
map[string]any{
"source": s.SourceName,

View File

@ -9,6 +9,14 @@ func (u *promUnifi) exportUXG(r report, d *unifi.UXG) {
if !d.Adopted.Val || d.Locating.Val {
return
}
var gw *unifi.Gw = nil
if d.Stat != nil {
gw = d.Stat.Gw
}
var sw *unifi.Sw = nil
if d.Stat != nil {
sw = d.Stat.Sw
}
labels := []string{d.Type, d.SiteName, d.Name, d.SourceName}
infoLabels := []string{d.Version, d.Model, d.Serial, d.Mac, d.IP, d.ID}
@ -17,11 +25,11 @@ func (u *promUnifi) exportUXG(r report, d *unifi.UXG) {
u.exportSYSstats(r, labels, d.SysStats, d.SystemStats)
u.exportSTAcount(r, labels, d.UserNumSta, d.GuestNumSta, d.NumDesktop, d.NumMobile, d.NumHandheld)
// Switch Data
u.exportUSWstats(r, labels, d.Stat.Sw)
u.exportUSWstats(r, labels, sw)
u.exportPRTtable(r, labels, d.PortTable)
// Gateway Data
u.exportWANPorts(r, labels, d.Wan1, d.Wan2)
u.exportUSGstats(r, labels, d.Stat.Gw, d.SpeedtestStatus, d.Uplink)
u.exportUSGstats(r, labels, gw, d.SpeedtestStatus, d.Uplink)
// Dream Machine System Data.
r.send([]*metric{
{u.Device.Info, gauge, 1.0, append(labels, infoLabels...)},