ParseFilterArgs parses key=value filter arguments. exported for testing.
(args []string)
| 137 | // ParseFilterArgs parses key=value filter arguments. |
| 138 | // exported for testing. |
| 139 | func ParseFilterArgs(args []string) (collector.FilterOptions, error) { |
| 140 | filters := collector.FilterOptions{} |
| 141 | for _, arg := range args { |
| 142 | parts := strings.SplitN(arg, "=", 2) |
| 143 | if len(parts) != 2 { |
| 144 | return filters, fmt.Errorf("invalid filter format: %s (expected key=value)", arg) |
| 145 | } |
| 146 | key, value := parts[0], parts[1] |
| 147 | if err := applyFilter(&filters, key, value); err != nil { |
| 148 | return filters, err |
| 149 | } |
| 150 | } |
| 151 | return filters, nil |
| 152 | } |
| 153 | |
| 154 | // applyFilter applies a single key=value filter to FilterOptions. |
| 155 | func applyFilter(filters *collector.FilterOptions, key, value string) error { |