airbrake 5.6.1 → 5.7.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/airbrake.rb +26 -2
  3. data/lib/airbrake/delayed_job/plugin.rb +6 -5
  4. data/lib/airbrake/rack/context_filter.rb +52 -0
  5. data/lib/airbrake/rack/http_headers_filter.rb +38 -0
  6. data/lib/airbrake/rack/http_params_filter.rb +20 -0
  7. data/lib/airbrake/rack/middleware.rb +30 -1
  8. data/lib/airbrake/rack/request_body_filter.rb +30 -0
  9. data/lib/airbrake/rack/session_filter.rb +18 -0
  10. data/lib/airbrake/rack/user.rb +5 -3
  11. data/lib/airbrake/rails/action_controller.rb +10 -8
  12. data/lib/airbrake/resque/failure.rb +4 -5
  13. data/lib/airbrake/sidekiq/error_handler.rb +5 -2
  14. data/lib/airbrake/version.rb +1 -1
  15. data/lib/generators/airbrake_initializer.rb.erb +2 -4
  16. data/spec/apps/rails/dummy_app.rb +1 -2
  17. data/spec/apps/rails/logs/32.log +639 -0
  18. data/spec/apps/rails/logs/40.log +1 -0
  19. data/spec/apps/rails/logs/41.log +1 -0
  20. data/spec/apps/rails/logs/42.log +1000 -0
  21. data/spec/apps/rails/logs/50.log +10 -465
  22. data/spec/integration/rails/rails_spec.rb +15 -14
  23. data/spec/spec_helper.rb +17 -18
  24. data/spec/unit/airbrake_spec.rb +65 -0
  25. data/spec/unit/rack/context_filter_spec.rb +70 -0
  26. data/spec/unit/rack/http_headers_filter_spec.rb +48 -0
  27. data/spec/unit/rack/http_params_filter_spec.rb +56 -0
  28. data/spec/unit/rack/request_body_filter_spec.rb +48 -0
  29. data/spec/unit/rack/session_filter_spec.rb +48 -0
  30. metadata +63 -17
  31. data/lib/airbrake/rack/notice_builder.rb +0 -127
  32. data/spec/airbrake_spec.rb +0 -17
  33. data/spec/apps/rails/logs/51.log +0 -1405
  34. data/spec/unit/rack/notice_builder_spec.rb +0 -157
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 74d407054008e4b64ea9fd13bbbb4e4b5532ef4e
4
- data.tar.gz: 8d39d898036c546a052c211191419d5448495970
3
+ metadata.gz: f12d1a0f1a59aa75ee277014af366cca49d6cf34
4
+ data.tar.gz: a87df4857a05f07b5b9a3403c74b5cf9a5d63920
5
5
  SHA512:
6
- metadata.gz: 25563fe3c612bc3ce4eb0b7b3320f893e26f1be866781673f5866d896804801ca5427d007c14b8f7a62afa2733ea25d9031b6a49fa2b1d09b0ae62e5650497c4
7
- data.tar.gz: 6b66de7a73b659090fe9f5526d0d69631938c52b74042a332424a2e8e735255a855bc8dd35c58dec1ce3dfab46d107011d8f30da08bb2830b2899753097a1bde
6
+ metadata.gz: 2a09981269f8282ebac3e91ac740f2747416ae4f7107fd2e4a9c6eddfc934a45d74ef6bccd361c7bf82e5693da5a55ad43c610c5bd1b91d43983e9353d769a6d
7
+ data.tar.gz: b0046f3a5aa30d882420b2170825f1eafb329505582157be4b26af1fbfcbece2b63a6afa90690d3c06238609ce06b57e6a0297a3ba56f9dea7ed18156477899f
@@ -10,7 +10,11 @@ require 'airbrake/version'
10
10
  # Automatically load needed files for the environment the library is running in.
11
11
  if defined?(Rack)
12
12
  require 'airbrake/rack/user'
13
- require 'airbrake/rack/notice_builder'
13
+ require 'airbrake/rack/context_filter'
14
+ require 'airbrake/rack/session_filter'
15
+ require 'airbrake/rack/http_params_filter'
16
+ require 'airbrake/rack/http_headers_filter'
17
+ require 'airbrake/rack/request_body_filter'
14
18
  require 'airbrake/rack/middleware'
15
19
 
16
20
  require 'airbrake/rails/railtie' if defined?(Rails)
@@ -41,8 +45,28 @@ module Airbrake
41
45
  # @yieldreturn [void]
42
46
  # @return [void]
43
47
  # @since 5.1.0
48
+ # @deprecated Use {Airbrake.add_filter} with {Airbrake::Notice#stash}
49
+ # instead.
44
50
  def add_rack_builder(&block)
45
- Airbrake::Rack::NoticeBuilder.add_builder(&block)
51
+ warn(
52
+ "#{LOG_LABEL} `Airbrake.add_rack_builder` is deprecated and will " \
53
+ "be removed. Please use `Airbrake.add_filter` with `Notice#stash` " \
54
+ "instead. The stashed object is accessible through the :rack_request " \
55
+ "key. How to use: https://goo.gl/2dbuzR"
56
+ )
57
+ Airbrake.add_filter(rack_builder_shim(block))
58
+ end
59
+
60
+ private
61
+
62
+ def rack_builder_shim(block)
63
+ proc do |notice|
64
+ if notice.stash[:rack_request]
65
+ block.call(notice, notice.stash[:rack_request])
66
+ else
67
+ block.call(notice)
68
+ end
69
+ end
46
70
  end
47
71
  end
48
72
  end
@@ -10,17 +10,18 @@ module Delayed
10
10
  # Forward the call to the next callback in the callback chain
11
11
  block.call(job, *args)
12
12
  rescue Exception => exception
13
- params = job.as_json.merge(
14
- component: 'delayed_job',
15
- action: job.payload_object.class.name
16
- )
13
+ params = job.as_json
17
14
 
18
15
  # If DelayedJob is used through ActiveJob, it contains extra info.
19
16
  if job.payload_object.respond_to?(:job_data)
