newrelic_rpm 8.13.1 → 8.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/.rubocop.yml +130 -1
  4. data/.rubocop_todo.yml +3 -0
  5. data/CHANGELOG.md +3284 -3148
  6. data/CONTRIBUTING.md +1 -2
  7. data/README.md +2 -1
  8. data/init.rb +1 -1
  9. data/lib/new_relic/agent/agent.rb +14 -466
  10. data/lib/new_relic/agent/agent_helpers/connect.rb +227 -0
  11. data/lib/new_relic/agent/agent_helpers/harvest.rb +153 -0
  12. data/lib/new_relic/agent/agent_helpers/shutdown.rb +72 -0
  13. data/lib/new_relic/agent/agent_helpers/special_startup.rb +75 -0
  14. data/lib/new_relic/agent/agent_helpers/start_worker_thread.rb +167 -0
  15. data/lib/new_relic/agent/agent_helpers/startup.rb +202 -0
  16. data/lib/new_relic/agent/agent_helpers/transmit.rb +76 -0
  17. data/lib/new_relic/agent/configuration/default_source.rb +47 -9
  18. data/lib/new_relic/agent/datastores.rb +2 -2
  19. data/lib/new_relic/agent/event_loop.rb +1 -1
  20. data/lib/new_relic/agent/guid_generator.rb +11 -2
  21. data/lib/new_relic/agent/heap.rb +1 -1
  22. data/lib/new_relic/agent/instrumentation/active_job.rb +7 -7
  23. data/lib/new_relic/agent/instrumentation/active_merchant.rb +2 -2
  24. data/lib/new_relic/agent/instrumentation/active_record.rb +9 -9
  25. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +24 -24
  26. data/lib/new_relic/agent/instrumentation/active_storage.rb +2 -2
  27. data/lib/new_relic/agent/instrumentation/active_support.rb +12 -0
  28. data/lib/new_relic/agent/instrumentation/active_support_logger.rb +3 -3
  29. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +2 -2
  30. data/lib/new_relic/agent/instrumentation/authlogic.rb +2 -2
  31. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +3 -3
  32. data/lib/new_relic/agent/instrumentation/bunny.rb +4 -4
  33. data/lib/new_relic/agent/instrumentation/concurrent_ruby/chain.rb +36 -0
  34. data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +21 -0
  35. data/lib/new_relic/agent/instrumentation/concurrent_ruby/prepend.rb +27 -0
  36. data/lib/new_relic/agent/instrumentation/concurrent_ruby.rb +31 -0
  37. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -1
  38. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +1 -1
  39. data/lib/new_relic/agent/instrumentation/curb.rb +6 -6
  40. data/lib/new_relic/agent/instrumentation/custom_events_subscriber.rb +37 -0
  41. data/lib/new_relic/agent/instrumentation/data_mapper.rb +50 -50
  42. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +5 -5
  43. data/lib/new_relic/agent/instrumentation/elasticsearch.rb +5 -5
  44. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +1 -1
  45. data/lib/new_relic/agent/instrumentation/excon.rb +9 -9
  46. data/lib/new_relic/agent/instrumentation/grape.rb +8 -8
  47. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +1 -1
  48. data/lib/new_relic/agent/instrumentation/grpc_client.rb +3 -3
  49. data/lib/new_relic/agent/instrumentation/grpc_server.rb +4 -4
  50. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +1 -1
  51. data/lib/new_relic/agent/instrumentation/httpclient.rb +2 -2
  52. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +1 -1
  53. data/lib/new_relic/agent/instrumentation/httprb.rb +3 -3
  54. data/lib/new_relic/agent/instrumentation/logger.rb +3 -3
  55. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +3 -3
  56. data/lib/new_relic/agent/instrumentation/memcache.rb +16 -16
  57. data/lib/new_relic/agent/instrumentation/mongo.rb +1 -1
  58. data/lib/new_relic/agent/instrumentation/net_http.rb +6 -6
  59. data/lib/new_relic/agent/instrumentation/padrino.rb +3 -3
  60. data/lib/new_relic/agent/instrumentation/passenger_instrumentation.rb +5 -5
  61. data/lib/new_relic/agent/instrumentation/rack.rb +14 -14
  62. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +5 -5
  63. data/lib/new_relic/agent/instrumentation/rails_middleware.rb +3 -3
  64. data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +6 -6
  65. data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +2 -2
  66. data/lib/new_relic/agent/instrumentation/rails_notifications/action_view.rb +5 -3
  67. data/lib/new_relic/agent/instrumentation/rails_notifications/custom_events.rb +30 -0
  68. data/lib/new_relic/agent/instrumentation/rainbows_instrumentation.rb +4 -4
  69. data/lib/new_relic/agent/instrumentation/rake.rb +7 -7
  70. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +29 -8
  71. data/lib/new_relic/agent/instrumentation/redis.rb +4 -4
  72. data/lib/new_relic/agent/instrumentation/resque.rb +9 -9
  73. data/lib/new_relic/agent/instrumentation/sequel.rb +2 -2
  74. data/lib/new_relic/agent/instrumentation/sidekiq.rb +3 -3
  75. data/lib/new_relic/agent/instrumentation/sinatra.rb +7 -7
  76. data/lib/new_relic/agent/instrumentation/sunspot.rb +4 -4
  77. data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +5 -1
  78. data/lib/new_relic/agent/instrumentation/thread.rb +3 -3
  79. data/lib/new_relic/agent/instrumentation/tilt.rb +3 -3
  80. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +2 -2
  81. data/lib/new_relic/agent/instrumentation/typhoeus.rb +1 -1
  82. data/lib/new_relic/agent/javascript_instrumentor.rb +2 -2
  83. data/lib/new_relic/agent/method_tracer_helpers.rb +6 -11
  84. data/lib/new_relic/agent/range_extensions.rb +2 -2
  85. data/lib/new_relic/agent/tracer.rb +8 -4
  86. data/lib/new_relic/agent/transaction/abstract_segment.rb +2 -2
  87. data/lib/new_relic/agent/transaction/segment.rb +6 -0
  88. data/lib/new_relic/agent/transaction/transaction_sample_buffer.rb +1 -1
  89. data/lib/new_relic/agent/transaction.rb +3 -3
  90. data/lib/new_relic/agent.rb +7 -0
  91. data/lib/new_relic/control/instance_methods.rb +6 -2
  92. data/lib/new_relic/helper.rb +1 -1
  93. data/lib/new_relic/recipes/helpers/send_deployment.rb +2 -1
  94. data/lib/new_relic/traced_thread.rb +5 -1
  95. data/lib/new_relic/version.rb +2 -2
  96. data/lib/newrelic_rpm.rb +13 -2
  97. data/lib/sequel/extensions/newrelic_instrumentation.rb +1 -1
  98. data/lib/sequel/plugins/newrelic_instrumentation.rb +1 -1
  99. data/newrelic.yml +23 -5
  100. data/test/agent_helper.rb +7 -7
  101. metadata +16 -6
  102. data/lib/new_relic/agent/agent/shutdown.rb +0 -35
  103. data/lib/new_relic/agent/agent/special_startup.rb +0 -72
  104. data/lib/new_relic/agent/agent/start_worker_thread.rb +0 -163
  105. data/lib/new_relic/agent/agent/startup.rb +0 -197
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c5439c88f9169482c8899f11dc1f44062a80416ec8c8afa6e29fc426adf716e
4
- data.tar.gz: 496c2021677de4853c07550f43d76fc78c73cd3dcae8b5e632f72e7f8e1db68f
3
+ metadata.gz: f47710c44016e66769de790e72f361e78671a66d676ce1251bb65fe932dfb617
4
+ data.tar.gz: 16886676b0209e4822017475ec470ad11ec20ebb65354a2bd2c022b4d3d3b90e
5
5
  SHA512:
6
- metadata.gz: fdc8298c1fc3f96a1ed63a919ff5aed1bfbdf423a9e1f4b69afb21b9729000e53c4f28c59a776e854875160c4accc9b0b6eff5a019b435c6582eadeba688bb05
7
- data.tar.gz: 9375a116af17397f6c05dc6d0a9d413ff147f097647340e1dd4f635f457398caf437034ad92a64ba10cbe4e7ee5db076cc9bdc447c32ecaf20f5ad6cf1f9948b
6
+ metadata.gz: f334495833c77703fb5f439617ba4b61c4e07e2138775e510f1c293afa4496ddfe9528582e2cfddcf85e9b04dddfa36dcc58ff110bbd0d05d02aaa2128346633
7
+ data.tar.gz: b1eea25ed1b3881d974af3f179cbafc1caf605ffa2941e6a3a4be046aa7afd99643c6865fb0b88ac9817f3e5e630784842502c0aad02af4fcd79418b37eab5fd
data/.gitignore CHANGED
@@ -30,7 +30,6 @@ artifacts/
30
30
  test/performance/log/
31
31
  test/performance/script/log/
32
32
  infinite_tracing/log/
33
- infinite_tracing/test/new_relic/infinite_tracing/log
34
33
  test/fixtures/cross_agent_tests/*/README.md
35
34
  node_modules/
36
35
  yarn.lock
data/.rubocop.yml CHANGED
@@ -14,7 +14,135 @@ AllCops:
14
14
  Exclude:
15
15
  - 'test/multiverse/suites/active_record/db/schema.rb'
16
16
  - 'test/multiverse/suites/active_record_pg/db/schema.rb'
17
- NewCops: enable
17
+
18
+ # New cops
19
+ Layout/LineContinuationLeadingSpace: # new in 1.31
20
+ Enabled: true
21
+ Layout/LineContinuationSpacing: # new in 1.31
22
+ Enabled: true
23
+ Lint/ConstantOverwrittenInRescue: # new in 1.31
24
+ Enabled: true
25
+ Lint/DuplicateMagicComment: # new in 1.37
26
+ Enabled: true
27
+ Lint/NonAtomicFileOperation: # new in 1.31
28
+ Enabled: true
29
+ Lint/RefinementImportMethods: # new in 1.27
30
+ Enabled: true
31
+ Lint/RequireRangeParentheses: # new in 1.32
32
+ Enabled: true
33
+ Lint/UselessRuby2Keywords: # new in 1.23
34
+ Enabled: true
35
+ Naming/BlockForwarding: # new in 1.24
36
+ Enabled: true
37
+ Security/CompoundHash: # new in 1.28
38
+ Enabled: true
39
+ Style/ArrayIntersect: # new in 1.40
40
+ Enabled: true
41
+ Style/EmptyHeredoc: # new in 1.32
42
+ Enabled: true
43
+ Style/FileRead: # new in 1.24
44
+ Enabled: true
45
+ Style/FileWrite: # new in 1.24
46
+ Enabled: true
47
+ Style/MagicCommentFormat: # new in 1.35
48
+ Enabled: true
49
+ Style/MapCompactWithConditionalBlock: # new in 1.30
50
+ Enabled: true
51
+ Style/MapToSet: # new in 1.42
52
+ Enabled: true
53
+ Style/MinMaxComparison: # new in 1.42
54
+ Enabled: true
55
+ Style/NestedFileDirname: # new in 1.26
56
+ Enabled: true
57
+ Style/ObjectThen: # new in 1.28
58
+ Enabled: true
59
+ Style/OperatorMethodCall: # new in 1.37
60
+ Enabled: true
61
+ Style/RedundantConstantBase: # new in 1.40
62
+ Enabled: true
63
+ Style/RedundantDoubleSplatHashBraces: # new in 1.41
64
+ Enabled: true
65
+ Style/RedundantEach: # new in 1.38
66
+ Enabled: true
67
+ Style/RedundantInitialize: # new in 1.27
68
+ Enabled: true
69
+ Style/RedundantStringEscape: # new in 1.37
70
+ Enabled: true
71
+ Style/YodaExpression: # new in 1.42
72
+ Enabled: true
73
+ Minitest/AssertKindOf: # new in 0.10
74
+ Enabled: true
75
+ Minitest/AssertOutput: # new in 0.10
76
+ Enabled: true
77
+ Minitest/AssertPathExists: # new in 0.10
78
+ Enabled: true
79
+ Minitest/AssertPredicate: # new in 0.18
80
+ Enabled: true
81
+ Minitest/AssertRaisesCompoundBody: # new in 0.21
82
+ Enabled: true
83
+ Minitest/AssertRaisesWithRegexpArgument: # new in 0.22
84
+ Enabled: true
85
+ Minitest/AssertSilent: # new in 0.10
86
+ Enabled: true
87
+ Minitest/AssertWithExpectedArgument: # new in 0.11
88
+ Enabled: true
89
+ Minitest/AssertionInLifecycleHook: # new in 0.10
90
+ Enabled: true
91
+ Minitest/DuplicateTestRun: # new in 0.19
92
+ Enabled: true
93
+ Minitest/EmptyLineBeforeAssertionMethods: # new in 0.23
94
+ Enabled: true
95
+ Minitest/LiteralAsActualArgument: # new in 0.10
96
+ Enabled: true
97
+ Minitest/MultipleAssertions: # new in 0.10
98
+ Enabled: true
99
+ Minitest/RefuteInDelta: # new in 0.10
100
+ Enabled: true
101
+ Minitest/RefuteKindOf: # new in 0.10
102
+ Enabled: true
103
+ Minitest/RefutePathExists: # new in 0.10
104
+ Enabled: true
105
+ Minitest/SkipEnsure: # new in 0.20
106
+ Enabled: true
107
+ Minitest/SkipWithoutReason: # new in 0.24
108
+ Enabled: true
109
+ Minitest/UnreachableAssertion: # new in 0.14
110
+ Enabled: true
111
+ Minitest/UnspecifiedException: # new in 0.10
112
+ Enabled: true
113
+ Performance/AncestorsInclude: # new in 1.7
114
+ Enabled: true
115
+ Performance/BigDecimalWithNumericArgument: # new in 1.7
116
+ Enabled: true
117
+ Performance/BlockGivenWithExplicitBlock: # new in 1.9
118
+ Enabled: true
119
+ Performance/CollectionLiteralInLoop: # new in 1.8
120
+ Enabled: true
121
+ Performance/ConcurrentMonotonicTime: # new in 1.12
122
+ Enabled: true
123
+ Performance/ConstantRegexp: # new in 1.9
124
+ Enabled: true
125
+ Performance/RedundantEqualityComparisonBlock: # new in 1.10
126
+ Enabled: true
127
+ Performance/RedundantSortBlock: # new in 1.7
128
+ Enabled: true
129
+ Performance/RedundantSplitRegexpArgument: # new in 1.10
130
+ Enabled: true
131
+ Performance/RedundantStringChars: # new in 1.7
132
+ Enabled: true
133
+ Performance/ReverseFirst: # new in 1.7
134
+ Enabled: true
135
+ Performance/SortReverse: # new in 1.7
136
+ Enabled: true
137
+ Performance/Squeeze: # new in 1.7
138
+ Enabled: true
139
+ Performance/StringIdentifierArgument: # new in 1.13
140
+ Enabled: true
141
+ Performance/StringInclude: # new in 1.7
142
+ Enabled: true
143
+
144
+
145
+ # Old cops
18
146
 
19
147
  Bundler/DuplicatedGem:
20
148
  Enabled: true
@@ -1341,6 +1469,7 @@ Style/MethodCallWithArgsParentheses:
1341
1469
  - skip
1342
1470
  - source
1343
1471
  - stub
1472
+ - stub_const
1344
1473
  AllowedPatterns: [^assert, ^refute]
1345
1474
 
1346
1475
  Style/MethodCallWithoutArgsParentheses:
data/.rubocop_todo.yml CHANGED
@@ -45,6 +45,9 @@ Minitest/RefutePredicate:
45
45
  Minitest/TestMethodName:
46
46
  Enabled: false
47
47
 
48
+ Style/ConcatArrayLiterals:
49
+ Enabled: false
50
+
48
51
  Minitest/RefuteRespondTo:
49
52
  Exclude:
50
53
  - 'test/new_relic/cli/commands/deployments_test.rb'