newrelic_rpm 9.7.0 → 9.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +376 -2
  3. data/README.md +17 -18
  4. data/Rakefile +1 -1
  5. data/lib/boot/strap.rb +101 -0
  6. data/lib/new_relic/agent/agent.rb +4 -1
  7. data/lib/new_relic/agent/agent_helpers/connect.rb +10 -8
  8. data/lib/new_relic/agent/agent_helpers/start_worker_thread.rb +1 -1
  9. data/lib/new_relic/agent/agent_helpers/startup.rb +2 -1
  10. data/lib/new_relic/agent/agent_logger.rb +3 -1
  11. data/lib/new_relic/agent/aws.rb +68 -0
  12. data/lib/new_relic/agent/configuration/default_source.rb +519 -23
  13. data/lib/new_relic/agent/configuration/environment_source.rb +14 -2
  14. data/lib/new_relic/agent/configuration/high_security_source.rb +1 -0
  15. data/lib/new_relic/agent/configuration/manager.rb +51 -8
  16. data/lib/new_relic/agent/configuration/security_policy_source.rb +11 -0
  17. data/lib/new_relic/agent/configuration/yaml_source.rb +2 -0
  18. data/lib/new_relic/agent/connect/request_builder.rb +1 -1
  19. data/lib/new_relic/agent/custom_event_aggregator.rb +27 -1
  20. data/lib/new_relic/agent/database/obfuscation_helpers.rb +11 -11
  21. data/lib/new_relic/agent/database/obfuscator.rb +1 -0
  22. data/lib/new_relic/agent/database.rb +39 -0
  23. data/lib/new_relic/agent/distributed_tracing/distributed_trace_payload.rb +1 -5
  24. data/lib/new_relic/agent/error_collector.rb +39 -10
  25. data/lib/new_relic/agent/harvester.rb +1 -1
  26. data/lib/new_relic/agent/instrumentation/active_merchant.rb +0 -13
  27. data/lib/new_relic/agent/instrumentation/active_record.rb +1 -8
  28. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +3 -0
  29. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +1 -12
  30. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger/instrumentation.rb +7 -3
  31. data/lib/new_relic/agent/instrumentation/active_support_broadcast_logger.rb +0 -2
  32. data/lib/new_relic/agent/instrumentation/active_support_logger.rb +0 -2
  33. data/lib/new_relic/agent/instrumentation/async_http.rb +4 -3
  34. data/lib/new_relic/agent/instrumentation/aws_sdk_lambda/chain.rb +33 -0
  35. data/lib/new_relic/agent/instrumentation/aws_sdk_lambda/instrumentation.rb +93 -0
  36. data/lib/new_relic/agent/instrumentation/aws_sdk_lambda/prepend.rb +23 -0
  37. data/lib/new_relic/agent/instrumentation/aws_sdk_lambda.rb +23 -0
  38. data/lib/new_relic/agent/instrumentation/aws_sqs/chain.rb +37 -0
  39. data/lib/new_relic/agent/instrumentation/aws_sqs/instrumentation.rb +67 -0
  40. data/lib/new_relic/agent/instrumentation/aws_sqs/prepend.rb +21 -0
  41. data/lib/new_relic/agent/instrumentation/aws_sqs.rb +23 -0
  42. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +14 -0
  43. data/lib/new_relic/agent/instrumentation/bunny.rb +3 -4
  44. data/lib/new_relic/agent/instrumentation/concurrent_ruby.rb +1 -2
  45. data/lib/new_relic/agent/instrumentation/curb.rb +3 -4
  46. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +0 -23
  47. data/lib/new_relic/agent/instrumentation/dynamodb/chain.rb +27 -0
  48. data/lib/new_relic/agent/instrumentation/dynamodb/instrumentation.rb +64 -0
  49. data/lib/new_relic/agent/instrumentation/dynamodb/prepend.rb +19 -0
  50. data/lib/new_relic/agent/instrumentation/dynamodb.rb +23 -0
  51. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +58 -8
  52. data/lib/new_relic/agent/instrumentation/elasticsearch.rb +0 -2
  53. data/lib/new_relic/agent/instrumentation/ethon.rb +0 -4
  54. data/lib/new_relic/agent/instrumentation/excon.rb +0 -16
  55. data/lib/new_relic/agent/instrumentation/fiber.rb +0 -2
  56. data/lib/new_relic/agent/instrumentation/grape.rb +1 -1
  57. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +0 -1
  58. data/lib/new_relic/agent/instrumentation/grpc_server.rb +1 -1
  59. data/lib/new_relic/agent/instrumentation/httpclient.rb +0 -1
  60. data/lib/new_relic/agent/instrumentation/httprb.rb +0 -1
  61. data/lib/new_relic/agent/instrumentation/httpx.rb +0 -4
  62. data/lib/new_relic/agent/instrumentation/logger.rb +1 -3
  63. data/lib/new_relic/agent/instrumentation/logstasher/chain.rb +21 -0
  64. data/lib/new_relic/agent/instrumentation/logstasher/instrumentation.rb +24 -0
  65. data/lib/new_relic/agent/instrumentation/logstasher/prepend.rb +13 -0
  66. data/lib/new_relic/agent/instrumentation/logstasher.rb +25 -0
  67. data/lib/new_relic/agent/instrumentation/memcache.rb +0 -1
  68. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +6 -0
  69. data/lib/new_relic/agent/instrumentation/opensearch/chain.rb +21 -0
  70. data/lib/new_relic/agent/instrumentation/opensearch/instrumentation.rb +66 -0
  71. data/lib/new_relic/agent/instrumentation/opensearch/prepend.rb +13 -0
  72. data/lib/new_relic/agent/instrumentation/opensearch.rb +23 -0
  73. data/lib/new_relic/agent/instrumentation/padrino.rb +3 -3
  74. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +3 -0
  75. data/lib/new_relic/agent/instrumentation/rails_notifications/action_controller.rb +9 -5
  76. data/lib/new_relic/agent/instrumentation/rake.rb +0 -1
  77. data/lib/new_relic/agent/instrumentation/rdkafka/chain.rb +72 -0
  78. data/lib/new_relic/agent/instrumentation/rdkafka/instrumentation.rb +70 -0
  79. data/lib/new_relic/agent/instrumentation/rdkafka/prepend.rb +67 -0
  80. data/lib/new_relic/agent/instrumentation/rdkafka.rb +25 -0
  81. data/lib/new_relic/agent/instrumentation/redis/cluster_middleware.rb +26 -0
  82. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +14 -11
  83. data/lib/new_relic/agent/instrumentation/redis/middleware.rb +3 -0
  84. data/lib/new_relic/agent/instrumentation/redis.rb +11 -5
  85. data/lib/new_relic/agent/instrumentation/resque.rb +0 -4
  86. data/lib/new_relic/agent/instrumentation/roda.rb +4 -4
  87. data/lib/new_relic/agent/instrumentation/ruby_kafka/chain.rb +55 -0
  88. data/lib/new_relic/agent/instrumentation/ruby_kafka/instrumentation.rb +67 -0
  89. data/lib/new_relic/agent/instrumentation/ruby_kafka/prepend.rb +60 -0
  90. data/lib/new_relic/agent/instrumentation/ruby_kafka.rb +25 -0
  91. data/lib/new_relic/agent/instrumentation/ruby_openai/chain.rb +36 -0
  92. data/lib/new_relic/agent/instrumentation/ruby_openai/instrumentation.rb +196 -0
  93. data/lib/new_relic/agent/instrumentation/ruby_openai/prepend.rb +20 -0
  94. data/lib/new_relic/agent/instrumentation/ruby_openai.rb +35 -0
  95. data/lib/new_relic/agent/instrumentation/sidekiq.rb +0 -14
  96. data/lib/new_relic/agent/instrumentation/sinatra.rb +3 -19
  97. data/lib/new_relic/agent/instrumentation/stripe_subscriber.rb +22 -1
  98. data/lib/new_relic/agent/instrumentation/thread.rb +0 -2
  99. data/lib/new_relic/agent/instrumentation/tilt.rb +0 -4
  100. data/lib/new_relic/agent/instrumentation/typhoeus.rb +0 -1
  101. data/lib/new_relic/agent/instrumentation/view_component/instrumentation.rb +13 -6
  102. data/lib/new_relic/agent/instrumentation/view_component.rb +0 -2
  103. data/lib/new_relic/agent/javascript_instrumentor.rb +2 -3
  104. data/lib/new_relic/agent/llm/chat_completion_message.rb +25 -0
  105. data/lib/new_relic/agent/llm/chat_completion_summary.rb +66 -0
  106. data/lib/new_relic/agent/llm/embedding.rb +60 -0
  107. data/lib/new_relic/agent/llm/llm_event.rb +95 -0
  108. data/lib/new_relic/agent/llm/response_headers.rb +80 -0
  109. data/lib/new_relic/agent/llm.rb +49 -0
  110. data/lib/new_relic/agent/local_log_decorator.rb +8 -1
  111. data/lib/new_relic/agent/log_event_aggregator.rb +120 -44
  112. data/lib/new_relic/agent/messaging.rb +11 -5
  113. data/lib/new_relic/agent/new_relic_service.rb +12 -2
  114. data/lib/new_relic/agent/serverless_handler.rb +400 -0
  115. data/lib/new_relic/agent/serverless_handler_event_sources.json +155 -0
  116. data/lib/new_relic/agent/serverless_handler_event_sources.rb +49 -0
  117. data/lib/new_relic/agent/span_event_primitive.rb +8 -10
  118. data/lib/new_relic/agent/system_info.rb +14 -0
  119. data/lib/new_relic/agent/threading/agent_thread.rb +1 -2
  120. data/lib/new_relic/agent/tracer.rb +5 -5
  121. data/lib/new_relic/agent/transaction/abstract_segment.rb +1 -1
  122. data/lib/new_relic/agent/transaction/external_request_segment.rb +0 -10
  123. data/lib/new_relic/agent/transaction/request_attributes.rb +13 -1
  124. data/lib/new_relic/agent/transaction/trace_context.rb +1 -1
  125. data/lib/new_relic/agent/transaction/tracing.rb +2 -2
  126. data/lib/new_relic/agent/transaction.rb +2 -6
  127. data/lib/new_relic/agent/transaction_error_primitive.rb +23 -19
  128. data/lib/new_relic/agent.rb +198 -10
  129. data/lib/new_relic/constants.rb +2 -0
  130. data/lib/new_relic/control/frameworks/grape.rb +14 -0
  131. data/lib/new_relic/control/frameworks/padrino.rb +14 -0
  132. data/lib/new_relic/control/frameworks/rails4.rb +1 -3
  133. data/lib/new_relic/control/instance_methods.rb +8 -0
  134. data/lib/new_relic/control/private_instance_methods.rb +4 -0
  135. data/lib/new_relic/control/security_interface.rb +57 -0
  136. data/lib/new_relic/control.rb +1 -1
  137. data/lib/new_relic/dependency_detection.rb +10 -5
  138. data/lib/new_relic/environment_report.rb +2 -2
  139. data/lib/new_relic/helper.rb +15 -0
  140. data/lib/new_relic/language_support.rb +3 -1
  141. data/lib/new_relic/local_environment.rb +14 -10
  142. data/lib/new_relic/rack/browser_monitoring.rb +28 -12
  143. data/lib/new_relic/supportability_helper.rb +2 -0
  144. data/lib/new_relic/thread_local_storage.rb +31 -0
  145. data/lib/new_relic/version.rb +2 -2
  146. data/lib/sequel/extensions/new_relic_instrumentation.rb +3 -2
  147. data/lib/tasks/config.rake +8 -3
  148. data/lib/tasks/gha.rake +31 -0
  149. data/lib/tasks/helpers/config.html.erb +3 -2
  150. data/lib/tasks/helpers/format.rb +1 -1
  151. data/lib/tasks/helpers/newrelicyml.rb +76 -13
  152. data/lib/tasks/instrumentation_generator/instrumentation.thor +31 -22
  153. data/lib/tasks/instrumentation_generator/templates/chain.tt +0 -1
  154. data/lib/tasks/instrumentation_generator/templates/chain_method.tt +0 -1
  155. data/lib/tasks/instrumentation_generator/templates/dependency_detection.tt +11 -8
  156. data/lib/tasks/instrumentation_generator/templates/newrelic.yml.tt +1 -1
  157. data/newrelic.yml +387 -143
  158. data/newrelic_rpm.gemspec +2 -0
  159. data/test/agent_helper.rb +17 -2
  160. metadata +80 -3
