@@ -10,6 +10,7 @@ import (
10
10
"github.com/prometheus/client_golang/prometheus/promauto"
11
11
"github.com/prometheus/client_golang/prometheus/promhttp"
12
12
"github.com/prometheus/exporter-toolkit/web"
13
+ "github.com/resmoio/kubernetes-event-exporter/pkg/version"
13
14
"github.com/rs/zerolog/log"
14
15
)
15
16
@@ -18,6 +19,7 @@ type Store struct {
18
19
EventsDiscarded prometheus.Counter
19
20
WatchErrors prometheus.Counter
20
21
SendErrors prometheus.Counter
22
+ BuildInfo prometheus.GaugeFunc
21
23
}
22
24
23
25
// promLogger implements promhttp.Logger
@@ -87,6 +89,20 @@ func Init(addr string, tlsConf string) {
87
89
88
90
func NewMetricsStore (name_prefix string ) * Store {
89
91
return & Store {
92
+ BuildInfo : promauto .NewGaugeFunc (
93
+ prometheus.GaugeOpts {
94
+ Name : name_prefix + "build_info" ,
95
+ Help : "A metric with a constant '1' value labeled by version, revision, branch, and goversion from which Kubernetes Event Exporter was built." ,
96
+ ConstLabels : prometheus.Labels {
97
+ "version" : version .Version ,
98
+ "revision" : version .Revision (),
99
+ "goversion" : version .GoVersion ,
100
+ "goos" : version .GoOS ,
101
+ "goarch" : version .GoArch ,
102
+ },
103
+ },
104
+ func () float64 { return 1 },
105
+ ),
90
106
EventsProcessed : promauto .NewCounter (prometheus.CounterOpts {
91
107
Name : name_prefix + "events_sent" ,
92
108
Help : "The total number of events processed" ,
@@ -111,5 +127,6 @@ func DestroyMetricsStore(store *Store) {
111
127
prometheus .Unregister (store .EventsDiscarded )
112
128
prometheus .Unregister (store .WatchErrors )
113
129
prometheus .Unregister (store .SendErrors )
130
+ prometheus .Unregister (store .BuildInfo )
114
131
store = nil
115
132
}
0 commit comments