func()

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
}