data/newrelic_rpm.gemspec CHANGED
@@ -56,6 +56,8 @@ Gem::Specification.new do |s|
56
56
  s.add_development_dependency 'minitest', "#{RUBY_VERSION >= '2.7.0' ? '5.3.3' : '4.7.5'}"
57
57
  s.add_development_dependency 'minitest-stub-const', '0.6'
58
58
  s.add_development_dependency 'mocha', '~> 1.16'
59
+ s.add_development_dependency 'mutex_m' # used by Minitest, not included in Rubies above v3.3
60
+ s.add_development_dependency 'ostruct' # used by Rack, not included in Rubies above v3.4
59
61
  s.add_development_dependency 'pry' if ENV['ENABLE_PRY']
60
62
  s.add_development_dependency 'rack'
61
63
  s.add_development_dependency 'rake', '12.3.3'
data/test/agent_helper.rb CHANGED
@@ -112,7 +112,7 @@ def assert_log_contains(log, message)
112
112
  lines = log.array
113
113
 
114
114
  assert (lines.any? { |line| line.match(message) }),
115
- "Could not find message. Log contained: #{lines.join("\n")}"
115
+ "Could not find message: '#{message.inspect}'. Log contained: #{lines.join("\n")}"
116
116
  end
117
117
 
118
118
  def assert_audit_log_contains(audit_log_contents, needle)
