...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package main
19
20 import (
21 "flag"
22 "fmt"
23 "log"
24 "net/http"
25 "regexp"
26
27 "github.com/prometheus/client_golang/prometheus"
28 "github.com/prometheus/client_golang/prometheus/collectors"
29 "github.com/prometheus/client_golang/prometheus/promhttp"
30 )
31
32 var addr = flag.String("listen-address", ":8080", "The address to listen on for HTTP requests.")
33
34 func main() {
35 flag.Parse()
36
37
38 reg := prometheus.NewRegistry()
39
40
41 reg.MustRegister(collectors.NewBuildInfoCollector())
42 reg.MustRegister(collectors.NewGoCollector(
43 collectors.WithGoCollectorRuntimeMetrics(collectors.GoRuntimeMetricsRule{Matcher: regexp.MustCompile("/.*")}),
44 ))
45
46
47 http.Handle("/metrics", promhttp.HandlerFor(
48 reg,
49 promhttp.HandlerOpts{
50
51 EnableOpenMetrics: true,
52 },
53 ))
54 fmt.Println("Hello world from new Go Collector!")
55 log.Fatal(http.ListenAndServe(*addr, nil))
56 }
57
View as plain text