20
17
  params[:active_job] = job.payload_object.job_data
21
18
  end
22
19
 
23
- ::Airbrake.notify(exception, params)
20
+ notice = ::Airbrake.build_notice(exception, params)
21
+ notice[:context][:component] = 'delayed_job'
22
+ notice[:context][:action] = job.payload_object.class.name
23
+
24
+ ::Airbrake.notify(notice)
24
25
  raise exception
25
26
  end
26
27
  end
@@ -0,0 +1,52 @@
1
+ module Airbrake
2
+ module Rack
3
+ ##
4
+ # Adds context (URL, User-Agent, framework version, controller and more).
5
+ #
6
+ # @since v5.7.0
7
+ class ContextFilter
8
+ def initialize
9
+ @framework_version =
10
+ if defined?(::Rails)
11
+ "Rails/#{::Rails.version}"
12
+ elsif defined?(::Sinatra)
13
+ "Sinatra/#{Sinatra::VERSION}"
14
+ else
15
+ "Rack.version/#{::Rack.version} Rack.release/#{::Rack.release}"
16
+ end.freeze
17
+ end
18
+
19
+ ##
20
+ # @see {Airbrake::FilterChain#refine}
21
+ def call(notice)
22
+ return unless (request = notice.stash[:rack_request])
23
+
24
+ context = notice[:context]
25
+
26
+ context[:url] = request.url
27
+ context[:userAgent] = request.user_agent
28
+
29
+ add_framework_version(context)
30
+
31
+ controller = request.env['action_controller.instance']
32
+ if controller
33
+ context[:component] = controller.controller_name
34
+ context[:action] = controller.action_name
35
+ end
36
+
37
+ user = Airbrake::Rack::User.extract(request.env)
38
+ notice[:context].merge!(user.as_json) if user
39
+ end
40
+
41
+ private
42
+
43
+ def add_framework_version(context)
44
+ if context.key?(:version)
45
+ context[:version] += " #{@framework_version}"
46
+ else
47
+ context[:version] = @framework_version
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,38 @@
1
+ module Airbrake
2
+ module Rack
3
+ ##
4
+ # Adds HTTP request parameters.
5
+ #
6
+ # @since v5.7.0
7
+ class HttpHeadersFilter
8
+ ##
9
+ # @return [Array<String>] the prefixes of the majority of HTTP headers in
10
+ # Rack (some prefixes match the header names for simplicity)
11
+ HTTP_HEADER_PREFIXES = [
12
+ 'HTTP_'.freeze,
13
+ 'CONTENT_TYPE'.freeze,
14
+ 'CONTENT_LENGTH'.freeze
15
+ ].freeze
16
+
17
+ ##
18
+ # @see {Airbrake::FilterChain#refine}
19
+ def call(notice)
20
+ return unless (request = notice.stash[:rack_request])
21
+
22
+ http_headers = request.env.map.with_object({}) do |(key, value), headers|
23
+ if HTTP_HEADER_PREFIXES.any? { |prefix| key.to_s.start_with?(prefix) }
24
+ headers[key] = value
25
+ end
26
+
27
+ headers
28
+ end
29
+
30
+ notice[:environment].merge!(
31
+ httpMethod: request.request_method,
32
+ referer: request.referer,
33
+ headers: http_headers
34
+ )
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,20 @@
1
+ module Airbrake
2
+ module Rack
3
+ ##
4
+ # Adds HTTP request parameters.
5
+ #
6
+ # @since v5.7.0
7
+ class HttpParamsFilter
8
+ ##
9
+ # @see {Airbrake::FilterChain#refine}
10
+ def call(notice)
11
+ return unless (request = notice.stash[:rack_request])
12
+
13
+ notice[:params] = request.params
14
+
15
+ rails_params = request.env['action_dispatch.request.parameters']
16
+ notice[:params].merge!(rails_params) if rails_params
17
+ end
18
+ end
19
+ end
20
+ end
@@ -8,9 +8,37 @@ module Airbrake
8
8
  # The middleware automatically sends information about the framework that
9
9
  # uses it (name and version).
10
10
  class Middleware
11
+ ##
12
+ # @return [Array<Class>] the list of Rack filters that read Rack request
13
+ # information and append it to notices
14
+ RACK_FILTERS = [
15
+ Airbrake::Rack::ContextFilter,
16
+ Airbrake::Rack::SessionFilter,
17
+ Airbrake::Rack::HttpParamsFilter,
18
+ Airbrake::Rack::HttpHeadersFilter
19
+
20
+ # Optional filters (must be included by users):
21
+ # Airbrake::Rack::RequestBodyFilter
22
+ ].freeze
23
+
24
+ ##
25
+ # An Array that holds notifier names, which are known to be associated
26
+ # with particular Airbrake Rack middleware.
27
+ # rubocop:disable Style/ClassVars
28
+ @@known_notifiers = []
29
+ # rubocop:enable Style/ClassVars
30
+
11
31
  def initialize(app, notifier_name = :default)
12
32
  @app = app
13
33
  @notifier_name = notifier_name
34
+
35
+ # Prevent adding same filters to the same notifier.
36
+ return if @@known_notifiers.include?(notifier_name)
37
+ @@known_notifiers << notifier_name
38
+
39
+ RACK_FILTERS.each do |filter|
40
+ Airbrake.add_filter(filter.new, notifier_name)
41
+ end
14
42
  end
15
43
 
16
44
  ##
@@ -36,9 +64,10 @@ module Airbrake
36
64
  private
37
65
 
38
66
  def notify_airbrake(exception, env)
39
- notice = NoticeBuilder.new(env, @notifier_name).build_notice(exception)
67
+ notice = Airbrake.build_notice(exception, {}, @notifier_name)
40
68
  return unless notice
41
69
 
70
+ notice.stash[:rack_request] = ::Rack::Request.new(env)
42
71
  Airbrake.notify(notice, {}, @notifier_name)
43
72
  end
44
73
 