@@ -228,7 +228,9 @@ def assert_metrics_recorded(expected)
228
228
  expected.each do |specish, expected_attrs|
229
229
  expected_spec = metric_spec_from_specish(specish)
230
230
  actual_stats = NewRelic::Agent.instance.stats_engine.to_h[expected_spec]
231
- if !actual_stats
231
+ if actual_stats
232
+ assert(actual_stats)
233
+ else
232
234
  all_specs = NewRelic::Agent.instance.stats_engine.to_h.keys.sort
233
235
  matches = all_specs.select { |spec| spec.name == expected_spec.name }
234
236
  matches.map! { |m| " #{m.inspect}" }
@@ -1037,3 +1039,16 @@ def first_call_for(subject)
1037
1039
 
1038
1040
  items.first
1039
1041
  end
1042
+
1043
+ def ruby_version_float
1044
+ RUBY_VERSION.split('.')[0..1].join('.').to_f
1045
+ end
1046
+
1047
+ def rails_version
1048
+ @rails_version ||= Gem::Version.new(Rails::VERSION::STRING)
1049
+ end
1050
+
1051
+ def rails_version_at_least?(version_string)
1052
+ version_string += '.0' until version_string.count('.') >= 2 # '7' => '7.0.0'
1053
+ rails_version >= Gem::Version.new(version_string)
1054
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic_rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.7.0
4
+ version: 9.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanna McClure
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2024-01-10 00:00:00.000000000 Z
14
+ date: 2024-12-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -69,6 +69,34 @@ dependencies:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: '1.16'
72
+ - !ruby/object:Gem::Dependency
73
+ name: mutex_m
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ - !ruby/object:Gem::Dependency
87
+ name: ostruct
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
72
100
  - !ruby/object:Gem::Dependency
