appsignal 2.10.8 → 2.11.0.beta.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/.semaphore/semaphore.yml +75 -61
  4. data/CHANGELOG.md +21 -0
  5. data/build_matrix.yml +13 -7
  6. data/ext/agent.yml +19 -19
  7. data/ext/appsignal_extension.c +10 -1
  8. data/ext/base.rb +11 -2
  9. data/gemfiles/padrino.gemfile +2 -2
  10. data/gemfiles/rails-4.2.gemfile +9 -2
  11. data/gemfiles/rails-5.0.gemfile +1 -0
  12. data/gemfiles/rails-5.1.gemfile +1 -0
  13. data/gemfiles/rails-5.2.gemfile +1 -0
  14. data/gemfiles/rails-6.0.gemfile +1 -0
  15. data/gemfiles/resque-1.gemfile +7 -0
  16. data/gemfiles/{resque.gemfile → resque-2.gemfile} +1 -1
  17. data/lib/appsignal.rb +21 -1
  18. data/lib/appsignal/capistrano.rb +2 -0
  19. data/lib/appsignal/config.rb +6 -2
  20. data/lib/appsignal/environment.rb +126 -0
  21. data/lib/appsignal/extension/jruby.rb +10 -0
  22. data/lib/appsignal/hooks.rb +2 -0
  23. data/lib/appsignal/hooks/active_job.rb +89 -0
  24. data/lib/appsignal/hooks/net_http.rb +2 -0
  25. data/lib/appsignal/hooks/puma.rb +2 -58
  26. data/lib/appsignal/hooks/redis.rb +2 -0
  27. data/lib/appsignal/hooks/resque.rb +60 -0
  28. data/lib/appsignal/hooks/sequel.rb +2 -0
  29. data/lib/appsignal/hooks/sidekiq.rb +18 -191
  30. data/lib/appsignal/integrations/object.rb +4 -0
  31. data/lib/appsignal/integrations/que.rb +1 -1
  32. data/lib/appsignal/integrations/resque.rb +9 -12
  33. data/lib/appsignal/integrations/resque_active_job.rb +9 -24
  34. data/lib/appsignal/probes/puma.rb +61 -0
  35. data/lib/appsignal/probes/sidekiq.rb +102 -0
  36. data/lib/appsignal/rack/js_exception_catcher.rb +5 -2
  37. data/lib/appsignal/transaction.rb +32 -7
  38. data/lib/appsignal/utils/deprecation_message.rb +5 -1
  39. data/lib/appsignal/version.rb +1 -1
  40. data/lib/puma/plugin/appsignal.rb +2 -1
  41. data/spec/lib/appsignal/cli/diagnose_spec.rb +2 -1
  42. data/spec/lib/appsignal/config_spec.rb +6 -1
  43. data/spec/lib/appsignal/environment_spec.rb +167 -0
  44. data/spec/lib/appsignal/hooks/activejob_spec.rb +458 -0
  45. data/spec/lib/appsignal/hooks/puma_spec.rb +2 -181
  46. data/spec/lib/appsignal/hooks/resque_spec.rb +185 -0
  47. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +292 -546
  48. data/spec/lib/appsignal/integrations/padrino_spec.rb +1 -1
  49. data/spec/lib/appsignal/integrations/que_spec.rb +25 -6
  50. data/spec/lib/appsignal/integrations/resque_active_job_spec.rb +20 -137
  51. data/spec/lib/appsignal/integrations/resque_spec.rb +20 -85
  52. data/spec/lib/appsignal/probes/puma_spec.rb +180 -0
  53. data/spec/lib/appsignal/probes/sidekiq_spec.rb +204 -0
  54. data/spec/lib/appsignal/rack/js_exception_catcher_spec.rb +9 -4
  55. data/spec/lib/appsignal/transaction_spec.rb +35 -20
  56. data/spec/lib/appsignal_spec.rb +22 -0
  57. data/spec/lib/puma/appsignal_spec.rb +1 -1
  58. data/spec/support/helpers/action_mailer_helpers.rb +25 -0
  59. data/spec/support/helpers/dependency_helper.rb +12 -0
  60. data/spec/support/helpers/env_helpers.rb +1 -1
  61. data/spec/support/helpers/environment_metdata_helper.rb +16 -0
  62. data/spec/support/helpers/transaction_helpers.rb +6 -0
  63. data/spec/support/stubs/sidekiq/api.rb +2 -2
  64. metadata +25 -5
