1
0
mirror of https://github.com/divan/expvarmon.git synced 2025-04-27 13:48:55 +08:00
expvarmon/utils.go

33 lines
724 B
Go
Raw Normal View History

2015-05-01 16:49:19 +03:00
package main
import (
"errors"
2015-05-02 10:56:09 +03:00
"path/filepath"
2015-05-01 16:49:19 +03:00
"strings"
)
// ParseVars returns parsed and validated slice of strings with
// variables names that will be used for monitoring.
2015-05-01 20:12:23 +03:00
func ParseVars(vars string) ([]VarName, error) {
if vars == "" {
2015-05-01 16:49:19 +03:00
return nil, errors.New("no vars specified")
}
2015-05-01 20:12:23 +03:00
ss := strings.FieldsFunc(vars, func(r rune) bool { return r == ',' })
2015-05-01 18:48:34 +03:00
var ret []VarName
2015-05-01 20:12:23 +03:00
for _, s := range ss {
ret = append(ret, VarName(s))
}
2015-05-01 16:49:19 +03:00
return ret, nil
}
2015-05-02 10:56:09 +03:00
// BaseCommand returns cleaned command name from Cmdline array.
//
// I.e. "./some.service/binary.name -arg 1 -arg" will be "binary.name".
func BaseCommand(cmdline []string) string {
if len(cmdline) == 0 {
return ""
}
return filepath.Base(cmdline[0])
}