38 lines
636 B
Go
Raw Permalink Normal View History

package main
import (
"flag"
"fmt"
"log"
"net/http"
"time"
)
func metricsHandler(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(200)
_, err := w.Write([]byte(fmt.Sprintf(`{"queue": {"length": %d}}`, size)))
if err != nil {
log.Fatalf("failed to write: %v", err)
}
}
var (
size int
)
func main() {
flag.IntVar(&size, "fake-queue-length", 10, "Fake queue length for fake metrics.")
flag.Parse()
mux := http.NewServeMux()
mux.HandleFunc("/metrics", metricsHandler)
server := &http.Server{
Addr: ":9090",
Handler: mux,
ReadTimeout: 5 * time.Second,
}
log.Fatal(server.ListenAndServe())
}