This release of the New Relic PHP agent adds two major new features, and includes several important bug fixes and stability improvements. The new features are:
- Key Transaction Support, and
- Real User Monitoring improvements.
Key transactions (discussed here) allow you to mark transactions that are important to your specific business needs and can have their own Apdex settings and error metrics.
newrelic_set_user_attributes() API call can now also be used to add additional data to browser traces. Please see this page for details.
The following smaller improvements and bug fixes have been made:
- Fixed an agent segmentation fault that occurred during Slow SQL processing at the end of a transaction.
- Fixed a daemon segmentation fault that occurred if the agent communication with the daemon was interrupted for any reason.
- Fixed a memory leak in the agent when the maximum number of Slow SQL statements for a transaction was reached.
- Fixed an error that was preventing the daemon from re-spawning a copy of itself if the worker daemon died due to a segmentation fault.
- Updated the
newrelic_set_appnameAPI call to no longer send the transaction thus far to the daemon unless you give it an argument explicitly requesting this behavior. This considerably reduces the overhead of changing application names on the fly.
- Updated the
newrelic_end_transactionAPI call to allow you to decide whether or not the transaction should be sent to the daemon. It is by default.
- Fixed an error in the installer script where the license key was not being inserted into the INI file correctly.
- Functions with custom instrumentation (
newrelic.transaction_tracer.custom) will now produce metrics that can be used in custom dashboards.
- If your application produces a
Content-Lengthheader, automatic RUM ("auto-RUM") will no longer inject the RUM header and footer, which would invalidate the content length calculated by your application.
- The NR_INSTALL_KEY environment variable is now correctly obeyed.
- The daemon is now compiled to support showing a backtrace in the event of a segmentation violation.