aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/notifications
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-07-25 20:46:42 +0200
committerJosé Valim <jose.valim@gmail.com>2010-07-25 20:46:42 +0200
commitff0d842454571d78addd1fe9d4f232b600881b1a (patch)
treea9c07676d888d14ab5f2298dfe676fbb0ab3eb26 /activesupport/lib/active_support/notifications
parent0d0e79398308e6147e59d99a48c7e6d952e5848c (diff)
downloadrails-ff0d842454571d78addd1fe9d4f232b600881b1a.tar.gz
rails-ff0d842454571d78addd1fe9d4f232b600881b1a.tar.bz2
rails-ff0d842454571d78addd1fe9d4f232b600881b1a.zip
Revert the previous three commits.
* 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;
Diffstat (limited to 'activesupport/lib/active_support/notifications')
-rw-r--r--activesupport/lib/active_support/notifications/instrumenter.rb11
1 files changed, 4 insertions, 7 deletions
diff --git a/activesupport/lib/active_support/notifications/instrumenter.rb b/activesupport/lib/active_support/notifications/instrumenter.rb
index 4fc446fb2b..441fefb491 100644
--- a/activesupport/lib/active_support/notifications/instrumenter.rb
+++ b/activesupport/lib/active_support/notifications/instrumenter.rb
@@ -14,19 +14,16 @@ module ActiveSupport
# Instrument the given block by measuring the time taken to execute it
# and publish it. Notice that events get sent even if an error occurs
# in the passed-in block
- def instrument(name, payload={}, info = nil)
+ def instrument(name, payload={})
+ started = Time.now
+
begin
- started = Time.now
yield
rescue Exception => e
payload[:exception] = [e.class.name, e.message]
raise e
ensure
- finished = Time.now
- if info
- info[:elapsed] = 1000.0 * (finished.to_f - started.to_f)
- end
- @notifier.publish(name, started, finished, @id, payload)
+ @notifier.publish(name, started, Time.now, @id, payload)
end
end