@@ -27,7 +27,7 @@ module EnvHelpers
27
27
  :priority => 1,
28
28
  :attempts => 0,
29
29
  :queue => "default",
30
- :queue_start => fixed_time - 10.0
30
+ :queue_start => fixed_time
31
31
  }.merge(args)
32
32
  end
33
33
  end
@@ -0,0 +1,16 @@
1
+ module EnvironmentMetadataHelper
2
+ def capture_environment_metadata_report_calls
3
+ allow(Appsignal::Extension).to receive(:set_environment_metadata)
4
+ .and_call_original
5
+ end
6
+
7
+ def expect_environment_metadata(key, value)
8
+ expect(Appsignal::Extension).to have_received(:set_environment_metadata)
9
+ .with(key, value)
10
+ end
11
+
12
+ def expect_not_environment_metadata(key)
13
+ expect(Appsignal::Extension).to_not have_received(:set_environment_metadata)
14
+ .with(key, anything)
15
+ end
16
+ end
@@ -44,6 +44,12 @@ module TransactionHelpers
44
44
  created_transactions.last
45
45
  end
46
46
 
47
+ # Set current transaction manually.
48
+ # Cleared by {clear_current_transaction!}
49
+ def set_current_transaction(transaction) # rubocop:disable Style/AccessorMethodName
50
+ Thread.current[:appsignal_transaction] = transaction
51
+ end
52
+
47
53
  # Use when {Appsignal::Transaction.clear_current_transaction!} is stubbed to
48
54
  # clear the current transaction on the current thread.
49
55
  def clear_current_transaction!
@@ -1,4 +1,4 @@
1
- class Sidekiq
2
- class API
1
+ module Sidekiq
2
+ class Stats
3
3
  end
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.10.8
4
+ version: 2.11.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Beekman
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-06-16 00:00:00.000000000 Z
13
+ date: 2020-07-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -172,7 +172,8 @@ files:
172
172
  - gemfiles/rails-5.1.gemfile
173
173
  - gemfiles/rails-5.2.gemfile
174
174
  - gemfiles/rails-6.0.gemfile
175
- - gemfiles/resque.gemfile
175
+ - gemfiles/resque-1.gemfile
176
+ - gemfiles/resque-2.gemfile
176
177
  - gemfiles/sequel-435.gemfile
177
178
  - gemfiles/sequel.gemfile
178
179
  - gemfiles/sinatra.gemfile
@@ -190,6 +191,7 @@ files:
190
191
  - lib/appsignal/cli/notify_of_deploy.rb
191
192
  - lib/appsignal/config.rb
192
193
  - lib/appsignal/demo.rb
194
+ - lib/appsignal/environment.rb
193
195
  - lib/appsignal/event_formatter.rb
194
196
  - lib/appsignal/event_formatter/action_view/render_formatter.rb
195
197
  - lib/appsignal/event_formatter/active_record/instantiation_formatter.rb
@@ -205,6 +207,7 @@ files:
205
207
  - lib/appsignal/helpers/metrics.rb
206
208
  - lib/appsignal/hooks.rb
207
209
  - lib/appsignal/hooks/action_cable.rb
210
+ - lib/appsignal/hooks/active_job.rb
208
211
  - lib/appsignal/hooks/active_support_notifications.rb
209
212
  - lib/appsignal/hooks/celluloid.rb
210
213
  - lib/appsignal/hooks/data_mapper.rb
