diff --git a/r2/r2/controllers/reddit_base.py b/r2/r2/controllers/reddit_base.py index 964f6d1cd..ce2ca3b7f 100644 --- a/r2/r2/controllers/reddit_base.py +++ b/r2/r2/controllers/reddit_base.py @@ -641,12 +641,15 @@ class MinimalController(BaseController): log_text("unknown action", "no action for %r" % path_info, "warning") if g.usage_sampling >= 1.0 or rand.random() < g.usage_sampling: - - amqp.add_kw("usage_q", - start_time = c.start_time, - end_time = end_time, - sampling_rate = g.usage_sampling, - action = action) + amqp.add_kw( + "request_info", + ip=request.ip, + start_time=c.start_time, + end_time=end_time, + sampling_rate=g.usage_sampling, + action=action, + headers=dict(request.headers) + ) # this thread is probably going to be reused, but it could be # a while before it is. So we might as well dump the cache in diff --git a/r2/r2/lib/queues.py b/r2/r2/lib/queues.py index b88c7b2b9..9be0e4335 100644 --- a/r2/r2/lib/queues.py +++ b/r2/r2/lib/queues.py @@ -73,17 +73,19 @@ class RedditQueueMap(QueueMap): self._q('vote_link_q', self_refer=True) self._q('vote_comment_q', self_refer=True) self._q('log_q', self_refer=True) - self._q('usage_q', self_refer=True, durable=False) self._q('solrsearch_changes') self._q('indextank_changes', self_refer=True) self._bind('search_changes', 'solrsearch_changes') self._bind('search_changes', 'indextank_changes') + self._q('usage_q', durable=False) + def bindings(self): self.newlink_bindings() self.newcomment_bindings() self.newsubreddit_bindings() + self.requestinfo_bindings() def newlink_bindings(self): self._bind('new_link', 'scraper_q') @@ -98,6 +100,9 @@ class RedditQueueMap(QueueMap): def newsubreddit_bindings(self): pass + def requestinfo_bindings(self): + self._bind('request_info', 'usage_q') + try: from r2admin.lib.adminqueues import * except ImportError: