appsignal 2.10.8 → 2.11.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
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