add subscription pattern to acls,fix NaN value in metrics for uptime,get real iface name for mac

This commit is contained in:
Abhishek Kondur
2022-09-30 18:31:57 +05:30
parent 7783af3e58
commit 0df6d1761e
13 changed files with 125 additions and 46 deletions

View File

@@ -1,12 +1,14 @@
package metrics
import (
"runtime"
"time"
"github.com/go-ping/ping"
"github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/logic"
"github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/netclient/wireguard"
"golang.zx2c4.com/wireguard/wgctrl"
)
@@ -20,6 +22,14 @@ func Collect(iface string, peerMap models.PeerMap) (*models.Metrics, error) {
return &metrics, err
}
defer wgclient.Close()
if runtime.GOOS == "darwin" {
iface, err = wireguard.GetRealIface(iface)
if err != nil {
fillUnconnectedData(&metrics, peerMap)
return &metrics, err
}
}
device, err := wgclient.Device(iface)
if err != nil {
fillUnconnectedData(&metrics, peerMap)