@@ -0,0 +1,30 @@
1
+ module Airbrake
2
+ module Rack
3
+ ##
4
+ # A filter that appends Rack request body to the notice.
5
+ #
6
+ # @example
7
+ # # Read and append up to 512 bytes from Rack request's body.
8
+ # Airbrake.add_filter(Airbrake::Rack::RequestBodyFilter.new(512))
9
+ #
10
+ # @since v5.7.0
11
+ # @note This filter is *not* used by default.
12
+ class RequestBodyFilter
13
+ ##
14
+ # @param [Integer] length The maximum number of bytes to read
15
+ def initialize(length = 4096)
16
+ @length = length
17
+ end
18
+
19
+ ##
20
+ # @see {Airbrake::FilterChain#refine}
21
+ def call(notice)
22
+ return unless (request = notice.stash[:rack_request])
23
+ return unless request.body
24
+
25
+ notice[:environment][:body] = request.body.read(@length)
26
+ request.body.rewind
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,18 @@
1
+ module Airbrake
2
+ module Rack
3
+ ##
4
+ # Adds HTTP session.
5
+ #
6
+ # @since v5.7.0
7
+ class SessionFilter
8
+ ##
9
+ # @see {Airbrake::FilterChain#refine}
10
+ def call(notice)
11
+ return unless (request = notice.stash[:rack_request])
12
+
13
+ session = request.session
14
+ notice[:session] = session if session
15
+ end
16
+ end
17
+ end
18
+ end
@@ -11,9 +11,11 @@ module Airbrake
11
11
  def self.extract(rack_env)
12
12
  # Warden support (including Devise).
13
13
  if (warden = rack_env['warden'])
14
- if (user = warden.user(run_callbacks: false))
15
- return new(user) if user
16
- end
14
+ user = warden.user(run_callbacks: false)
15
+ # Early return to prevent unwanted possible authentication via
16
+ # calling the `current_user` method later.
17
+ # See: https://github.com/airbrake/airbrake/issues/641
18
+ return user ? new(user) : nil
17
19
  end
18
20
 
19
21
  # Fallback mode (OmniAuth support included). Works only for Rails.
@@ -12,25 +12,27 @@ module Airbrake
12
12
  # A helper method for sending notices to Airbrake *asynchronously*.
13
13
  # Attaches information from the Rack env.
14
14
  # @see Airbrake#notify, #notify_airbrake_sync
15
- def notify_airbrake(exception, parameters = {}, notifier = :default)
16
- return unless (notice = build_notice(exception))
17
- Airbrake.notify(notice, parameters, notifier)
15
+ def notify_airbrake(exception, params = {}, notifier = :default)
16
+ return unless (notice = build_notice(exception, params, notifier))
17
+ Airbrake.notify(notice, params, notifier)
18
18
  end
19
19
 
20
20
  ##
21
21
  # A helper method for sending notices to Airbrake *synchronously*.
22
22
  # Attaches information from the Rack env.
23
23
  # @see Airbrake#notify_sync, #notify_airbrake
24
- def notify_airbrake_sync(exception, parameters = {}, notifier = :default)
25
- return unless (notice = build_notice(exception))
26
- Airbrake.notify_sync(notice, parameters, notifier)
24
+ def notify_airbrake_sync(exception, params = {}, notifier = :default)
25
+ return unless (notice = build_notice(exception, params, notifier))
26
+ Airbrake.notify_sync(notice, params, notifier)
27
27
  end
28
28
 
29
29
  ##
30
30
  # @param [Exception] exception
31
31
  # @return [Airbrake::Notice] the notice with information from the Rack env
32
- def build_notice(exception)
33
- Airbrake::Rack::NoticeBuilder.new(request.env).build_notice(exception)
32
+ def build_notice(exception, params = {}, notifier = :default)
33
+ return unless (notice = Airbrake.build_notice(exception, params, notifier))
34
+ notice.stash[:rack_request] = request
35
+ notice
34
36
  end
35
37
  end
36
38
  end
@@ -7,12 +7,11 @@ module Resque
7
7
  # @see https://github.com/resque/resque/wiki/Failure-Backends
8
8
  class Airbrake < Base
9
9
  def save
10
- params = payload.merge(
11
- component: 'resque',
12
- action: payload['class'].to_s
13
- )
10
+ notice = ::Airbrake.build_notice(exception, payload)
11
+ notice[:context][:component] = 'resque'
12
+ notice[:context][:action] = payload['class'].to_s
14
13
 
15
- ::Airbrake.notify_sync(exception, params)
14
+ ::Airbrake.notify_sync(notice)
16
15
  end
17
16
  end
18
17
  end
@@ -15,8 +15,11 @@ module Airbrake
15
15
  private
16
16
 
17
17
  def notify_airbrake(exception, context)
18
- params = context.merge(component: 'sidekiq', action: context['class'])
19
- Airbrake.notify(exception, params)
18
+ notice = Airbrake.build_notice(exception, context)
19
+ notice[:context][:component] = 'sidekiq'
20
+ notice[:context][:action] = context['class']
21
+
22
+ Airbrake.notify(notice)
20
23
  end
21
24
  end
22
25
  end
@@ -2,5 +2,5 @@
2
2
  # We use Semantic Versioning v2.0.0
3
3
  # More information: http://semver.org/
4
4
  module Airbrake
5
- AIRBRAKE_VERSION = '5.6.1'.freeze
5
+ AIRBRAKE_VERSION = '5.7.0.rc.1'.freeze
6
6
  end
@@ -37,16 +37,14 @@ Airbrake.configure do |c|
37
37
 
38
38
  # Configures the environment the application is running in. Helps the Airbrake
39
39
  # dashboard to distinguish between exceptions occurring in different
40
- # environments. By default, it's not set.
40
+ # environments.
41
41
  # NOTE: This option must be set in order to make the 'ignore_environments'
42
42
  # option work.
43
43
  # https://github.com/airbrake/airbrake-ruby#environment
44
44
  c.environment = Rails.env
45
45
 
46
46
  # Setting this option allows Airbrake to filter exceptions occurring in
