diff --git a/cmd/edge-node/main.go b/cmd/edge-node/main.go index b92dd9e..3bab5b8 100644 --- a/cmd/edge-node/main.go +++ b/cmd/edge-node/main.go @@ -95,16 +95,11 @@ func main() { if err != nil { fmt.Println("[ERROR]" + err.Error()) } else { - instances, ok := reply.Params["result"] - if ok { - instancesJSON, err := json.MarshalIndent(instances, "", " ") - if err != nil { - fmt.Println("[ERROR]" + err.Error()) - } else { - fmt.Println(string(instancesJSON)) - } + instancesJSON, err := json.MarshalIndent(reply.Params, "", " ") + if err != nil { + fmt.Println("[ERROR]" + err.Error()) } else { - fmt.Println("no instances yet.") + fmt.Println(string(instancesJSON)) } } }) diff --git a/internal/nodes/http_writer_rate.go b/internal/nodes/http_writer_rate.go index 3479f68..1449dcb 100644 --- a/internal/nodes/http_writer_rate.go +++ b/internal/nodes/http_writer_rate.go @@ -88,3 +88,15 @@ func (this *HTTPRateWriter) Hijack() (conn net.Conn, buf *bufio.ReadWriter, err } return } + +// Flush Flush +func (this *HTTPRateWriter) Flush() { + if this.parentWriter == nil { + return + } + flusher, ok := this.parentWriter.(http.Flusher) + if ok { + flusher.Flush() + return + } +} diff --git a/internal/nodes/node.go b/internal/nodes/node.go index de0bff5..bc9a9c2 100644 --- a/internal/nodes/node.go +++ b/internal/nodes/node.go @@ -170,8 +170,10 @@ func (this *Node) Start() { }) // 统计 - go stats.SharedTrafficStatManager.Start(func() *nodeconfigs.NodeConfig { - return sharedNodeConfig + goman.New(func() { + stats.SharedTrafficStatManager.Start(func() *nodeconfigs.NodeConfig { + return sharedNodeConfig + }) }) goman.New(func() { stats.SharedHTTPRequestStatManager.Start() @@ -618,6 +620,7 @@ func (this *Node) listenSock() error { _ = cmd.Reply(&gosock.Command{ Params: map[string]interface{}{ + "total": runtime.NumGoroutine(), "result": result, }, })