Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
master-hax committed Oct 31, 2024
1 parent 194abc8 commit aeb234f
Showing 1 changed file with 27 additions and 18 deletions.
45 changes: 27 additions & 18 deletions metrics/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,29 +91,38 @@ func InitPrometheus(prometheusHost, prometheusPort, prometheusEntry string) {
go func() {

if strings.HasPrefix(prometheusHost, "unix:") {
socketPath := prometheusHost[5:]
socketPath := prometheusHost[5:] // trim the "unix:" prefix
glog.Infof("Starting Prometheus on Unix socket %v, entry point is /%v", socketPath, prometheusEntry)
_ := os.Remove(socketPath) // allow failure
unixListener, err := net.Listen("unix", socketPath)
if err != nil {
glog.Errorf("Error starting Prometheus on socket %v: %v", socketPath, err)
os.Exit(1)
}
if err := http.Serve(unixListener, nil); err != nil {
glog.Errorf("Error starting Prometheus at socket %v: %v", socketPath, err)
os.Exit(1)
}
return
}

glog.Infof("Starting Prometheus on IP port %v:%v, entry point is /%v", prometheusHost, prometheusPort, prometheusEntry)
if err := http.ListenAndServe(prometheusHost+":"+prometheusPort, nil); err != nil {
glog.Errorf("Error starting Prometheus at port %v:%v: %v", prometheusHost, prometheusPort, err)
os.Exit(1)
serveOnUnixSocket(socketPath)
} else {
ipPort := prometheusHost+":"+prometheusPort
glog.Infof("Starting Prometheus on IP port %v:%v, entry point is /%v", ipPort, prometheusEntry)
serveOnIpPort(ipPort)
}

}()
}

func serveOnUnixSocket(socketPath string) {
_ = os.Remove(socketPath) // allow failure
unixListener, err := net.Listen("unix", socketPath)
if err != nil {
glog.Errorf("Error starting Prometheus on socket %v: %v", socketPath, err)
os.Exit(1)
}
if err := http.Serve(unixListener, nil); err != nil {
glog.Errorf("Error starting Prometheus at socket %v: %v", socketPath, err)
os.Exit(1)
}
}

func serveOnIpPort(ipPort string) {
if err := http.ListenAndServe(ipPort, nil); err != nil {
glog.Errorf("Error starting Prometheus at ip port %v: %v", ipPort, err)
os.Exit(1)
}
}

const (
RecordEntryTypeStart = iota
RecordEntryTypeSend = iota
Expand Down

0 comments on commit aeb234f

Please sign in to comment.