Support Makara database adapters with ActiveRecord
Thanks to a community submission from @lucasklaassen with [PR #1177](newrelic/newrelic-ruby-agent#1177), the Ruby agent will now correctly work well with the Makara gem. Functionality such as SQL obfuscation should now work when Makara database adapters are used with Active Record.
Lowered the minimum payload size to compress
Previously the Ruby agent used a particularly large payload size threshold of 64KiB that would need to be met before the agent would compress data en route to New Relic's collector. The original value stems from segfault issues that very old Rubies (< 2.2) used to encounter when compressing smaller payloads. This value has been lowered to 2KiB (2048 bytes), which should provide a more optimal balance between the CPU cycles spent on compression and the bandwidth savings gained from it.
Provide Code Level Metrics for New Relic CodeStream
For Ruby on Rails applications and/or those with manually traced methods, the agent is now capable of reporting metrics with Ruby method-level granularity. When the new code_level_metrics.enabled configuration parameter is set to a true value, the agent will associate source-code-related metadata with the metrics for things such as Rails controller methods. Then, when the corresponding Ruby class file that defines the methods is loaded up in a New Relic CodeStream-powered IDE, the four golden signals for each method will be presented to the developer directly.
Supportability Metrics will always report uncompressed payload size
New Relic's agent specifications call for Supportability Metrics to always reference the uncompressed payload byte size. Previously, the Ruby agent was calculating the byte size after compression. Furthermore, compression is only performed on payloads of a certain size. This means that sometimes the value could have represented a compressed size and sometimes an uncompressed one. Now the uncompressed value is always used, bringing consistency for comparing two instances of the same metric and alignment with the New Relic agent specifications.
v8.7.0
APM logs-in-context log forwarding on by default
Automatic application log forwarding is now enabled by default. This version of the agent will automatically send enriched application logs to New Relic. To learn more about about this feature see here, and additional configuration options are available here. To learn about how to toggle log ingestion on or off by account see here.
Improved async support and Thread instrumentation
Previously, the agent was not able to record events and metrics inside Threads created inside of an already running transaction. This release includes 2 new configuration options to support multithreaded applications to automatically instrument threads. A new configuration option,instrumentation.thread.tracing (disabled by default), has been introduced that, when enabled, will allow the agent to insert New Relic tracing inside of all Threads created by an application. To support applications that only want some threads instrumented by New Relic, a new class is available, NewRelic::TracedThread, that will create a thread that includes New Relic instrumentation, see our API documentation for more details.
New configuration options included in this release:
Configuration name
Default
Behavior
instrumentation.thread
auto (enabled)
Allows the agent to correctly nest spans inside of an asyncronous transaction
instrumentation.thread.tracing
false (disabled)
Automatically add tracing to all Threads created in the application. This may be enabled by default in a future release.
We'd like to thank @mikeantonelli for sharing a gist with us that provided our team with an entry point for this feature.
Deprecate support for Ruby 2.2
Ruby 2.2 reached end of life on March 31, 2018. The agent has deprecated support for Ruby 2.2 and will make breaking changes for this version in its next major release.
Deprecate instrumentation versions with low adoption and/or versions over five years old
This release deprecates the following instrumentation:
| Deprecated | Replacement |
| ----------- | ----------- |
| ActiveMerchant < 1.65.0 | ActiveMerchant >= 1.65.0 |
| Acts As Solr (all versions) | none |
... (truncated)
Commits
9e9af10 Merge pull request #1186 from newrelic/Update_minor_version_for_release_8.8.0
d1e3b14 Merge pull request #1185 from newrelic/Fix_performance_test_file
de9e733 Merge pull request #1187 from newrelic/angelatan2-added-workflow-name
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps newrelic_rpm from 6.14.0 to 8.8.0.
Release notes
Sourced from newrelic_rpm's releases.
... (truncated)
Changelog
Sourced from newrelic_rpm's changelog.
... (truncated)
Commits
9e9af10
Merge pull request #1186 from newrelic/Update_minor_version_for_release_8.8.0d1e3b14
Merge pull request #1185 from newrelic/Fix_performance_test_filede9e733
Merge pull request #1187 from newrelic/angelatan2-added-workflow-name2ee1dc7
Added a name to workflow8b29433
Fix spelling error4ccba02
Update minor version and changelog spelling check1c0af02
Updated require statment to require_relative979bb0c
Fix runner.rb file require statement5a83f9e
Merge pull request #1180 from newrelic/makara5d6d93b
added AR subscriber handler spec config testDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)