Skip to content

Commit

Permalink
Only log heartbeat if job count changed (#529)
Browse files Browse the repository at this point in the history
Right now it will log this every five seconds, which really clobbers my
terminal/logs, mostly with fairly useless debug messages:

	 15:27 INFO  producer: Heartbeat
		     num_completed_jobs = 0
		     num_jobs_running   = 0
		     queue              = default
	 15:27 INFO  producer: Heartbeat
		     num_completed_jobs = 0
		     num_jobs_running   = 0
		     queue              = default
	 15:27 INFO  producer: Heartbeat
		     num_completed_jobs = 0
		     num_jobs_running   = 0
		     queue              = default
	 15:27 INFO  producer: Heartbeat
		     num_completed_jobs = 0
		     num_jobs_running   = 0
		     queue              = default

I originally considered changing the InfoContext() to DebugContext(),
but doing an Info log only if the status changed seemed like a good
middle ground.
  • Loading branch information
arp242 authored Aug 18, 2024
1 parent 3cc1498 commit 25bfd99
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions producer.go
Original file line number Diff line number Diff line change
Expand Up @@ -535,16 +535,25 @@ func (p *producer) dispatchWork(workCtx context.Context, count int, fetchResultC
func (p *producer) heartbeatLogLoop(ctx context.Context) {
ticker := time.NewTicker(5 * time.Second)
defer ticker.Stop()
type jobCount struct {
ran uint64
active int
}
var prevCount jobCount
for {
select {
case <-ctx.Done():
return
case <-ticker.C:
p.Logger.InfoContext(ctx, p.Name+": Heartbeat",
slog.Uint64("num_completed_jobs", p.numJobsRan.Load()),
slog.Int("num_jobs_running", int(p.numJobsActive.Load())),
slog.String("queue", p.config.Queue),
)
curCount := jobCount{ran: p.numJobsRan.Load(), active: int(p.numJobsActive.Load())}
if curCount != prevCount {
p.Logger.InfoContext(ctx, p.Name+": Producer job counts",
slog.Uint64("num_completed_jobs", curCount.ran),
slog.Int("num_jobs_running", curCount.active),
slog.String("queue", p.config.Queue),
)
}
prevCount = curCount
}
}
}
Expand Down

0 comments on commit 25bfd99

Please sign in to comment.