(collector string, isDefaultEnabled bool, factory func(logger *slog.Logger) (Collector, error))
| 57 | ) |
| 58 | |
| 59 | func registerCollector(collector string, isDefaultEnabled bool, factory func(logger *slog.Logger) (Collector, error)) { |
| 60 | var helpDefaultState string |
| 61 | if isDefaultEnabled { |
| 62 | helpDefaultState = "enabled" |
| 63 | } else { |
| 64 | helpDefaultState = "disabled" |
| 65 | } |
| 66 | |
| 67 | flagName := fmt.Sprintf("collector.%s", collector) |
| 68 | flagHelp := fmt.Sprintf("Enable the %s collector (default: %s).", collector, helpDefaultState) |
| 69 | defaultValue := fmt.Sprintf("%v", isDefaultEnabled) |
| 70 | |
| 71 | flag := kingpin.Flag(flagName, flagHelp).Default(defaultValue).Action(collectorFlagAction(collector)).Bool() |
| 72 | collectorState[collector] = flag |
| 73 | |
| 74 | factories[collector] = factory |
| 75 | } |
| 76 | |
| 77 | // NodeCollector implements the prometheus.Collector interface. |
| 78 | type NodeCollector struct { |
no test coverage detected