Skip to content

Commit d7aac33

Browse files
committed
Fixes
1 parent faa9f02 commit d7aac33

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

collector/generic_collector.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ package collector
1616

1717
import (
1818
"encoding/json"
19-
"errors"
19+
"fmt"
2020
"io/ioutil"
2121
"net/http"
2222
"regexp"
@@ -95,15 +95,15 @@ func (collector *GenericCollector) Collect() (time.Time, []v2.Metric, error) {
9595

9696
matchString := regex.FindStringSubmatch(string(pageContent))
9797
if matchString != nil {
98-
if strings.Contains(matchString[1], ".") {
98+
if metricConfig.Units == "float" {
9999
regVal, err := strconv.ParseFloat(strings.TrimSpace(matchString[1]), 64)
100100
if err != nil {
101101
errorSlice = append(errorSlice, err)
102102
}
103103
metrics[ind].FloatPoints = []v2.FloatPoint{
104104
{Value: regVal, Timestamp: currentTime},
105105
}
106-
} else {
106+
} else if metricConfig.Units == "integer" || metricConfig.Units == "int" {
107107
regVal, err := strconv.ParseInt(strings.TrimSpace(matchString[1]), 10, 64)
108108
if err != nil {
109109
errorSlice = append(errorSlice, err)
@@ -112,9 +112,11 @@ func (collector *GenericCollector) Collect() (time.Time, []v2.Metric, error) {
112112
{Value: regVal, Timestamp: currentTime},
113113
}
114114

115+
} else {
116+
errorSlice = append(errorSlice, fmt.Errorf("Unexpected value of 'units' for metric '%v' in config ", metricConfig.Name))
115117
}
116118
} else {
117-
errorSlice = append(errorSlice, errors.New("No match found for metric regexp: "+metricConfig.Regex))
119+
errorSlice = append(errorSlice, fmt.Errorf("No match found for regexp: %v for metric '%v' in config", metricConfig.Regex, metricConfig.Name))
118120
}
119121

120122
metrics[ind].Name = metricConfig.Name

0 commit comments

Comments
 (0)