// ShouldTagsPass returns true if the metric should pass, false if should drop // based on the tagdrop/tagpass filter parameters func (f Filter) ShouldTagsPass(tags map[string]string) bool { if f.TagPass != nil { for _, pat := range f.TagPass { if tagval, ok := tags[pat.Name]; ok { for _, filter := range pat.Filter { if internal.Glob(filter, tagval) { return true } } } } return false } if f.TagDrop != nil { for _, pat := range f.TagDrop { if tagval, ok := tags[pat.Name]; ok { for _, filter := range pat.Filter { if internal.Glob(filter, tagval) { return false } } } } return true } return true }
// ShouldPass returns true if the metric should pass, false if should drop // based on the drop/pass filter parameters func (f Filter) ShouldPass(measurement string) bool { if f.Pass != nil { for _, pat := range f.Pass { // TODO remove HasPrefix check, leaving it for now for legacy support. // Cam, 2015-12-07 if strings.HasPrefix(measurement, pat) || internal.Glob(pat, measurement) { return true } } return false } if f.Drop != nil { for _, pat := range f.Drop { // TODO remove HasPrefix check, leaving it for now for legacy support. // Cam, 2015-12-07 if strings.HasPrefix(measurement, pat) || internal.Glob(pat, measurement) { return false } } return true } return true }