47
- # unwanted environments such as :test. By default, it is equal to an empty
48
- # Array, which means Airbrake Ruby sends exceptions occurring in all
49
- # environments.
47
+ # unwanted environments such as :test.
50
48
  # NOTE: This option *does not* work if you don't set the 'environment' option.
51
49
  # https://github.com/airbrake/airbrake-ruby#ignore_environments
52
50
  c.ignore_environments = %w(test)
@@ -104,8 +104,7 @@ class DummyController < ActionController::Base
104
104
  )
105
105
  ]
106
106
 
107
- def index
108
- end
107
+ def index; end
109
108
 
110
109
  def crash
111
110
  raise AirbrakeTestError
@@ -0,0 +1,639 @@
1
+ # Logfile created on 2017-01-17 16:23:58 +0200 by logger.rb/56815
2
+ Connecting to database specified by DATABASE_URL
3
+  (0.8ms) select sqlite_version(*)
4
+  (0.3ms) CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255))
5
+  (0.1ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
6
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
7
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
8
+ Processing by DummyController#crash as HTML
9
+ Completed 500 Internal Server Error in 0.3ms
10
+
11
+ AirbrakeTestError (AirbrakeTestError):
12
+ lib/airbrake/rack/middleware.rb:23:in `call'
13
+
14
+
15
+ Started GET "/" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
16
+ Processing by DummyController#index as HTML
17
+ Rendered dummy/index.html.erb within layouts/application (0.6ms)
18
+ Completed 200 OK in 5.1ms (Views: 4.9ms | ActiveRecord: 0.0ms)
19
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
20
+ Processing by DummyController#crash as HTML
21
+ Completed 500 Internal Server Error in 0.1ms
22
+
23
+ AirbrakeTestError (AirbrakeTestError):
24
+ lib/airbrake/rack/middleware.rb:23:in `call'
25
+
26
+
27
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
28
+ Processing by DummyController#crash as HTML
29
+ Completed 500 Internal Server Error in 0.2ms
30
+
31
+ AirbrakeTestError (AirbrakeTestError):
32
+ lib/airbrake/rack/middleware.rb:23:in `call'
33
+
34
+
35
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
36
+ Processing by DummyController#crash as HTML
37
+ Completed 500 Internal Server Error in 0.2ms
38
+
39
+ AirbrakeTestError (AirbrakeTestError):
40
+ lib/airbrake/rack/middleware.rb:23:in `call'
41
+
42
+
43
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
44
+ Processing by DummyController#crash as HTML
45
+ Completed 500 Internal Server Error in 0.4ms
46
+
47
+ AirbrakeTestError (AirbrakeTestError):
48
+ lib/airbrake/rack/middleware.rb:23:in `call'
49
+
50
+
51
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
52
+ Processing by DummyController#crash as HTML
53
+ Completed 500 Internal Server Error in 0.2ms
54
+
55
+ AirbrakeTestError (AirbrakeTestError):
56
+ lib/airbrake/rack/middleware.rb:23:in `call'
57
+
58
+
59
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
60
+ Processing by DummyController#crash as HTML
61
+ Completed 500 Internal Server Error in 0.1ms
62
+
63
+ AirbrakeTestError (AirbrakeTestError):
64
+ lib/airbrake/rack/middleware.rb:23:in `call'
65
+
66
+
67
+ Started GET "/delayed_job" for 127.0.0.1 at 2017-01-17 16:24:04 +0200
68
+ Processing by DummyController#delayed_job as HTML
69
+ Completed 500 Internal Server Error in 16.8ms
70
+
71
+ AirbrakeTestError (delayed_job error):
72
+ lib/airbrake/delayed_job/plugin.rb:11:in `block (2 levels) in <class:Airbrake>'
73
+ lib/airbrake/rack/middleware.rb:23:in `call'
74
+
75
+
76
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:08 +0200
77
+ Processing by DummyController#crash as HTML
78
+ Completed 500 Internal Server Error in 0.2ms
79
+
80
+ AirbrakeTestError (AirbrakeTestError):
81
+ lib/airbrake/rack/middleware.rb:23:in `call'
82
+
83
+
84
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:08 +0200
85
+ Processing by DummyController#crash as HTML
86
+ Completed 500 Internal Server Error in 0.1ms
87
+
88
+ AirbrakeTestError (AirbrakeTestError):
89
+ lib/airbrake/rack/middleware.rb:23:in `call'
90
+
91
+
92
+ Started GET "/crash" for 127.0.0.1 at 2017-01-17 16:24:08 +0200
93
+ Processing by DummyController#crash as HTML
94
+ Completed 500 Internal Server Error in 0.2ms
95
+
96
+ AirbrakeTestError (AirbrakeTestError):
97
+ lib/airbrake/rack/middleware.rb:23:in `call'
98
+
99
+
100
+ Started GET "/resque" for 127.0.0.1 at 2017-01-17 16:24:08 +0200
101
+ Processing by DummyController#resque as HTML
102
+ Rendered dummy/resque.html.erb within layouts/application (0.2ms)
103
+ Completed 200 OK in 11.1ms (Views: 0.9ms | ActiveRecord: 0.0ms)
104
+ Started GET "/active_record_after_commit" for 127.0.0.1 at 2017-01-17 16:24:08 +0200
105
+ Processing by DummyController#active_record_after_commit as HTML
106
+  (0.0ms) begin transaction
107
+ SQL (0.1ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bingo"]]
108
+  (0.0ms) commit transaction
109
+ #<AirbrakeTestError: after_commit>
110
+ Rendered dummy/active_record_after_commit.html.erb within layouts/application (0.2ms)
111
+ Completed 200 OK in 6.9ms (Views: 0.9ms | ActiveRecord: 0.3ms)
112
+ Started GET "/active_record_after_rollback" for 127.0.0.1 at 2017-01-17 16:24:08 +0200
113
+ Processing by DummyController#active_record_after_rollback as HTML
114
+  (0.0ms) begin transaction
115
+ SQL (0.0ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bango"]]
116
+  (0.0ms) rollback transaction
117
+ #<AirbrakeTestError: after_rollback>
118
+ Rendered dummy/active_record_after_rollback.html.erb within layouts/application (0.2ms)
119
+ Completed 200 OK in 7.2ms (Views: 0.9ms | ActiveRecord: 0.1ms)
120
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
121
+ Processing by DummyController#crash as HTML
122
+ Parameters: {"foo"=>"bar"}
123
+ Completed 500 Internal Server Error in 0.2ms
124
+
125
+ AirbrakeTestError (AirbrakeTestError):
126
+ lib/airbrake/rack/middleware.rb:23:in `call'
127
+
128
+
129
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
130
+ Processing by DummyController#crash as HTML
131
+ Parameters: {"foo"=>"bar"}
132
+ Completed 500 Internal Server Error in 0.2ms
133
+
134
+ AirbrakeTestError (AirbrakeTestError):
135
+ lib/airbrake/rack/middleware.rb:23:in `call'
136
+
137
+
138
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
139
+ Processing by DummyController#crash as HTML
140
+ Parameters: {"foo"=>"bar"}
141
+ Completed 500 Internal Server Error in 0.2ms
142
+
143
+ AirbrakeTestError (AirbrakeTestError):
144
+ lib/airbrake/rack/middleware.rb:23:in `call'
145
+
146
+
147
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
148
+ Processing by DummyController#crash as HTML
149
+ Parameters: {"foo"=>"bar"}
150
+ Completed 500 Internal Server Error in 0.2ms
151
+
152
+ AirbrakeTestError (AirbrakeTestError):
153
+ lib/airbrake/rack/middleware.rb:23:in `call'
154
+
155
+
156
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
157
+ Processing by DummyController#crash as HTML
158
+ Parameters: {"foo"=>"bar"}
159
+ Completed 500 Internal Server Error in 0.2ms
160
+
161
+ AirbrakeTestError (AirbrakeTestError):
162
+ lib/airbrake/rack/middleware.rb:23:in `call'
163
+
164
+
165
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
166
+ Processing by DummyController#notify_airbrake_helper as HTML
167
+ Parameters: {"foo"=>"bar"}
168
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
169
+ Completed 200 OK in 11.2ms (Views: 8.3ms | ActiveRecord: 0.0ms)
170
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
171
+ Processing by DummyController#notify_airbrake_helper as HTML
172
+ Parameters: {"foo"=>"bar"}
173
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
174
+ Completed 200 OK in 11.3ms (Views: 8.4ms | ActiveRecord: 0.0ms)
175
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
176
+ Processing by DummyController#notify_airbrake_helper as HTML
177
+ Parameters: {"foo"=>"bar"}
178
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
179
+ Completed 200 OK in 11.5ms (Views: 8.3ms | ActiveRecord: 0.0ms)
180
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
181
+ Processing by DummyController#notify_airbrake_helper as HTML
182
+ Parameters: {"foo"=>"bar"}
183
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
184
+ Completed 200 OK in 4.3ms (Views: 0.9ms | ActiveRecord: 0.0ms)
185
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
186
+ Processing by DummyController#notify_airbrake_helper as HTML
187
+ Parameters: {"foo"=>"bar"}
188
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
189
+ Completed 200 OK in 3.7ms (Views: 0.8ms | ActiveRecord: 0.0ms)
190
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
191
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
192
+ Parameters: {"foo"=>"bar"}
193
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
194
+ Completed 200 OK in 11.3ms (Views: 1.2ms | ActiveRecord: 0.0ms)
195
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
196
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
197
+ Parameters: {"foo"=>"bar"}
198
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
199
+ Completed 200 OK in 13.5ms (Views: 0.8ms | ActiveRecord: 0.0ms)
200
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
201
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
202
+ Parameters: {"foo"=>"bar"}
203
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
204
+ Completed 200 OK in 10.9ms (Views: 0.8ms | ActiveRecord: 0.0ms)
205
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
206
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
207
+ Parameters: {"foo"=>"bar"}
208
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
209
+ Completed 200 OK in 11.3ms (Views: 0.8ms | ActiveRecord: 0.0ms)
210
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-17 16:24:09 +0200
211
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
212
+ Parameters: {"foo"=>"bar"}
213
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
214
+ Completed 200 OK in 11.2ms (Views: 1.0ms | ActiveRecord: 0.0ms)
215
+ Connecting to database specified by DATABASE_URL
216
+  (3.1ms) select sqlite_version(*)
217
+  (0.3ms) CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255))
218
+  (0.1ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
219
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
220
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:14 +0200
221
+ Processing by DummyController#crash as HTML
222
+ Completed 500 Internal Server Error in 0.3ms
223
+
224
+ AirbrakeTestError (AirbrakeTestError):
225
+ lib/airbrake/rack/middleware.rb:48:in `call'
226
+
227
+
228
+ Started GET "/" for 127.0.0.1 at 2017-01-23 13:52:14 +0200
229
+ Processing by DummyController#index as HTML
230
+ Rendered dummy/index.html.erb within layouts/application (1.1ms)
231
+ Completed 200 OK in 8.5ms (Views: 8.3ms | ActiveRecord: 0.0ms)
232
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:14 +0200
233
+ Processing by DummyController#crash as HTML
234
+ Completed 500 Internal Server Error in 0.2ms
235
+
236
+ AirbrakeTestError (AirbrakeTestError):
237
+ lib/airbrake/rack/middleware.rb:48:in `call'
238
+
239
+
240
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:17 +0200
241
+ Processing by DummyController#crash as HTML
242
+ Completed 500 Internal Server Error in 0.2ms
243
+
244
+ AirbrakeTestError (AirbrakeTestError):
245
+ lib/airbrake/rack/middleware.rb:48:in `call'
246
+
247
+
248
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:20 +0200
249
+ Processing by DummyController#crash as HTML
250
+ Completed 500 Internal Server Error in 0.2ms
251
+
252
+ AirbrakeTestError (AirbrakeTestError):
253
+ lib/airbrake/rack/middleware.rb:48:in `call'
254
+
255
+
256
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:23 +0200
257
+ Processing by DummyController#crash as HTML
258
+ Completed 500 Internal Server Error in 0.3ms
259
+
260
+ AirbrakeTestError (AirbrakeTestError):
261
+ lib/airbrake/rack/middleware.rb:48:in `call'
262
+
263
+
264
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:26 +0200
265
+ Processing by DummyController#crash as HTML
266
+ Completed 500 Internal Server Error in 0.3ms
267
+
268
+ AirbrakeTestError (AirbrakeTestError):
269
+ lib/airbrake/rack/middleware.rb:48:in `call'
270
+
271
+
272
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:29 +0200
273
+ Processing by DummyController#crash as HTML
274
+ Completed 500 Internal Server Error in 0.3ms
275
+
276
+ AirbrakeTestError (AirbrakeTestError):
277
+ lib/airbrake/rack/middleware.rb:48:in `call'
278
+
279
+
280
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:32 +0200
281
+ Processing by DummyController#crash as HTML
282
+ Completed 500 Internal Server Error in 0.3ms
283
+
284
+ AirbrakeTestError (AirbrakeTestError):
285
+ lib/airbrake/rack/middleware.rb:48:in `call'
286
+
287
+
288
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:35 +0200
289
+ Processing by DummyController#crash as HTML
290
+ Completed 500 Internal Server Error in 0.2ms
291
+
292
+ AirbrakeTestError (AirbrakeTestError):
293
+ lib/airbrake/rack/middleware.rb:48:in `call'
294
+
295
+
296
+ Started GET "/delayed_job" for 127.0.0.1 at 2017-01-23 13:52:35 +0200
297
+ Processing by DummyController#delayed_job as HTML
298
+ Completed 500 Internal Server Error in 15.0ms
299
+
300
+ AirbrakeTestError (delayed_job error):
301
+ lib/airbrake/delayed_job/plugin.rb:11:in `block (2 levels) in <class:Airbrake>'
302
+ lib/airbrake/rack/middleware.rb:48:in `call'
303
+
304
+
305
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 13:52:40 +0200
306
+ Processing by DummyController#crash as HTML
307
+ Completed 500 Internal Server Error in 0.2ms
308
+
309
+ AirbrakeTestError (AirbrakeTestError):
310
+ lib/airbrake/rack/middleware.rb:48:in `call'
311
+
312
+
313
+ Started GET "/resque" for 127.0.0.1 at 2017-01-23 13:52:43 +0200
314
+ Processing by DummyController#resque as HTML
315
+ Rendered dummy/resque.html.erb within layouts/application (0.3ms)
316
+ Completed 200 OK in 11.4ms (Views: 1.1ms | ActiveRecord: 0.0ms)
317
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:52:43 +0200
318
+ Processing by DummyController#notify_airbrake_helper as HTML
319
+ Parameters: {"foo"=>"bar"}
320
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
321
+ Completed 200 OK in 3.6ms (Views: 0.9ms | ActiveRecord: 0.0ms)
322
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:52:46 +0200
323
+ Processing by DummyController#notify_airbrake_helper as HTML
324
+ Parameters: {"foo"=>"bar"}
325
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
326
+ Completed 200 OK in 5.6ms (Views: 0.8ms | ActiveRecord: 0.0ms)
327
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:52:49 +0200
328
+ Processing by DummyController#notify_airbrake_helper as HTML
329
+ Parameters: {"foo"=>"bar"}
330
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
331
+ Completed 200 OK in 11.6ms (Views: 8.6ms | ActiveRecord: 0.0ms)
332
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:52:52 +0200
333
+ Processing by DummyController#notify_airbrake_helper as HTML
334
+ Parameters: {"foo"=>"bar"}
335
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
336
+ Completed 200 OK in 11.0ms (Views: 7.9ms | ActiveRecord: 0.0ms)
337
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:52:55 +0200
338
+ Processing by DummyController#notify_airbrake_helper as HTML
339
+ Parameters: {"foo"=>"bar"}
340
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
341
+ Completed 200 OK in 12.8ms (Views: 9.4ms | ActiveRecord: 0.0ms)
342
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:52:58 +0200
343
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
344
+ Parameters: {"foo"=>"bar"}
345
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
346
+ Completed 200 OK in 11.2ms (Views: 1.0ms | ActiveRecord: 0.0ms)
347
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:01 +0200
348
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
349
+ Parameters: {"foo"=>"bar"}
350
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
351
+ Completed 200 OK in 11.9ms (Views: 0.9ms | ActiveRecord: 0.0ms)
352
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:04 +0200
353
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
354
+ Parameters: {"foo"=>"bar"}
355
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.3ms)
356
+ Completed 200 OK in 14.9ms (Views: 0.9ms | ActiveRecord: 0.0ms)
357
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:07 +0200
358
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
359
+ Parameters: {"foo"=>"bar"}
360
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
361
+ Completed 200 OK in 14.2ms (Views: 0.9ms | ActiveRecord: 0.0ms)
362
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:10 +0200
363
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
364
+ Parameters: {"foo"=>"bar"}
365
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
366
+ Completed 200 OK in 10.8ms (Views: 0.8ms | ActiveRecord: 0.0ms)
367
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:13 +0200
368
+ Processing by DummyController#crash as HTML
369
+ Parameters: {"foo"=>"bar"}
370
+ Completed 500 Internal Server Error in 0.2ms
371
+
372
+ AirbrakeTestError (AirbrakeTestError):
373
+ lib/airbrake/rack/middleware.rb:48:in `call'
374
+
375
+
376
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:16 +0200
377
+ Processing by DummyController#crash as HTML
378
+ Parameters: {"foo"=>"bar"}
379
+ Completed 500 Internal Server Error in 0.2ms
380
+
381
+ AirbrakeTestError (AirbrakeTestError):
382
+ lib/airbrake/rack/middleware.rb:48:in `call'
383
+
384
+
385
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:19 +0200
386
+ Processing by DummyController#crash as HTML
387
+ Parameters: {"foo"=>"bar"}
388
+ Completed 500 Internal Server Error in 0.2ms
389
+
390
+ AirbrakeTestError (AirbrakeTestError):
391
+ lib/airbrake/rack/middleware.rb:48:in `call'
392
+
393
+
394
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:22 +0200
395
+ Processing by DummyController#crash as HTML
396
+ Parameters: {"foo"=>"bar"}
397
+ Completed 500 Internal Server Error in 0.2ms
398
+
399
+ AirbrakeTestError (AirbrakeTestError):
400
+ lib/airbrake/rack/middleware.rb:48:in `call'
401
+
402
+
403
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 13:53:25 +0200
404
+ Processing by DummyController#crash as HTML
405
+ Parameters: {"foo"=>"bar"}
406
+ Completed 500 Internal Server Error in 0.2ms
407
+
408
+ AirbrakeTestError (AirbrakeTestError):
409
+ lib/airbrake/rack/middleware.rb:48:in `call'
410
+
411
+
412
+ Started GET "/active_record_after_rollback" for 127.0.0.1 at 2017-01-23 13:53:28 +0200
413
+ Processing by DummyController#active_record_after_rollback as HTML
414
+  (0.0ms) begin transaction
415
+ SQL (0.1ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bango"]]
416
+  (0.0ms) rollback transaction
417
+ #<AirbrakeTestError: after_rollback>
418
+ Rendered dummy/active_record_after_rollback.html.erb within layouts/application (0.2ms)
419
+ Completed 200 OK in 9.5ms (Views: 0.9ms | ActiveRecord: 0.3ms)
420
+ Started GET "/active_record_after_commit" for 127.0.0.1 at 2017-01-23 13:53:28 +0200
421
+ Processing by DummyController#active_record_after_commit as HTML
422
+  (0.0ms) begin transaction
423
+ SQL (0.1ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bingo"]]
424
+  (0.0ms) commit transaction
425
+ #<AirbrakeTestError: after_commit>
426
+ Rendered dummy/active_record_after_commit.html.erb within layouts/application (0.3ms)
427
+ Completed 200 OK in 14.3ms (Views: 1.2ms | ActiveRecord: 0.1ms)
428
+ Connecting to database specified by DATABASE_URL
429
+  (8.0ms) CREATE TABLE "books" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255)) 
430
+  (2.0ms) SELECT name FROM sqlite_master WHERE type = 'table' AND name = "delayed_jobs"
431
+  (0.0ms) CREATE TABLE "delayed_jobs" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
432
+  (0.0ms) SELECT sqlite_version(*)
433
+  (1.0ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
434
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:26 +0200
435
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
436
+ Parameters: {"foo"=>"bar"}
437
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (5.0ms)
438
+ Completed 200 OK in 146.0ms (Views: 27.1ms | ActiveRecord: 0.0ms)
439
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:26 +0200
440
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
441
+ Parameters: {"foo"=>"bar"}
442
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (2.0ms)
443
+ Completed 200 OK in 50.0ms (Views: 5.3ms | ActiveRecord: 0.0ms)
444
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
445
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
446
+ Parameters: {"foo"=>"bar"}
447
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (2.0ms)
448
+ Completed 200 OK in 79.0ms (Views: 6.6ms | ActiveRecord: 0.0ms)
449
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
450
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
451
+ Parameters: {"foo"=>"bar"}
452
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (2.0ms)
453
+ Completed 200 OK in 36.0ms (Views: 7.2ms | ActiveRecord: 0.0ms)
454
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
455
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
456
+ Parameters: {"foo"=>"bar"}
457
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (2.0ms)
458
+ Completed 200 OK in 29.0ms (Views: 5.6ms | ActiveRecord: 0.0ms)
459
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
460
+ Processing by DummyController#notify_airbrake_helper as HTML
461
+ Parameters: {"foo"=>"bar"}
462
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (5.0ms)
463
+ Completed 200 OK in 38.0ms (Views: 9.9ms | ActiveRecord: 0.0ms)
464
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
465
+ Processing by DummyController#notify_airbrake_helper as HTML
466
+ Parameters: {"foo"=>"bar"}
467
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (2.0ms)
468
+ Completed 200 OK in 10.0ms (Views: 4.7ms | ActiveRecord: 0.0ms)
469
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
470
+ Processing by DummyController#notify_airbrake_helper as HTML
471
+ Parameters: {"foo"=>"bar"}
472
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (2.0ms)
473
+ Completed 200 OK in 15.0ms (Views: 7.0ms | ActiveRecord: 0.0ms)
474
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
475
+ Processing by DummyController#notify_airbrake_helper as HTML
476
+ Parameters: {"foo"=>"bar"}
477
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (2.0ms)
478
+ Completed 200 OK in 12.0ms (Views: 5.5ms | ActiveRecord: 0.0ms)
479
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
480
+ Processing by DummyController#notify_airbrake_helper as HTML
481
+ Parameters: {"foo"=>"bar"}
482
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (3.0ms)
483
+ Completed 200 OK in 14.0ms (Views: 9.3ms | ActiveRecord: 0.0ms)
484
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:27 +0200
485
+ Processing by DummyController#crash as HTML
486
+ Parameters: {"foo"=>"bar"}
487
+ Completed 500 Internal Server Error in 2.0ms
488
+
489
+ AirbrakeTestError (AirbrakeTestError):
490
+ lib/airbrake/rack/middleware.rb:48:in `call'
491
+
492
+
493
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:28 +0200
494
+ Processing by DummyController#crash as HTML
495
+ Parameters: {"foo"=>"bar"}
496
+ Completed 500 Internal Server Error in 2.0ms
497
+
498
+ AirbrakeTestError (AirbrakeTestError):
499
+ lib/airbrake/rack/middleware.rb:48:in `call'
500
+
501
+
502
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:28 +0200
503
+ Processing by DummyController#crash as HTML
504
+ Parameters: {"foo"=>"bar"}
505
+ Completed 500 Internal Server Error in 2.0ms
506
+
507
+ AirbrakeTestError (AirbrakeTestError):
508
+ lib/airbrake/rack/middleware.rb:48:in `call'
509
+
510
+
511
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:28 +0200
512
+ Processing by DummyController#crash as HTML
513
+ Parameters: {"foo"=>"bar"}
514
+ Completed 500 Internal Server Error in 2.0ms
515
+
516
+ AirbrakeTestError (AirbrakeTestError):
517
+ lib/airbrake/rack/middleware.rb:48:in `call'
518
+
519
+
520
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2017-01-23 19:00:28 +0200
521
+ Processing by DummyController#crash as HTML
522
+ Parameters: {"foo"=>"bar"}
523
+ Completed 500 Internal Server Error in 2.0ms
524
+
525
+ AirbrakeTestError (AirbrakeTestError):
526
+ lib/airbrake/rack/middleware.rb:48:in `call'
527
+
528
+
529
+ Started GET "/resque" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
530
+ Processing by DummyController#resque as HTML
531
+ Rendered dummy/resque.html.erb within layouts/application (2.0ms)
532
+ Completed 200 OK in 30.0ms (Views: 7.0ms | ActiveRecord: 0.0ms)
533
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
534
+ Processing by DummyController#crash as HTML
535
+ Completed 500 Internal Server Error in 2.0ms
536
+
537
+ AirbrakeTestError (AirbrakeTestError):
538
+ lib/airbrake/rack/middleware.rb:48:in `call'
539
+
540
+
541
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
542
+ Processing by DummyController#crash as HTML
543
+ Completed 500 Internal Server Error in 2.0ms
544
+
545
+ AirbrakeTestError (AirbrakeTestError):
546
+ lib/airbrake/rack/middleware.rb:48:in `call'
547
+
548
+
549
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
550
+ Processing by DummyController#crash as HTML
551
+ Completed 500 Internal Server Error in 1.0ms
552
+
553
+ AirbrakeTestError (AirbrakeTestError):
554
+ lib/airbrake/rack/middleware.rb:48:in `call'
555
+
556
+
557
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
558
+ Processing by DummyController#crash as HTML
559
+ Completed 500 Internal Server Error in 3.0ms
560
+
561
+ AirbrakeTestError (AirbrakeTestError):
562
+ lib/airbrake/rack/middleware.rb:48:in `call'
563
+
564
+
565
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
566
+ Processing by DummyController#crash as HTML
567
+ Completed 500 Internal Server Error in 2.0ms
568
+
569
+ AirbrakeTestError (AirbrakeTestError):
570
+ lib/airbrake/rack/middleware.rb:48:in `call'
571
+
572
+
573
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
574
+ Processing by DummyController#crash as HTML
575
+ Completed 500 Internal Server Error in 2.0ms
576
+
577
+ AirbrakeTestError (AirbrakeTestError):
578
+ lib/airbrake/rack/middleware.rb:48:in `call'
579
+
580
+
581
+ Started GET "/" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
582
+ Processing by DummyController#index as HTML
583
+ Rendered dummy/index.html.erb within layouts/application (1.0ms)
584
+ Completed 200 OK in 4.0ms (Views: 4.1ms | ActiveRecord: 0.0ms)
585
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:29 +0200
586
+ Processing by DummyController#crash as HTML
587
+ Completed 500 Internal Server Error in 2.0ms
588
+
589
+ AirbrakeTestError (AirbrakeTestError):
590
+ lib/airbrake/rack/middleware.rb:48:in `call'
591
+
592
+
593
+ Started GET "/delayed_job" for 127.0.0.1 at 2017-01-23 19:00:30 +0200
594
+ Processing by DummyController#delayed_job as HTML
595
+  (0.0ms) SELECT name FROM sqlite_master WHERE type = 'table' AND name = "delayed_jobs"
596
+ Completed 500 Internal Server Error in 74.0ms
597
+
598
+ AirbrakeTestError (delayed_job error):
599
+ lib/airbrake/delayed_job/plugin.rb:11:in `block in Airbrake'
600
+ lib/airbrake/rack/middleware.rb:48:in `call'
601
+
602
+
603
+ Started GET "/active_record_after_rollback" for 127.0.0.1 at 2017-01-23 19:00:34 +0200
604
+ Processing by DummyController#active_record_after_rollback as HTML
605
+  (0.0ms) SELECT name FROM sqlite_master WHERE type = 'table' AND name = "books"
606
+ SQL (0.0ms) INSERT INTO "books" ("title") VALUES ('Bango')
607
+ #<AirbrakeTestError: after_rollback>
608
+ Rendered dummy/active_record_after_rollback.html.erb within layouts/application (1.0ms)
609
+ Completed 200 OK in 54.0ms (Views: 5.2ms | ActiveRecord: 1.0ms)
610
+ Started GET "/active_record_after_commit" for 127.0.0.1 at 2017-01-23 19:00:34 +0200
611
+ Processing by DummyController#active_record_after_commit as HTML
612
+ SQL (1.0ms) INSERT INTO "books" ("title") VALUES ('Bingo')
613
+ #<AirbrakeTestError: after_commit>
614
+ Rendered dummy/active_record_after_commit.html.erb within layouts/application (2.0ms)
615
+ Completed 200 OK in 15.0ms (Views: 6.3ms | ActiveRecord: 1.0ms)
616
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:34 +0200
617
+ Processing by DummyController#crash as HTML
618
+ Completed 500 Internal Server Error in 1.0ms
619
+
620
+ AirbrakeTestError (AirbrakeTestError):
621
+ lib/airbrake/rack/middleware.rb:48:in `call'
622
+
623
+
624
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:34 +0200
625
+ Processing by DummyController#crash as HTML
626
+ Completed 500 Internal Server Error in 2.0ms
627
+
628
+ AirbrakeTestError (AirbrakeTestError):
629
+ lib/airbrake/rack/middleware.rb:48:in `call'
630
+
631
+
632
+ Started GET "/crash" for 127.0.0.1 at 2017-01-23 19:00:34 +0200
633
+ Processing by DummyController#crash as HTML
634
+ Completed 500 Internal Server Error in 1.0ms
635
+
636
+ AirbrakeTestError (AirbrakeTestError):
637
+ lib/airbrake/rack/middleware.rb:48:in `call'
638
+
639
+