73
101
  name: rack
74
102
  requirement: !ruby/object:Gem::Requirement
@@ -243,6 +271,7 @@ files:
243
271
  - bin/nrdebug
244
272
  - init.rb
245
273
  - install.rb
274
+ - lib/boot/strap.rb
246
275
  - lib/new_relic/agent.rb
247
276
  - lib/new_relic/agent/adaptive_sampler.rb
248
277
  - lib/new_relic/agent/agent.rb
@@ -260,6 +289,7 @@ files:
260
289
  - lib/new_relic/agent/attributes.rb
261
290
  - lib/new_relic/agent/audit_logger.rb
262
291
  - lib/new_relic/agent/autostart.rb
292
+ - lib/new_relic/agent/aws.rb
263
293
  - lib/new_relic/agent/chained_call.rb
264
294
  - lib/new_relic/agent/commands/agent_command.rb
265
295
  - lib/new_relic/agent/commands/agent_command_router.rb
@@ -362,6 +392,14 @@ files:
362
392
  - lib/new_relic/agent/instrumentation/async_http/chain.rb
363
393
  - lib/new_relic/agent/instrumentation/async_http/instrumentation.rb
364
394
  - lib/new_relic/agent/instrumentation/async_http/prepend.rb
395
+ - lib/new_relic/agent/instrumentation/aws_sdk_lambda.rb
396
+ - lib/new_relic/agent/instrumentation/aws_sdk_lambda/chain.rb
397
+ - lib/new_relic/agent/instrumentation/aws_sdk_lambda/instrumentation.rb
398
+ - lib/new_relic/agent/instrumentation/aws_sdk_lambda/prepend.rb
399
+ - lib/new_relic/agent/instrumentation/aws_sqs.rb
400
+ - lib/new_relic/agent/instrumentation/aws_sqs/chain.rb
401
+ - lib/new_relic/agent/instrumentation/aws_sqs/instrumentation.rb
402
+ - lib/new_relic/agent/instrumentation/aws_sqs/prepend.rb
365
403
  - lib/new_relic/agent/instrumentation/bunny.rb
