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, "ip": s.IP,
"license_state": s.LicenseState, "license_state": s.LicenseState,
}) })
var gw *unifi.Gw = nil
if s.Stat != nil {
gw = s.Stat.Gw
}
data := CombineFloat64( data := CombineFloat64(
u.batchUDMstorage(s.Storage), u.batchUDMstorage(s.Storage),
u.batchUDMtemps(s.Temperatures), 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), u.batchSysStats(s.SysStats, s.SystemStats),
map[string]float64{ map[string]float64{
"bytes": s.Bytes.Val, "bytes": s.Bytes.Val,

View File

@ -24,10 +24,14 @@ func (u *InfluxUnifi) batchUXG(r report, s *unifi.UXG) { // nolint: funlen
"serial": s.Serial, "serial": s.Serial,
"type": s.Type, "type": s.Type,
} }
var gw *unifi.Gw = nil
if s.Stat != nil {
gw = s.Stat.Gw
}
fields := Combine( fields := Combine(
u.batchUDMstorage(s.Storage), u.batchUDMstorage(s.Storage),
u.batchUDMtemps(s.Temperatures), 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), u.batchSysStats(s.SysStats, s.SystemStats),
map[string]any{ map[string]any{
"source": s.SourceName, "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 { if !d.Adopted.Val || d.Locating.Val {
return 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} labels := []string{d.Type, d.SiteName, d.Name, d.SourceName}
infoLabels := []string{d.Version, d.Model, d.Serial, d.Mac, d.IP, d.ID} 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.exportSYSstats(r, labels, d.SysStats, d.SystemStats)
u.exportSTAcount(r, labels, d.UserNumSta, d.GuestNumSta, d.NumDesktop, d.NumMobile, d.NumHandheld) u.exportSTAcount(r, labels, d.UserNumSta, d.GuestNumSta, d.NumDesktop, d.NumMobile, d.NumHandheld)
// Switch Data // Switch Data
u.exportUSWstats(r, labels, d.Stat.Sw) u.exportUSWstats(r, labels, sw)
u.exportPRTtable(r, labels, d.PortTable) u.exportPRTtable(r, labels, d.PortTable)
// Gateway Data // Gateway Data
u.exportWANPorts(r, labels, d.Wan1, d.Wan2) 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. // Dream Machine System Data.
r.send([]*metric{ r.send([]*metric{
{u.Device.Info, gauge, 1.0, append(labels, infoLabels...)}, {u.Device.Info, gauge, 1.0, append(labels, infoLabels...)},