Telemetry-in-Context: Automatic Application Logs, a quick way to view logs no matter where you are in the platform
- Adds support for forwarding application logs to New Relic. This automatically sends application logs that have been enriched to power Telemetry-in-Context. This is disabled by default in this release. This may be on by default in a future release.
- Adds support for enriching application logs written to disk or standard out. This can be used with another log forwarder to power Telemetry-in-Context if in-agent log forwarding is not desired. We recommend enabling either log forwarding or local log decorating, but not both features. This is disabled by default in this release.
- Improves speed and Resque support for logging metrics which shows the rate of log message by severity in the Logs chart in the APM Summary view. This is enabled by default in this release.
To learn more about Telemetry-in-Context and the configuration options please see the documentation here.
Bugfix: Curb - satify method_with_tracing's verb argument requirement
When Curb instrumentation is used (either via prepend or chain), be sure to always pass the verb argument over to
method_with_tracingwhich requires it. Thank you to @knarewski for bringing this issue to our attention, for providing a means of reproducing an error, and for providing a fix. That fix has been replicated by the agent team with permission. See Issue 1033 for more details.
Improve the usage of the 'hostname' executable and other executables
In all places where a call to an executable binary is made (currently this is done only for the 'hostname' and 'uname' binaries), leverage a new helper method when making the call. This new helper will a) not attempt to execute the binary if it cannot be found, and b) prevent STDERR/STDOUT content from appearing anywhere except New Relic's own logs if the New Relic logger is set to the 'debug' level. When calling 'hostname', fall back to
Socket.gethostnameif the 'hostname' binary cannot be found. When calling 'uname', fall back on using a value of 'unknown' if the 'uname' command fails. Many thanks to @metaskills and @brcarp for letting us know that Ruby AWS Lambda functions can't invoke 'hostname' and for providing ideas and feedback with Issue #697.
Documentation: remove confusing duplicate RUM entry from newrelic.yml
browser_monitoring.auto_instrumentconfiguration option to enable web page load timing (RUM) was confusingly listed twice in the newrelic.yml config file. This option is enabled by default. The newrelic.yml file has been updated to list the option only once. Many thanks to @robotfelix for bringing this to our attention with Issue #955.
Bugfix: fix unit test failures when New Relic environment variables are present
Previously, unit tests would fail with unexpected invocation errors when
NEW_RELIC_HOSTenvironment variables were present. Now, tests will discard these environment variables before running.
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 18.104.22.1685.