Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fixes
- An unhandled null reference exception has been fixed.
- Fixed a bug that would cause a stack overflow if you tried to instrument a generic method with multiple instantiations.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fixes
- Fixes an issue where content-type was being explicitly checked for "text/HTML." In some frameworks, such as NancyFX, the charset was being added to the content-type before the New Relic HTTP module was loaded which caused the explicit check to fail and the RUM header and footer to not be added to the pages.
- Fixes an issue when the application results in a status code 404 or greater the metrics would be reported for the page not found instead of recording metrics for the 404 itself. This change also addresses an issue where assets such as png, css, js and so on would have metrics recorded for each individual asset instead of rolling them up into the appropriate asset group, such as *.png or *.css. Finally there were other metric grouping issues fixed where metrics were being named the custom route (such as /products/1) on some applications instead of using the name of the code asset that was doing the work to create the page (such as /products/productstemplate.aspx).
- Corrects functionality of the Status Monitor for IIS6 installations and applications running under sites other than DefaultWebSite.
New Features
- A thread profiler has been added to the .NET agent. The thread profiler is a low-impact profiling tool that can be used in production to identify bottlenecks in an application.
Improvements
- Improves the logic around the RUM response filters which reduces the overall overhead of the .NET agent.
- Log files now have windows style line endings so they display correctly in notepad.exe.
- The status monitor tray application will now prompt for elevation on launch rather than error at runtime when it doesn't have correct permissions.
- Azure Cloud Services nuget package : Modified the package so that when installing a new version it will attempt an upgrade if an existing agent is installed. (This feature requires Nuget v.2.6 which prompts the user to overwrite existing / modified files - the newrelic.cmd must be overwritten to apply the new commands on the cloud service)
- Azure Cloud Services nuget package : The package now properly cleans up the environment variables out of the csdef when an uninstall or update occurs.
- Azure Cloud Services nuget package : For Worker Roles, the msiexec command in the newrelic.cmd file as been changed so that when the agent is installed it will install it for all CLR based applications.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fixes
- Fixed a bug whereby IIS applications with underscore characters in their names were not displayed correctly in the Status Monitor.
- Fixed a bug whereby users could not view the log file for some IIS applications in the Status Monitor.
Improvements
- Improved the naming of MVC transactions. Naming to controller/action should be much more reliable now.
- Improved WebAPI support. You should now see Web Transactions grouped by [controller].[action] rather than all WebAPI transactions reporting as System.Web.Http.WebHost.HttpControllerHandler.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fixes
- Fixed a bug where external request timing was showing up on the call to WriteHeaders instead of on the Stream Read. The Stream Read has been removed and WriteHeaders should correctly report as being fast. In their place you will now see all the time occurring inside a call to Stream GetResponse.
- Fixed a bug in external request counting that would result in the counts being too high.
- The Original Url custom parameter will now contain the correct value if the application had re-written the Url in the BeginRequest event handler of an HttpModule.
- Fixes an issue on Windows 2003/IIS 6 server where the New Relic Status Monitor was showing no reporting applications and an incorrect error message about IIS being in a stopped state in some cases where apps hosted on the machine were in fact reporting to New Relic.
- Fixed an issue where sometimes our usage of Log4Net would conflict with the user's usage of Log4Net.
- Fixed a bug that would cause some stack traces thrown in the user's application to be truncated.
- Moved some spammy log messages to debug level logging.
New Features
- Improved cold startup time for user applications instrumented by New Relic.
- Added the ability to selectively include or exclude certain application pools from being monitored by New Relic.
Improvements
- Improved error logging of API method calls. If you call an API method at an invalid time or you supply invalid parameters a warning will be logged to the New Relic .NET Agent log file.
- Changed startup logging location from the event log to log file on disk.
- Changed the agent configuration file from newrelic.xml to newrelic.config.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
This is an interim release which addresses performance issues by temporarily disabling some features.
Known issues
At times, the agent may not release database connections quickly when the code being instrumented does not properly dispose of connections. Connections may not be returned to the pool until the one minute harvest cycle is reached.
The Status Monitor diagnostics tool has the following known issues:
- Does not function correctly for IIS6 installations and applications running under sites other than DefaultWebSite.
- Shows incorrect information for some sites.
- Shows no reporting applications and an incorrect error message about IIS being in a stopped state in some cases where apps hosted on the machine are in fact reporting to New Relic.
The agent writes too many messages to the log at INFO level. This can result in log files growing too large and a possible CPU impact. Work-around: set logging level to warning or above.
In some cases, the agent may display incorrect counts for external calls.
The Original URL displayed in the UI is not correct if the application uses an HttpModule to rewrite the url.
In some cases, the agent may inject browser monitoring code in the wrong section of the page. This can cause pages to render incorrectly. Work-around: disable browser monitoring via the API for pages experiencing this issue.
The agent reads its config file more frequently than necessary causing a potential performance problem for apps with very high frequency, very fast transactions.
Auto RUM may not inject appropriately on pages where the content-type has optional parameters. This can result in no browser monitoring functionality for these pages.
Generic exceptions cannot be ignored in the UI.
Future upgrades from 2.8 to newer releases may not remove the newrelic.xml file. This may require manual cleanup.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fixes
- Fixed a very rare race condition that could cause a monitored application to get into a bad state and start consuming as much CPU as possible (across multiple threads).
- Fixed a bug that would sometimes cause a TypeLoadException when using the New Relic API.
- Fixed a crash that would occur if the agent failed to connect to our servers due to SSL issues when running under IIS7 integrated mode.
New Features
- Adds a new utility (New Relic Status Monitor) that provides a quick way to give feedback on what the .net agent has instrumented just after installation. The tool also provides a quick way to diagnose and troubleshoot issues with instrumentation or with the agent that are normally obscured form the users view.
Improvements
- Fixes an issue in the coreinstrumentation.xml file where an overload for Oracle.DataAccess.Client.OracleCommand.ExecuteReader was not getting instrumented.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
Fixes
- Fixes cleanup of Component Object Model (COM) registration.
- Fixes ability of agent to monitor partially-trusted .NET applications.
Improvements
- Removes comments from the newrelic.xml file and provides a link to the living docs to provide more information on configuring the agent
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
New Features
- Added ability to enable/disable various parameter information via agent configuration. This includes the default setting to not capture a username from the security principal associated with a web application.
Fixes
- Fixes instances where the AgentEnabled setting was set to false and the NewRelic.Agent.IL.dll was not getting unloaded from the process. No code was ever executed from the module when the agent was disabled but the module needed to be unloaded so that the process would correctly reflect the actual modules that were being used.
- Fixes an issue where the user could not override the default naming of a transaction using the agent API.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
New Features
- Adds a new API method that can be used to disable Auto or Manual Real User Monitoring (RUM) script injection on a per page basis. Simply call NewRelic.Api.Agent.NewRelic.DisableBrowserMonitoring(); in your view to disable RUM scripts for that page.
See: https://newrelic.com/docs/dotnet/AgentApi for more information.
Improvements
- Adds Cross Application Tracing for web request calls that use System.Net.WebClient
- Adds Cross Application Tracing for all Traced Errors that happen on the external applications
Fixes
- Addresses an issue where enabling query explain plans on applications using MySql sometimes caused connection leaking.
- Correctly strip forward slash from the category name in AgentAPI's SetTransactionName method.
Important
The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.
Notes
New Features
- Adds Cross Application Transaction Trace linking so that in SOA (service-oriented architectures), all applications that are instrumented by a New Relic agent and that communicate with each other via http will now "link" transaction traces with the applications that they call and the applications they are called by. This change helps improve the correlation of performance between services and applications.
Fixes
- The installer should now do a better job of cleaning up bad install states. We are uncertain how users get into such a state, but now it is less problematic when it does occur.