Merge pull request #1690 from shapor/patch-1

Move regexp to global in meminfo_linux.go
This commit is contained in:
Ben Kochie 2020-05-25 13:57:24 +02:00 committed by GitHub
commit f3073755a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -25,6 +25,10 @@ import (
"strings"
)
var (
reParens = regexp.MustCompile(`\((.*)\)`)
)
func (c *meminfoCollector) getMemInfo() (map[string]float64, error) {
file, err := os.Open(procFilePath("meminfo"))
if err != nil {
@ -39,7 +43,6 @@ func parseMemInfo(r io.Reader) (map[string]float64, error) {
var (
memInfo = map[string]float64{}
scanner = bufio.NewScanner(r)
re = regexp.MustCompile(`\((.*)\)`)
)
for scanner.Scan() {
@ -55,7 +58,7 @@ func parseMemInfo(r io.Reader) (map[string]float64, error) {
}
key := parts[0][:len(parts[0])-1] // remove trailing : from key
// Active(anon) -> Active_anon
key = re.ReplaceAllString(key, "_${1}")
key = reParens.ReplaceAllString(key, "_${1}")
switch len(parts) {
case 2: // no unit
case 3: // has unit, we presume kB