diff --git a/internal/reddit/client.go b/internal/reddit/client.go index 45cd708..6699f9f 100644 --- a/internal/reddit/client.go +++ b/internal/reddit/client.go @@ -174,6 +174,7 @@ func (rac *AuthenticatedClient) request(r *Request, rh ResponseHandler, empty in return nil, ErrRateLimited } + rac.logRequest() bb, rli, err := rac.doRequest(r) if err != nil && r.retry { @@ -182,6 +183,7 @@ func (rac *AuthenticatedClient) request(r *Request, rh ResponseHandler, empty in time.AfterFunc(backoff, func() { _ = rac.statsd.Incr("reddit.api.retries", r.tags, 0.1) + rac.logRequest() bb, rli, err = rac.doRequest(r) done <- struct{}{} }) @@ -219,6 +221,14 @@ func (rac *AuthenticatedClient) request(r *Request, rh ResponseHandler, empty in return rh(val), nil } +func (rac *AuthenticatedClient) logRequest() error { + if rac.redditId == SkipRateLimiting { + return nil + } + + return rac.redis.HIncrBy(context.Background(), "reddit:requests", rac.redditId, 1).Err() +} + func (rac *AuthenticatedClient) isRateLimited() bool { if rac.redditId == SkipRateLimiting { return false