@@ -26,6 +26,7 @@ type handlerMetrics struct {
26
26
latency prometheus.Summary
27
27
}
28
28
29
+ //AddHandlerMetrics adds a handlere to be tracked with metrics
29
30
func AddHandlerMetrics (handlerName string ) {
30
31
handlerMetrics := newHandlerMetrics (handlerName )
31
32
_ , exists := handlerMetricsByHandlerName .LoadOrStore (handlerName , handlerMetrics )
@@ -35,6 +36,7 @@ func AddHandlerMetrics(handlerName string) {
35
36
}
36
37
}
37
38
39
+ //RunHandlerWithMetric runs a specific handler with metrics being collected and reported to prometheus
38
40
func RunHandlerWithMetric (handleMessage func () error , handlerName string , logger logrus.FieldLogger ) error {
39
41
handlerMetrics := GetHandlerMetrics (handlerName )
40
42
defer func () {
@@ -63,6 +65,7 @@ func RunHandlerWithMetric(handleMessage func() error, handlerName string, logger
63
65
return err
64
66
}
65
67
68
+ //GetHandlerMetrics gets the metrics handler associated with the handlerName
66
69
func GetHandlerMetrics (handlerName string ) * handlerMetrics {
67
70
entry , ok := handlerMetricsByHandlerName .Load (handlerName )
68
71
if ok {
@@ -99,14 +102,17 @@ func trackTime(functionToTrack func() error, observer prometheus.Observer) error
99
102
return functionToTrack ()
100
103
}
101
104
105
+ //GetSuccessCount gets the value of the handlers success value
102
106
func (hm * handlerMetrics ) GetSuccessCount () (float64 , error ) {
103
107
return hm .getLabeledCounterValue (success )
104
108
}
105
109
110
+ //GetFailureCount gets the value of the handlers failure value
106
111
func (hm * handlerMetrics ) GetFailureCount () (float64 , error ) {
107
112
return hm .getLabeledCounterValue (failure )
108
113
}
109
114
115
+ //GetLatencySampleCount gets the value of the handlers latency value
110
116
func (hm * handlerMetrics ) GetLatencySampleCount () (* uint64 , error ) {
111
117
m := & io_prometheus_client.Metric {}
112
118
err := hm .latency .Write (m )
0 commit comments