aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/log_subscriber.rb
Commit message (Collapse)AuthorAgeFilesLines
* Invert the if/else clauseRafael Mendonça França2014-05-041-1/+1
| | | | The case where the value is present is more common
* Fix exception when logging SQL w/ nil binary value.James Coleman2014-05-021-1/+1
|
* type casted PG bytea values are represented as a Hash.Yves Senn2013-11-091-0/+2
| | | | | This is a follow up to: 97f0d9a0dd12e7ad634815eecfeff866f64aad92 This change is also related to: df0edafac9eb47cd971970a9e7b13a3eaddf214e
* Cleanup identitymap logger from LogSubscriberArthur Neves2013-09-281-11/+2
| | | | Also renaming ivar @odd_or_even to @odd
* log the sql that is actually sent to the databaseNeeraj Singh2013-06-191-1/+1
| | | | | | | | | | | | If I have a query that produces sql `WHERE "users"."name" = 'a b'` then in the log all the whitespace is being squeezed. So the sql that is printed in the log is `WHERE "users"."name" = 'a b'`. This can be confusing. This commit fixes it by ensuring that whitespace is not squeezed. fixes #10982
* removes calls to AR::Runtime.instanceXavier Noria2013-04-131-2/+2
| | | | | | | | | | Registries have class-level accessors to write clean code, let's use them. This makes style uniform also with existing usage in ScopeRegistry and InstrumentationRegistry. If performance of the method_missing callback was ever considered to be a concern, then we should stop using it altogether and probably remove the callback. But while we have the feature we should use it.
* Created a runtime registry for thread local variables in active record.wangjohn2013-04-091-2/+2
|
* Ignore binds payload with nil column in AR log subscriberCarlos Antonio da Silva2013-01-081-5/+7
| | | | | | | | | | | | | Some tests were raising the following error: Could not log "sql.active_record" event. NoMethodError: undefined method `type' for nil:NilClass` Due to the way binds were being logged, the column info was considered always present, but that is not true for some of the tests listed in the issue. Closes #8806.
* Skip binary data with binds test for mysql2, fix buildCarlos Antonio da Silva2012-12-141-1/+1
| | | | | | | Mysql2 doesn't support binds, which means no binds payload is set when logging, so the logic to render binary data differently here doesn't work. Introduced in 99d142a9375f9ba1960863b3cc745265aa9a14df.
* Do not log the binding values for binary columns.Matthew M. Boedicker2012-12-141-1/+11
| | | | They tend to be large and not very useful in the log.
* Optimize log subscribers to check if the log level is sufficient before ↵Brian Durand2012-09-301-4/+6
| | | | performing an operations.
* implements a much faster auto EXPLAIN, closes #3843 [José Valim & Xavier Noria]Xavier Noria2011-12-041-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 Hansson2011-05-011-0/+9
| | | | the messages nicely with colors (FIXME: Can someone look into why the test is not working?)
* sql logger ignores schema statementsAaron Patterson2011-03-281-0/+3
|
* fixing tests on 1.8, using a list of lists because order is importantAaron Patterson2011-02-101-1/+3
|
* simplify bind parameter loggingAaron Patterson2011-02-101-3/+1
|
* bind parameters are logged to debug logAaron Patterson2011-02-101-4/+12
|
* Move runtime back to the Thread.currentJosé Valim2010-07-261-3/+15
|
* Cache connection access.José Valim2010-07-251-4/+1
|
* Move runtime back to connection.José Valim2010-07-251-15/+6
|
* Revert the previous three commits.José Valim2010-07-251-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 instrumentationAaron Patterson2010-07-251-15/+1
|
* runtime should be properly initialized.José Valim2010-07-251-2/+1
|
* Move runtime to log subscriber.José Valim2010-07-251-6/+16
|
* Get rid of instrumenter.elapsed.José Valim2010-07-241-0/+5
|
* Minor performance improvment in notifications/fanout and ↵Daniel Guettler2010-07-191-0/+2
| | | | active_record/log_subscriber [#5098 state:open]
* avoid const lookup. we know what these constants are in advanceAaron Patterson2010-07-191-3/+3
|
* Move Rails::LogSubscriber to ActiveSupport::LogSubscriber, allowing ↵José Valim2010-06-241-0/+32
frameworks like ActiveRecord and ActiveResource to log outsude Rails::Application [#4816 state:resolved]