﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
35364	AdminEmailHandler wastes work when ADMINS isn’t set	Adam Johnson	Adam Johnson	"`AdminEmailHandler.emit()` does a lot of work to assemble the message it passes to `mail_admins`. If `settings.ADMINS` is empty, `mail_admins()` returns instantly, wasting all the message-creation work. It’s quite common to not configure `ADMINS`, whether in lieu of more advanced tools like Sentry, or during tests.

In a quick benchmark on my M1 Mac Pro on Python 3.11, the overhead is ~2.5ms:

{{{
In [1]: import logging

In [2]: logger = logging.getLogger('django')

In [3]: %timeit logger.error(""Yada"")
...
2.78 ms ± 75.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [4]: logger = logging.getLogger('example')

In [5]: %timeit logger.error(""Yada"")
...
8.37 µs ± 38.9 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
}}}

This can be avoided by adding an initial check to `AdminEmailHandler.emit()`."	Cleanup/optimization	closed	Error reporting	dev	Normal	fixed			Ready for checkin	1	0	0	0	0	0