366
404
  - lib/new_relic/agent/instrumentation/bunny/chain.rb
367
405
  - lib/new_relic/agent/instrumentation/bunny/instrumentation.rb
@@ -381,6 +419,10 @@ files:
381
419
  - lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb
382
420
  - lib/new_relic/agent/instrumentation/delayed_job/prepend.rb
383
421
  - lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb
422
+ - lib/new_relic/agent/instrumentation/dynamodb.rb
423
+ - lib/new_relic/agent/instrumentation/dynamodb/chain.rb
424
+ - lib/new_relic/agent/instrumentation/dynamodb/instrumentation.rb
425
+ - lib/new_relic/agent/instrumentation/dynamodb/prepend.rb
384
426
  - lib/new_relic/agent/instrumentation/elasticsearch.rb
385
427
  - lib/new_relic/agent/instrumentation/elasticsearch/chain.rb
386
428
  - lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb
@@ -427,6 +469,10 @@ files:
427
469
  - lib/new_relic/agent/instrumentation/logger/chain.rb
428
470
  - lib/new_relic/agent/instrumentation/logger/instrumentation.rb
429
471
  - lib/new_relic/agent/instrumentation/logger/prepend.rb
472
+ - lib/new_relic/agent/instrumentation/logstasher.rb
473
+ - lib/new_relic/agent/instrumentation/logstasher/chain.rb
474
+ - lib/new_relic/agent/instrumentation/logstasher/instrumentation.rb
475
+ - lib/new_relic/agent/instrumentation/logstasher/prepend.rb
430
476
  - lib/new_relic/agent/instrumentation/memcache.rb
431
477
  - lib/new_relic/agent/instrumentation/memcache/chain.rb
432
478
  - lib/new_relic/agent/instrumentation/memcache/dalli.rb
@@ -442,6 +488,10 @@ files:
442
488
  - lib/new_relic/agent/instrumentation/net_http/instrumentation.rb
443
489
  - lib/new_relic/agent/instrumentation/net_http/prepend.rb
444
490
  - lib/new_relic/agent/instrumentation/notifications_subscriber.rb
491
+ - lib/new_relic/agent/instrumentation/opensearch.rb
492
+ - lib/new_relic/agent/instrumentation/opensearch/chain.rb
493
+ - lib/new_relic/agent/instrumentation/opensearch/instrumentation.rb
494
+ - lib/new_relic/agent/instrumentation/opensearch/prepend.rb
445
495
  - lib/new_relic/agent/instrumentation/padrino.rb
446
496
  - lib/new_relic/agent/instrumentation/padrino/chain.rb
447
497
  - lib/new_relic/agent/instrumentation/padrino/instrumentation.rb
@@ -463,8 +513,13 @@ files:
463
513
  - lib/new_relic/agent/instrumentation/rake/chain.rb
464
514
  - lib/new_relic/agent/instrumentation/rake/instrumentation.rb
465
515
  - lib/new_relic/agent/instrumentation/rake/prepend.rb
516
+ - lib/new_relic/agent/instrumentation/rdkafka.rb
517
+ - lib/new_relic/agent/instrumentation/rdkafka/chain.rb
518
+ - lib/new_relic/agent/instrumentation/rdkafka/instrumentation.rb
519
+ - lib/new_relic/agent/instrumentation/rdkafka/prepend.rb
466
520
  - lib/new_relic/agent/instrumentation/redis.rb
467
521
  - lib/new_relic/agent/instrumentation/redis/chain.rb
522
+ - lib/new_relic/agent/instrumentation/redis/cluster_middleware.rb
468
523
  - lib/new_relic/agent/instrumentation/redis/constants.rb
469
524
  - lib/new_relic/agent/instrumentation/redis/instrumentation.rb
470
525
  - lib/new_relic/agent/instrumentation/redis/middleware.rb
@@ -480,6 +535,14 @@ files:
480
535
  - lib/new_relic/agent/instrumentation/roda/instrumentation.rb
481
536
  - lib/new_relic/agent/instrumentation/roda/prepend.rb
482
537
  - lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb
538
+ - lib/new_relic/agent/instrumentation/ruby_kafka.rb
539
+ - lib/new_relic/agent/instrumentation/ruby_kafka/chain.rb
540
+ - lib/new_relic/agent/instrumentation/ruby_kafka/instrumentation.rb
541
+ - lib/new_relic/agent/instrumentation/ruby_kafka/prepend.rb
542
+ - lib/new_relic/agent/instrumentation/ruby_openai.rb
543
+ - lib/new_relic/agent/instrumentation/ruby_openai/chain.rb
544
+ - lib/new_relic/agent/instrumentation/ruby_openai/instrumentation.rb
545
+ - lib/new_relic/agent/instrumentation/ruby_openai/prepend.rb
483
546
  - lib/new_relic/agent/instrumentation/sequel.rb
484
547
  - lib/new_relic/agent/instrumentation/sequel_helper.rb
485
548
  - lib/new_relic/agent/instrumentation/sidekiq.rb
@@ -513,6 +576,12 @@ files:
513
576
  - lib/new_relic/agent/internal_agent_error.rb
514
577
  - lib/new_relic/agent/javascript_instrumentor.rb
515
578
  - lib/new_relic/agent/linking_metadata.rb
579
+ - lib/new_relic/agent/llm.rb
580
+ - lib/new_relic/agent/llm/chat_completion_message.rb
581
+ - lib/new_relic/agent/llm/chat_completion_summary.rb
582
+ - lib/new_relic/agent/llm/embedding.rb
583
+ - lib/new_relic/agent/llm/llm_event.rb
584
+ - lib/new_relic/agent/llm/response_headers.rb
516
585
  - lib/new_relic/agent/local_log_decorator.rb
517
586
  - lib/new_relic/agent/log_event_aggregator.rb
518
587
  - lib/new_relic/agent/log_event_attributes.rb
@@ -552,6 +621,9 @@ files:
552
621
  - lib/new_relic/agent/samplers/memory_sampler.rb
553
622
  - lib/new_relic/agent/samplers/object_sampler.rb
554
623
  - lib/new_relic/agent/samplers/vm_sampler.rb
624
+ - lib/new_relic/agent/serverless_handler.rb
625
+ - lib/new_relic/agent/serverless_handler_event_sources.json
626
+ - lib/new_relic/agent/serverless_handler_event_sources.rb
555
627
  - lib/new_relic/agent/span_event_aggregator.rb
556
628
  - lib/new_relic/agent/span_event_primitive.rb
557
629
  - lib/new_relic/agent/sql_sampler.rb
@@ -614,6 +686,8 @@ files:
614
686
  - lib/new_relic/control/class_methods.rb
615
687
  - lib/new_relic/control/frameworks.rb
616
688
  - lib/new_relic/control/frameworks/external.rb
689
+ - lib/new_relic/control/frameworks/grape.rb
690
+ - lib/new_relic/control/frameworks/padrino.rb
617
691
  - lib/new_relic/control/frameworks/rails.rb
618
692
  - lib/new_relic/control/frameworks/rails3.rb
619
693
  - lib/new_relic/control/frameworks/rails4.rb
@@ -624,6 +698,7 @@ files:
624
698
  - lib/new_relic/control/instance_methods.rb
625
699
  - lib/new_relic/control/instrumentation.rb
626
700
  - lib/new_relic/control/private_instance_methods.rb
701
+ - lib/new_relic/control/security_interface.rb
627
702
  - lib/new_relic/control/server_methods.rb
628
703
  - lib/new_relic/delayed_job_injection.rb
629
704
  - lib/new_relic/dependency_detection.rb
@@ -644,6 +719,7 @@ files:
644
719
  - lib/new_relic/recipes/capistrano_legacy.rb
645
720
  - lib/new_relic/recipes/helpers/send_deployment.rb
646
721
  - lib/new_relic/supportability_helper.rb
722
+ - lib/new_relic/thread_local_storage.rb
647
723
  - lib/new_relic/traced_thread.rb
648
724
  - lib/new_relic/version.rb
649
725
  - lib/newrelic_rpm.rb
@@ -653,6 +729,7 @@ files:
653
729
  - lib/tasks/bump_version.rake
654
730
  - lib/tasks/config.rake
655
731
  - lib/tasks/coverage_report.rake
732
+ - lib/tasks/gha.rake
656
733
  - lib/tasks/helpers/config.html.erb
657
734
  - lib/tasks/helpers/config.text.erb
658
735
  - lib/tasks/helpers/format.rb
@@ -705,7 +782,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
705
782
  - !ruby/object:Gem::Version
706
783
  version: 1.3.1
707
784
  requirements: []
708
- rubygems_version: 3.4.10
785
+ rubygems_version: 3.5.22
709
786
  signing_key:
710
787
  specification_version: 4
711
788
  summary: New Relic Ruby Agent