@@ -216,6 +219,7 @@ files:
216
219
  - lib/appsignal/hooks/que.rb
217
220
  - lib/appsignal/hooks/rake.rb
218
221
  - lib/appsignal/hooks/redis.rb
222
+ - lib/appsignal/hooks/resque.rb
219
223
  - lib/appsignal/hooks/sequel.rb
220
224
  - lib/appsignal/hooks/shoryuken.rb
221
225
  - lib/appsignal/hooks/sidekiq.rb
@@ -240,6 +244,8 @@ files:
240
244
  - lib/appsignal/logger.rb
241
245
  - lib/appsignal/marker.rb
242
246
  - lib/appsignal/minutely.rb
247
+ - lib/appsignal/probes/puma.rb
248
+ - lib/appsignal/probes/sidekiq.rb
243
249
  - lib/appsignal/rack/generic_instrumentation.rb
244
250
  - lib/appsignal/rack/js_exception_catcher.rb
245
251
  - lib/appsignal/rack/rails_instrumentation.rb
@@ -274,6 +280,7 @@ files:
274
280
  - spec/lib/appsignal/cli_spec.rb
275
281
  - spec/lib/appsignal/config_spec.rb
276
282
  - spec/lib/appsignal/demo_spec.rb
283
+ - spec/lib/appsignal/environment_spec.rb
277
284
  - spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb
278
285
  - spec/lib/appsignal/event_formatter/active_record/instantiation_formatter_spec.rb
279
286
  - spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb
@@ -287,6 +294,7 @@ files:
287
294
  - spec/lib/appsignal/garbage_collection_profiler_spec.rb
288
295
  - spec/lib/appsignal/hooks/action_cable_spec.rb
289
296
  - spec/lib/appsignal/hooks/active_support_notifications_spec.rb
297
+ - spec/lib/appsignal/hooks/activejob_spec.rb
290
298
  - spec/lib/appsignal/hooks/celluloid_spec.rb
291
299
  - spec/lib/appsignal/hooks/data_mapper_spec.rb
292
300
  - spec/lib/appsignal/hooks/delayed_job_spec.rb
@@ -297,6 +305,7 @@ files:
297
305
  - spec/lib/appsignal/hooks/que_spec.rb
298
306
  - spec/lib/appsignal/hooks/rake_spec.rb
299
307
  - spec/lib/appsignal/hooks/redis_spec.rb
308
+ - spec/lib/appsignal/hooks/resque_spec.rb
300
309
  - spec/lib/appsignal/hooks/sequel_spec.rb
301
310
  - spec/lib/appsignal/hooks/shoryuken_spec.rb
302
311
  - spec/lib/appsignal/hooks/sidekiq_spec.rb
@@ -318,6 +327,8 @@ files:
318
327
  - spec/lib/appsignal/logger_spec.rb
319
328
  - spec/lib/appsignal/marker_spec.rb
320
329
  - spec/lib/appsignal/minutely_spec.rb
330
+ - spec/lib/appsignal/probes/puma_spec.rb
331
+ - spec/lib/appsignal/probes/sidekiq_spec.rb
321
332
  - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
322
333
  - spec/lib/appsignal/rack/js_exception_catcher_spec.rb
323
334
  - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
@@ -342,12 +353,14 @@ files:
342
353
  - spec/support/fixtures/projects/valid/config/environments/test.rb
343
354
  - spec/support/fixtures/projects/valid/log/.gitkeep
344
355
  - spec/support/fixtures/uploaded_file.txt
356
+ - spec/support/helpers/action_mailer_helpers.rb
345
357
  - spec/support/helpers/api_request_helper.rb
346
358
  - spec/support/helpers/cli_helpers.rb
347
359
  - spec/support/helpers/config_helpers.rb
348
360
  - spec/support/helpers/dependency_helper.rb
349
361
  - spec/support/helpers/directory_helper.rb
350
362
  - spec/support/helpers/env_helpers.rb
