Expose version as prometheus metric

This commit is contained in:
Jimmi Dyson 2015-09-23 09:18:05 +01:00
parent 28585bc699
commit 9e6b3e4a9d

View File

@ -16,6 +16,8 @@ limitations under the License.
package version
import "github.com/prometheus/client_golang/prometheus"
// Info contains versioning information.
// TODO: Add []string of api versions supported? It's still unclear
// how we'll want to distribute that information.
@ -45,3 +47,17 @@ func Get() Info {
func (info Info) String() string {
return info.GitVersion
}
func init() {
buildInfo := prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: "kubernetes_build_info",
Help: "A metric with a constant '1' value labeled by major, minor, git version, git commit and git tree state from which Kubernetes was built.",
},
[]string{"major", "minor", "gitVersion", "gitCommit", "gitTreeState"},
)
info := Get()
buildInfo.WithLabelValues(info.Major, info.Minor, info.GitVersion, info.GitCommit, info.GitTreeState).Set(1)
prometheus.MustRegister(buildInfo)
}