Skip to content
This repository was archived by the owner on Oct 23, 2023. It is now read-only.

Commit 711ddcd

Browse files
committed
Move per event log sample_rate extraction to SentryHandler
1 parent d75f21b commit 711ddcd

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

raven/base.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,8 @@ def tags_context(self, data, **kwargs):
566566
})
567567

568568
def capture(self, event_type, data=None, date=None, time_spent=None,
569-
extra=None, stack=None, tags=None, **kwargs):
569+
extra=None, stack=None, tags=None, sample_rate=None,
570+
**kwargs):
570571
"""
571572
Captures and processes an event and pipes it off to SentryClient.send.
572573
@@ -636,11 +637,8 @@ def capture(self, event_type, data=None, date=None, time_spent=None,
636637
**kwargs)
637638

638639
# should this event be sampled?
639-
sample_rate = self.sample_rate
640-
try:
641-
sample_rate = float(extra['sample_rate'])
642-
except (TypeError, KeyError, ValueError):
643-
pass
640+
if sample_rate is None:
641+
sample_rate = self.sample_rate
644642

645643
if self._random.random() < sample_rate:
646644
self.send(**data)

raven/handlers/logging.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,14 @@ def _emit(self, record, **kwargs):
174174
tags.update(getattr(record, 'tags', {}))
175175

176176
kwargs.update(handler_kwargs)
177+
sample_rate = extra.pop('sample_rate', None)
178+
try:
179+
if sample_rate is not None:
180+
sample_rate = float(sample_rate)
181+
except ValueError:
182+
sample_rate = None
177183

178184
return self.client.capture(
179185
event_type, stack=stack, data=data,
180-
extra=extra, date=date, **kwargs)
186+
extra=extra, date=date, sample_rate=sample_rate,
187+
**kwargs)

0 commit comments

Comments
 (0)