363
+ - spec/support/helpers/environment_metdata_helper.rb
351
364
  - spec/support/helpers/example_exception.rb
352
365
  - spec/support/helpers/example_standard_error.rb
353
366
  - spec/support/helpers/log_helpers.rb
@@ -391,9 +404,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
391
404
  version: '1.9'
392
405
  required_rubygems_version: !ruby/object:Gem::Requirement
393
406
  requirements:
394
- - - ">="
407
+ - - ">"
395
408
  - !ruby/object:Gem::Version
396
- version: '0'
409
+ version: 1.3.1
397
410
  requirements: []
398
411
  rubygems_version: 3.1.4
399
412
  signing_key:
@@ -414,6 +427,7 @@ test_files:
414
427
  - spec/lib/appsignal/cli_spec.rb
415
428
  - spec/lib/appsignal/config_spec.rb
416
429
  - spec/lib/appsignal/demo_spec.rb
430
+ - spec/lib/appsignal/environment_spec.rb
417
431
  - spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb
418
432
  - spec/lib/appsignal/event_formatter/active_record/instantiation_formatter_spec.rb
419
433
  - spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb
@@ -427,6 +441,7 @@ test_files:
427
441
  - spec/lib/appsignal/garbage_collection_profiler_spec.rb
428
442
  - spec/lib/appsignal/hooks/action_cable_spec.rb
429
443
  - spec/lib/appsignal/hooks/active_support_notifications_spec.rb
444
+ - spec/lib/appsignal/hooks/activejob_spec.rb
430
445
  - spec/lib/appsignal/hooks/celluloid_spec.rb
431
446
  - spec/lib/appsignal/hooks/data_mapper_spec.rb
432
447
  - spec/lib/appsignal/hooks/delayed_job_spec.rb
@@ -437,6 +452,7 @@ test_files:
437
452
  - spec/lib/appsignal/hooks/que_spec.rb
438
453
  - spec/lib/appsignal/hooks/rake_spec.rb
439
454
  - spec/lib/appsignal/hooks/redis_spec.rb
455
+ - spec/lib/appsignal/hooks/resque_spec.rb
440
456
  - spec/lib/appsignal/hooks/sequel_spec.rb
441
457
  - spec/lib/appsignal/hooks/shoryuken_spec.rb
442
458
  - spec/lib/appsignal/hooks/sidekiq_spec.rb
@@ -458,6 +474,8 @@ test_files:
458
474
  - spec/lib/appsignal/logger_spec.rb
459
475
  - spec/lib/appsignal/marker_spec.rb
460
476
  - spec/lib/appsignal/minutely_spec.rb
477
+ - spec/lib/appsignal/probes/puma_spec.rb
478
+ - spec/lib/appsignal/probes/sidekiq_spec.rb
461
479
  - spec/lib/appsignal/rack/generic_instrumentation_spec.rb
462
480
  - spec/lib/appsignal/rack/js_exception_catcher_spec.rb
463
481
  - spec/lib/appsignal/rack/rails_instrumentation_spec.rb
@@ -482,12 +500,14 @@ test_files:
482
500
  - spec/support/fixtures/projects/valid/config/environments/test.rb
483
501
  - spec/support/fixtures/projects/valid/log/.gitkeep
484
502
  - spec/support/fixtures/uploaded_file.txt
503
+ - spec/support/helpers/action_mailer_helpers.rb
485
504
  - spec/support/helpers/api_request_helper.rb
486
505
  - spec/support/helpers/cli_helpers.rb
487
506
  - spec/support/helpers/config_helpers.rb
488
507
  - spec/support/helpers/dependency_helper.rb
489
508
  - spec/support/helpers/directory_helper.rb
490
509
  - spec/support/helpers/env_helpers.rb
510
+ - spec/support/helpers/environment_metdata_helper.rb
491
511
  - spec/support/helpers/example_exception.rb
492
512
  - spec/support/helpers/example_standard_error.rb
493
513
  - spec/support/helpers/log_helpers.rb