Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | implements a much faster auto EXPLAIN, closes #3843 [José Valim & Xavier Noria] | Xavier Noria | 2011-12-04 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit vastly reduces the impact of auto explain logging when enabled, while keeping a negligible cost when disabled. The first implementation was based on the idea of subscribing to "sql.active_record" when needed, and unsubscribing once done. This is the idea behind AR::Relation#explain. Subscribe, collect, unsubscribe. But with the current implementation of notifications unsubscribing is costly, because it wipes an internal cache and that puts a penalty on the next event. So we are switching to an approach where a long-running subscriber is listening. Instead of collecting the queries with a closure in a dedicated subscriber, now we setup a thread local. If the feature is disabled by setting the threshold to nil, the subscriber will call a method that does nothing. That's totally cheap. | ||||
* | Make the identity map use the instrumentation infrastructure so we can style ↵ | David Heinemeier Hansson | 2011-05-01 | 1 | -0/+9 |
| | | | | the messages nicely with colors (FIXME: Can someone look into why the test is not working?) | ||||
* | sql logger ignores schema statements | Aaron Patterson | 2011-03-28 | 1 | -0/+3 |
| | |||||
* | fixing tests on 1.8, using a list of lists because order is important | Aaron Patterson | 2011-02-10 | 1 | -1/+3 |
| | |||||
* | simplify bind parameter logging | Aaron Patterson | 2011-02-10 | 1 | -3/+1 |
| | |||||
* | bind parameters are logged to debug log | Aaron Patterson | 2011-02-10 | 1 | -4/+12 |
| | |||||
* | Move runtime back to the Thread.current | José Valim | 2010-07-26 | 1 | -3/+15 |
| | |||||
* | Cache connection access. | José Valim | 2010-07-25 | 1 | -4/+1 |
| | |||||
* | Move runtime back to connection. | José Valim | 2010-07-25 | 1 | -15/+6 |
| | |||||
* | Revert the previous three commits. | José Valim | 2010-07-25 | 1 | -1/+15 |
| | | | | | | * AS::Notifications#instrument should not measure anything, it is not its responsibility; * Adding another argument to AS::Notifications#instrument API needs to be properly discussed; | ||||
* | use a hash to collect optional statistics about the instrumentation | Aaron Patterson | 2010-07-25 | 1 | -15/+1 |
| | |||||
* | runtime should be properly initialized. | José Valim | 2010-07-25 | 1 | -2/+1 |
| | |||||
* | Move runtime to log subscriber. | José Valim | 2010-07-25 | 1 | -6/+16 |
| | |||||
* | Get rid of instrumenter.elapsed. | José Valim | 2010-07-24 | 1 | -0/+5 |
| | |||||
* | Minor performance improvment in notifications/fanout and ↵ | Daniel Guettler | 2010-07-19 | 1 | -0/+2 |
| | | | | active_record/log_subscriber [#5098 state:open] | ||||
* | avoid const lookup. we know what these constants are in advance | Aaron Patterson | 2010-07-19 | 1 | -3/+3 |
| | |||||
* | Move Rails::LogSubscriber to ActiveSupport::LogSubscriber, allowing ↵ | José Valim | 2010-06-24 | 1 | -0/+32 |
frameworks like ActiveRecord and ActiveResource to log outsude Rails::Application [#4816 state:resolved] |