mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-11 10:25:52 +02:00
enhance: server and nodes analytics
This commit is contained in:
parent
3e065f0533
commit
2142f2e1cc
8 changed files with 155 additions and 57 deletions
|
@ -25,8 +25,10 @@ var (
|
|||
)
|
||||
|
||||
func init() {
|
||||
network, _ := net.IOCounters(false)
|
||||
|
||||
network, err := net.IOCounters(false)
|
||||
if err != nil {
|
||||
logger.Error(err)
|
||||
}
|
||||
if len(network) > 0 {
|
||||
LastNetRecv = network[0].BytesRecv
|
||||
LastNetSent = network[0].BytesSent
|
||||
|
|
|
@ -75,7 +75,6 @@ func InitNode(env *model.Environment) (n *Node) {
|
|||
}
|
||||
|
||||
u, err := url.JoinPath(env.URL, "/api/node")
|
||||
|
||||
if err != nil {
|
||||
logger.Error(err)
|
||||
return
|
||||
|
@ -98,7 +97,6 @@ func InitNode(env *model.Environment) (n *Node) {
|
|||
req.Header.Set("X-Node-Secret", env.Token)
|
||||
|
||||
resp, err := client.Do(req)
|
||||
|
||||
if err != nil {
|
||||
logger.Error(err)
|
||||
return
|
||||
|
|
|
@ -75,7 +75,6 @@ func nodeAnalyticRecord(env *model.Environment, ctx context.Context) (err error)
|
|||
mutex.Unlock()
|
||||
|
||||
u, err := env.GetWebSocketURL("/api/analytic/intro")
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
@ -84,7 +83,12 @@ func nodeAnalyticRecord(env *model.Environment, ctx context.Context) (err error)
|
|||
|
||||
header.Set("X-Node-Secret", env.Token)
|
||||
|
||||
c, _, err := websocket.DefaultDialer.Dial(u, header)
|
||||
dial := &websocket.Dialer{
|
||||
Proxy: http.ProxyFromEnvironment,
|
||||
HandshakeTimeout: 5 * time.Second,
|
||||
}
|
||||
|
||||
c, _, err := dial.Dial(u, header)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import (
|
|||
func getTotalDiskIO() (read, write uint64) {
|
||||
diskIOCounters, err := disk.IOCounters()
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
logger.Error(err)
|
||||
return
|
||||
}
|
||||
for _, v := range diskIOCounters {
|
||||
|
@ -25,15 +25,18 @@ func getTotalDiskIO() (read, write uint64) {
|
|||
func recordCpu(now time.Time) {
|
||||
cpuTimesBefore, err := cpu.Times(false)
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
logger.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
time.Sleep(1000 * time.Millisecond)
|
||||
|
||||
cpuTimesAfter, err := cpu.Times(false)
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
logger.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
threadNum := runtime.GOMAXPROCS(0)
|
||||
|
||||
cpuUserUsage := (cpuTimesAfter[0].User - cpuTimesBefore[0].User) / (float64(1000*threadNum) / 1000)
|
||||
|
@ -66,9 +69,8 @@ func recordCpu(now time.Time) {
|
|||
|
||||
func recordNetwork(now time.Time) {
|
||||
network, err := net.IOCounters(false)
|
||||
|
||||
if err != nil {
|
||||
logger.Error(err.Error())
|
||||
logger.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue