Codebase list matrix-synapse / debian/0.17.0-1 docs / log_contexts.rst
debian/0.17.0-1

Tree @debian/0.17.0-1 (Download .tar.gz)

log_contexts.rst @debian/0.17.0-1raw · history · blame

What do I do about "Unexpected logging context" debug log-lines everywhere?

<Mjark> The logging context lives in thread local storage
<Mjark> Sometimes it gets out of sync with what it should actually be, usually because something scheduled something to run on the reactor without preserving the logging context. 
<Matthew> what is the impact of it getting out of sync? and how and when should we preserve log context?
<Mjark> The impact is that some of the CPU and database metrics will be under-reported, and some log lines will be mis-attributed.
<Mjark> It should happen auto-magically in all the APIs that do IO or otherwise defer to the reactor.
<Erik> Mjark: the other place is if we branch, e.g. using defer.gatherResults

Unanswered: how and when should we preserve log context?