Files
houston/main_client.go
2025-06-25 19:43:36 +09:00

45 lines
787 B
Go

//go:build client
package main
import (
"context"
"time"
"github.com/prometheus/client_golang/prometheus/promhttp"
"repositories.action2quare.com/ayo/gocommon/flagx"
"repositories.action2quare.com/ayo/gocommon/logger"
"repositories.action2quare.com/ayo/houston/client"
"net/http"
)
func main() {
flagx.Parse()
hc, err := client.NewClient(true)
if err != nil {
panic(err)
}
http.Handle("/metrics", promhttp.Handler())
server := &http.Server{Addr: ":9200", Handler: nil}
go func() {
defer func() {
logger.Println("metric server shutdown")
r := recover()
if r != nil {
logger.Println(r)
}
}()
server.ListenAndServe()
}()
hc.Start()
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
server.Shutdown(ctx)
cancel()
}