airbrake 5.6.1 → 5.7.0.rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+