in cloudflare_exporter.go [208:238]
func (e *exporter) scrapeCloudflareOnce(ctx context.Context) error {
e.scrapeLock.Lock()
defer e.scrapeLock.Unlock()
logger := level.Info(log.With(e.logger, "event", "scraping cloudflare"))
logger.Log("msg", "starting")
cfScrapes.Inc()
ctx, cancel := context.WithTimeout(ctx, e.scrapeTimeout)
defer cancel()
duration, err := timeOperation(func() error {
var zones map[string]string
zones, err := e.getZones(ctx)
if err != nil {
return err
}
zonesActive.Set(float64(len(zones)))
return e.getZoneAnalytics(ctx, zones)
})
if err != nil {
return err
}
cfLastSuccessTimestampSeconds.Set(float64(time.Now().UTC().Unix()))
logger.Log("msg", "finished", "duration", duration.Seconds())
return nil
}