Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Improve exception handling for background processes | Richard van der Hoff | 2018-04-27 | 1 | -1/+6 |
| | | | | | | | | | | | | | | | | | | There were a bunch of places where we fire off a process to happen in the background, but don't have any exception handling on it - instead relying on the unhandled error being logged when the relevent deferred gets garbage-collected. This is unsatisfactory for a number of reasons: - logging on garbage collection is best-effort and may happen some time after the error, if at all - it can be hard to figure out where the error actually happened. - it is logged as a scary CRITICAL error which (a) I always forget to grep for and (b) it's not really CRITICAL if a background process we don't care about fails. So this is an attempt to add exception handling to everything we fire off into the background. | ||||
* | add __bool__ alias to __nonzero__ methods | Adrian Tschira | 2018-04-15 | 1 | -0/+1 |
| | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | Factor run_in_background out from preserve_fn | Richard van der Hoff | 2018-03-08 | 1 | -24/+29 |
| | | | | | It annoys me that we create temporary function objects when there's really no need for it. Let's factor the gubbins out of preserve_fn and start using it. | ||||
* | Rewrite make_deferred_yieldable avoiding inlineCallbacks | Richard van der Hoff | 2018-03-01 | 1 | -9/+11 |
| | | | | | ... because (a) it's actually simpler (b) it might be marginally more performant? | ||||
* | Track DB scheduling delay per-request | Richard van der Hoff | 2018-01-16 | 1 | -1/+17 |
| | | | | | | For each request, track the amount of time spent waiting for a db connection. This entails adding it to the LoggingContext and we may as well add metrics for it while we are passing. | ||||
* | Track db txn time in millisecs | Richard van der Hoff | 2018-01-16 | 1 | -3/+6 |
| | | | | ... to reduce the amount of floating-point foo we do. | ||||
* | Optimise LoggingContext creation and copying | Richard van der Hoff | 2018-01-16 | 1 | -7/+18 |
| | | | | | | | | It turns out that the only thing we use the __dict__ of LoggingContext for is `request`, and given we create lots of LoggingContexts and then copy them every time we do a db transaction or log line, using the __dict__ seems a bit redundant. Let's try to optimise things by making the request attribute explicit. | ||||
* | Remove __PreservingContextDeferred too | Richard van der Hoff | 2017-11-14 | 1 | -30/+0 |
| | |||||
* | Remove preserve_context_over_{fn, deferred} | Richard van der Hoff | 2017-11-14 | 1 | -31/+0 |
| | | | | | Both of these functions ae known to leak logcontexts. Replace the remaining calls to them and kill them off. | ||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 1 | -1/+1 |
| | | | | what could possibly go wrong | ||||
* | Fix fixme in preserve_fn | Richard van der Hoff | 2017-04-03 | 1 | -5/+1 |
| | | | | | `preserve_fn` is no longer used as a decorator anywhere, so we can safely fix a fixme therein. | ||||
* | Fix the logcontext handling in the cache wrappers (#2077) | Richard van der Hoff | 2017-03-30 | 1 | -0/+23 |
| | | | | | | | The cache wrappers had a habit of leaking the logcontext into the reactor while the lookup function was running, and then not restoring it correctly when the lookup function had completed. It's all the fault of `preserve_context_over_{fn,deferred}` which are basically a bit broken. | ||||
* | Merge pull request #2026 from matrix-org/rav/logcontext_docs | Richard van der Hoff | 2017-03-20 | 1 | -0/+10 |
|\ | | | | | Logcontext docs | ||||
| * | Logcontext docs | Richard van der Hoff | 2017-03-17 | 1 | -0/+10 |
| | | |||||
* | | Stop preserve_fn leaking context into the reactor | Richard van der Hoff | 2017-03-18 | 1 | -32/+29 |
|/ | | | | | | | | Fix a bug in ``logcontext.preserve_fn`` which made it leak context into the reactor, and add a test for it. Also, get rid of ``logcontext.reset_context_after_deferred``, which tried to do the same thing but had its own, different, set of bugs. | ||||
* | Implement reset_context_after_deferred | Richard van der Hoff | 2017-03-15 | 1 | -0/+25 |
| | | | | | to correctly reset the context when we fire off a deferred we aren't going to wait for. | ||||
* | Preserve some logcontexts | Erik Johnston | 2016-08-24 | 1 | -4/+11 |
| | |||||
* | Clean up TransactionQueue | Erik Johnston | 2016-08-10 | 1 | -1/+0 |
| | |||||
* | Remove comment | Erik Johnston | 2016-02-10 | 1 | -1/+1 |
| | |||||
* | s/parent_context/previous_context/ | Erik Johnston | 2016-02-10 | 1 | -9/+9 |
| | |||||
* | Set parent context on instansiation | Erik Johnston | 2016-02-10 | 1 | -2/+7 |
| | |||||
* | Don't bother copying records on parent context | Erik Johnston | 2016-02-09 | 1 | -8/+0 |
| | |||||
* | Change logcontext warns to debug | Erik Johnston | 2016-02-09 | 1 | -3/+3 |
| | |||||
* | Fix up logcontexts | Erik Johnston | 2016-02-08 | 1 | -4/+94 |
| | |||||
* | Allowing tagging log contexts | Erik Johnston | 2016-02-03 | 1 | -1/+6 |
| | |||||
* | copyrights | Matthew Hodgson | 2016-01-07 | 1 | -1/+1 |
| | |||||
* | Track the time spent in the database per request. | Mark Haines | 2015-12-07 | 1 | -0/+9 |
| | | | | and track the number of transactions that request started. | ||||
* | Add a setter for the current log context. | Mark Haines | 2015-12-07 | 1 | -16/+24 |
| | | | | | | Move the resource tracking inside that setter so that it is easier to make sure that the resource tracking isn't double counting the resource usage. | ||||
* | Add comments to explain why we are hardcoding RUSAGE_THREAD | Mark Haines | 2015-12-04 | 1 | -0/+8 |
| | |||||
* | Fix warnings | Mark Haines | 2015-12-04 | 1 | -2/+2 |
| | |||||
* | Track the cpu used in the main thread by each logging context | Mark Haines | 2015-12-03 | 1 | -6/+70 |
| | |||||
* | Fix log context when sending requests | Erik Johnston | 2015-06-19 | 1 | -19/+33 |
| | |||||
* | Fix up leak. Add warnings. | Erik Johnston | 2015-05-08 | 1 | -1/+10 |
| | |||||
* | Add some docs | Erik Johnston | 2015-05-08 | 1 | -2/+14 |
| | |||||
* | Change the way we do logging contexts so that they survive divergences | Erik Johnston | 2015-05-08 | 1 | -0/+31 |
| | |||||
* | Update copyright notices | Mark Haines | 2015-01-06 | 1 | -0/+14 |
| | |||||
* | Drop log level for incorrect logging contexts to WARN if the context is ↵ | Mark Haines | 2014-11-25 | 1 | -5/+8 |
| | | | | wrong and DEBUG if the context is missing | ||||
* | Use module loggers rather than the root logger. Exceptions caused by bad ↵ | Mark Haines | 2014-11-20 | 1 | -1/+3 |
| | | | | clients shouldn't cause ERROR level logging. Fix sql logging to use 'repr' rather than 'str' | ||||
* | Preserve logging context in a few more places, drop the logging context ↵ | Mark Haines | 2014-11-19 | 1 | -0/+4 |
| | | | | after it has been stashed to reduce potential for confusion | ||||
* | Pep8 and a few doc strings | Mark Haines | 2014-10-30 | 1 | -14/+37 |
| | |||||
* | Add a request-id to each log line | Mark Haines | 2014-10-30 | 1 | -0/+85 |