Skip to content

Commit 7f70557

Browse files
committed
fix: fix reporter memory leak problem #103
1 parent 2a503ca commit 7f70557

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

reporter/main.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,10 @@ func main() {
5959

6060
interval := *Interval
6161

62-
ticker := time.Tick(time.Duration(interval) * time.Second)
62+
ticker := time.NewTicker(time.Duration(interval) * time.Second)
63+
defer ticker.Stop()
64+
65+
httpClient := &http.Client{}
6366

6467
log.Println("Start reporting...")
6568
log.Println("Mode:", *Mode)
@@ -78,10 +81,10 @@ func main() {
7881
if *Mode == "udp" {
7982
sendUDPPack(*parsedURL, payload)
8083
} else {
81-
sendHTTPRequest(*parsedURL, payload)
84+
sendHTTPRequest(*parsedURL, payload, httpClient)
8285
}
8386

84-
<-ticker
87+
<-ticker.C
8588
}
8689
}
8790

@@ -125,7 +128,7 @@ func sendUDPPack(url url.URL, payload ReportData) {
125128
/**
126129
* Send HTTP Request to report server data
127130
*/
128-
func sendHTTPRequest(_url url.URL, payload ReportData) {
131+
func sendHTTPRequest(_url url.URL, payload ReportData, client *http.Client) {
129132
jsonData, err := jsoniter.Marshal(payload)
130133
if err != nil {
131134
log.Println("Error encoding JSON:", err)
@@ -148,7 +151,6 @@ func sendHTTPRequest(_url url.URL, payload ReportData) {
148151
req.Header.Set("Content-Type", "application/json")
149152
req.Header.Set("x-tianji-report-version", version)
150153

151-
client := &http.Client{}
152154
resp, err := client.Do(req)
153155
if err != nil {
154156
log.Println("Send request error:", err)

0 commit comments

Comments
 (0)