prometheus: Move the prometheus nil check inside the prometheus function

That pattern will be reused in future metrics.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
This commit is contained in:
Julien Pivotto
2017-02-26 08:46:21 +01:00
parent 50664fe115
commit 46260749c1
2 changed files with 6 additions and 5 deletions

View File

@@ -224,12 +224,10 @@ func (g *Graph) Process(v *Vertex) error {
// if this fails, don't UpdateTimestamp() // if this fails, don't UpdateTimestamp()
checkOK, err = obj.CheckApply(!noop) checkOK, err = obj.CheckApply(!noop)
if obj.Prometheus() != nil {
if promErr := obj.Prometheus().UpdateCheckApplyTotal(obj.Kind(), !noop, !checkOK, err != nil); promErr != nil { if promErr := obj.Prometheus().UpdateCheckApplyTotal(obj.Kind(), !noop, !checkOK, err != nil); promErr != nil {
// TODO: how to error correctly // TODO: how to error correctly
log.Printf("%s[%s]: Prometheus.UpdateCheckApplyTotal() errored: %v", v.Kind(), v.GetName(), err) log.Printf("%s[%s]: Prometheus.UpdateCheckApplyTotal() errored: %v", v.Kind(), v.GetName(), err)
} }
}
// TODO: Can the `Poll` converged timeout tracking be a // TODO: Can the `Poll` converged timeout tracking be a
// more general method for all converged timeouts? this // more general method for all converged timeouts? this
// would simplify the resources by removing boilerplate // would simplify the resources by removing boilerplate

View File

@@ -80,6 +80,9 @@ func (obj *Prometheus) Stop() error {
// UpdateCheckApplyTotal refreshes the failing gauge by parsing the internal // UpdateCheckApplyTotal refreshes the failing gauge by parsing the internal
// state map. // state map.
func (obj *Prometheus) UpdateCheckApplyTotal(kind string, apply, eventful, errorful bool) error { func (obj *Prometheus) UpdateCheckApplyTotal(kind string, apply, eventful, errorful bool) error {
if obj == nil {
return nil // happens when mgmt is launched without --prometheus
}
labels := prometheus.Labels{"kind": kind, "apply": strconv.FormatBool(apply), "eventful": strconv.FormatBool(eventful), "errorful": strconv.FormatBool(errorful)} labels := prometheus.Labels{"kind": kind, "apply": strconv.FormatBool(apply), "eventful": strconv.FormatBool(eventful), "errorful": strconv.FormatBool(errorful)}
metric := obj.checkApplyTotal.With(labels) metric := obj.checkApplyTotal.With(labels)
metric.Inc() metric.Inc()