Skip to content

Commit 72297da

Browse files
Scrape metrics immediately for scrape.interval (#171)
Signed-off-by: Anders Swanson <[email protected]>
1 parent 32c6a06 commit 72297da

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

collector/collector.go

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -220,23 +220,30 @@ func (e *Exporter) Collect(ch chan<- prometheus.Metric) {
220220
// rather than letting it be per Collect call
221221
func (e *Exporter) RunScheduledScrapes(ctx context.Context, si time.Duration) {
222222
e.scrapeInterval = &si
223+
224+
e.doScrape(time.Now())
225+
223226
ticker := time.NewTicker(si)
224227
defer ticker.Stop()
225228

226229
for {
227230
select {
228231
case tick := <-ticker.C:
229232

230-
e.mu.Lock() // ensure no simultaneous scrapes
231-
e.scheduledScrape(&tick)
232-
e.lastTick = &tick
233-
e.mu.Unlock()
233+
e.doScrape(tick)
234234
case <-ctx.Done():
235235
return
236236
}
237237
}
238238
}
239239

240+
func (e *Exporter) doScrape(tick time.Time) {
241+
e.mu.Lock() // ensure no simultaneous scrapes
242+
e.scheduledScrape(&tick)
243+
e.lastTick = &tick
244+
e.mu.Unlock()
245+
}
246+
240247
func (e *Exporter) scheduledScrape(tick *time.Time) {
241248
metricCh := make(chan prometheus.Metric, 5)
242249

@@ -387,7 +394,11 @@ func (e *Exporter) connect() error {
387394
e.user = ""
388395
}
389396
level.Info(e.logger).Log("msg", msg)
390-
P.Username, P.Password, P.ConnectString, P.ExternalAuth = e.user, godror.NewPassword(e.password), e.connectString, e.externalAuth
397+
externalAuth := sql.NullBool{
398+
Bool: e.externalAuth,
399+
Valid: true,
400+
}
401+
P.Username, P.Password, P.ConnectString, P.ExternalAuth = e.user, godror.NewPassword(e.password), e.connectString, externalAuth
391402

392403
// if TNS_ADMIN env var is set, set ConfigDir to that location
393404
P.ConfigDir = e.configDir

0 commit comments

Comments
 (0)