func (app *app) Consume(id internal.AgentRunID, data internal.Harvestable) { if "" != debugLogging { debug(data, app.config.Logger) } if nil != app.testHarvest { data.MergeIntoHarvest(app.testHarvest) return } if "" == id { return } select { case app.dataChan <- appData{id, data}: case <-app.shutdownStarted: } }
func debug(data internal.Harvestable, lg Logger) { now := time.Now() h := internal.NewHarvest(now) data.MergeIntoHarvest(h) ps := h.Payloads() for cmd, p := range ps { d, err := p.Data("agent run id", now) if nil == d && nil == err { continue } if nil != err { lg.Debug("integration", map[string]interface{}{ "cmd": cmd, "error": err.Error(), }) continue } lg.Debug("integration", map[string]interface{}{ "cmd": cmd, "data": internal.JSONString(d), }) } }