func (n *nerveUWSGICollector) Collect() { rawFileContents, err := ioutil.ReadFile(n.configFilePath) if err != nil { n.log.Warn("Failed to read the contents of file ", n.configFilePath, " because ", err) return } servicePortMap, err := util.ParseNerveConfig(&rawFileContents) if err != nil { n.log.Warn("Failed to parse the nerve config at ", n.configFilePath, ": ", err) return } n.log.Debug("Finished parsing Nerve config into ", servicePortMap) for port, serviceName := range servicePortMap { go n.queryService(serviceName, port) } }
// Collect the metrics func (c *NerveHTTPD) Collect() { rawFileContents, err := ioutil.ReadFile(c.configFilePath) if err != nil { c.log.Warn("Failed to read the contents of file ", c.configFilePath, " because ", err) return } servicePortMap, err := util.ParseNerveConfig(&rawFileContents) if err != nil { c.log.Warn("Failed to parse the nerve config at ", c.configFilePath, ": ", err) return } c.log.Debug("Finished parsing Nerve config into ", servicePortMap) for port, serviceName := range servicePortMap { if !c.checkIfFailed(serviceName, port) { go c.emitHTTPDMetric(serviceName, port) } } }
// Collect the metrics func (c *NerveHTTPD) Collect() { rawFileContents, err := ioutil.ReadFile(c.configFilePath) if err != nil { c.log.Warn("Failed to read the contents of file ", c.configFilePath, " because ", err) return } services, err := util.ParseNerveConfig(&rawFileContents, true) if err != nil { c.log.Warn("Failed to parse the nerve config at ", c.configFilePath, ": ", err) return } c.log.Debug("Finished parsing Nerve config into ", services) for _, service := range services { if c.serviceInWhitelist(service) { go c.emitHTTPDMetric(service, service.Port) } } }
// Parses nerve config from HTTP uWSGI stats endpoints func (n *uWSGINerveWorkerStatsCollector) Collect() { rawFileContents, err := ioutil.ReadFile(n.configFilePath) if err != nil { n.log.Warn("Failed to read the contents of file ", n.configFilePath, " because ", err) return } services, err := util.ParseNerveConfig(&rawFileContents, false) if err != nil { n.log.Warn("Failed to parse the nerve config at ", n.configFilePath, ": ", err) return } n.log.Debug("Finished parsing Nerve config into ", services) for _, service := range services { if n.serviceInWhitelist(service) { go n.queryService(service.Name, service.Port) } } }