// GACK, so ugly func convertHost(global *ConfigFile, inqhost *ast.HostCheck) (*Host, error) { hostname, err := os.Hostname() if err != nil { return nil, err } storage := metrics.NewHostStore("/proc", global.CycleTime) h := &Host{&Entity{hostname, nil, storage, inqhost.Parameters}} rules := make([]*Rule, len(inqhost.Rules)) for idx, rule := range inqhost.Rules { rule, err := BuildRule(global, h, rule) util.DebugDebug("Rule: %+v", rule) if err != nil { return nil, err } err = storage.Watch(rule.MetricFamily, rule.MetricName) if err != nil { return nil, err } rules[idx] = rule } h.rules = rules return h, nil }
func NewHost() *Host { return &Host{&Entity{"localhost", nil, metrics.NewHostStore("/proc", 15), nil}} }