September 14, 2016
.NET agent v6.0.0.0
New Features
Async support in .NET.
The .NET agent now provides out-of-the-box asynchronous framework instrumentation. With the standard async-await pattern, as introduced in .NET 4.5, calls to async methods can return while work being done in the called method is still in progress. For supported libraries and methods monitored with async custom instrumentation, the .NET agent observes this in-progress asynchronous work and waits for it to complete before recording timings.
To take full advantage of features in this release please see this document.
Fixes
- Fixed method segment naming for transaction traces to ensure consistency. For previous versions of the agent with async mode enabled, some method segments in transaction traces had inconsistent categories and different method formatting. Fixed these to make them consistent in async supported agent. Category: DotNet, Slowest components: Type.Method().
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
August 31, 2016
.NET agent v5.22.6.0
New Features
- Minor performance improvement with cross application tracing.
Fixes
- Fixed a spelling error in NewRelic.Providers.Wrapper.WebServices.Instrumentation.xml.
- Removed duplicate instrumentation out of CoreInstrumentation.xml.
- Improved transaction handling for rare cases where a segment cannot be associated with its parent. This scenario can occur in applications with complex threading architectures and would previously cause the entire transaction to be dropped. The transaction will now be retained but the orphaned segment and children will be excluded. A warning log message including specifics will be generated for further troubleshooting.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
August 23, 2016
.NET agent v5.21.74.0
Fixes
- Async mode - New Requirement: Await-friendly asynchronous pipeline introduced in ASP.NET 4.5 must be turned on in your web config for the instrumentation of async methods. Without this configuration, async / await is undefined in ASP.NET and could result in intermittent drops of metrics or potential deadlocks. You may stop seeing some async metrics for your application unless you update its web.config file, as documented here: https://docs.newrelic.com/docs/agents/net-agent/troubleshooting/missing-.... For a brief description of this configuration, see the section here: https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime...
- Async mode: Fixed issue where High-security mode was filtering some attributes that are not sensitive.
- Async mode: Fixed an issue that could lead to missing external segments in some async transactions.
- Async mode: Fixed an issue in .NET 4.0 and older where in certain instances call stacks may not accurately get tracked due to ASP.NET thread agility.
- Async mode: Fixed issue where calling AgentApi.GetBrowserTimingHeader() did not prevent subsequent calls in the same transaction or auto browser injection from injecting duplicate JavaScript.
- Async mode: Fixed issue where setting browser monitoring auto instrument to false would prevent NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader() from returning the header for manual injection.
- Enhanced the instrumentation for NServiceBus (receive side) so that when a service hosted by NServiceBus throws an unhandled exception while processing a service bus request, the New Relic Agent captures information about the error and generates an error trace.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
June 15, 2016
.NET agent v5.20.61.0
New Features
- Async mode: Added
System.Web.Script.Services.WebServiceMethodData
support to .NET Async mode. All transactions named from this instrumentation will now use the more appropriate naming format of:WebService/{ServiceClassName}/{MethodName}
. - Async mode: Added OpenRasta support to .NET Async mode. This instrumentation now appropriately names transactions using the
{Controller}/{Action}
format. - Moved
System.Web.UI.Page.PerformPreInit
,System.Web.Compilation.AssemblyBuilder.Compile
andSystem.Web.Compilation.BuildManager.CompileWebFile
instrumentation configuration elements from the CoreInstrumentation.xml file to the Asp35.Instrumentation.xml file.
Fixes
- Async mode: Resolved an issue where the agent incorrectly handled HttpClient async requests that timed-out or were manually cancelled. These would show up as wrapper errors.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
April 26, 2016
.NET agent v5.19.47.0
New Features
- Async mode: Added support for the
metricName
andtransactionNamingPriority
custom instrumentation options when async mode is enabled. - Async mode: Added support for Castle MonoRail 2.x when async mode is enabled. Note that MonoRail transactions previously named
WebTransaction/DotNetController/{controller}/{action}
will be renamed toWebTransaction/MonoRail/{controller}/{action}
when async mode is enabled. - Async mode: Added support for legacy ScriptHandlerFactory instrumentation when async mode is enabled.
- Removes instrumentation for deprecated methods in Umbraco. The default instrumentation for ASP .NET MVC or ASP .NET Web API will now be used by the agent in its place.
Fixes
- Async mode: Fixed an issue where the agent would not clean up SQL connections after explain plan execution when async mode is enabled.
- Async mode: Fixed a bug which would cause a SerializationException to occur when async mode is enabled which could result in an app crash.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
April 13, 2016
.NET agent v5.18.36.0
New Features
- Async mode: Instrumentation of NServiceBus is now enabled when the AsyncMode flag is true.
- Async mode: Added support for Microsoft Message Queue (MSMQ) instrumentation when Async mode is enabled.
- Async mode: Microsoft Enterprise Library officially supported when Async mode is enabled.
Fixes
- Fixed a bug where ASP.NET 4.5+ applications would not get transactions for requests that had invalid query stings (such as "myPage.aspx?test=").
- Fixed an issue where metrics from database calls using Enterprise Library would display as from vendor "Other." The metrics should now show the appropriate supported vendor (Oracle, MsSql, etc.).
- Fixed a bug that prevented SqlCommand.ExecuteNonQuery commands from being instrumented with the default instrumentation xml files.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
April 4, 2016
.NET agent v5.17.59.0
New Features
New Features
- Added support for Stack Exchange Redis strongly named assembly: StackExchange.Redis.StrongName.
- Added support for the "CustomSegmentTracerFactory" custom instrumentation option. See docs for example usage.
- Async mode: Added support for NpgsqlCommand asynchronous methods (such as ExecuteReaderAsync) when the agent is in Async mode.
- Async mode: Explain plans for MS SQL and MySQL commands are now available when the agent is in Async mode.
Fixes
- Async mode: Fixed a bug that prevented SQL activity from being recorded in transactions.
- Fixed a bug where the incorrect namespace of the default asynchronous wrapper was used. The incorrect name was "NewRelic.Agent.Core.Wrapper.DefaultWrapperAsync" and is now "NewRelic.Providers.Wrapper.CustomInstrumentationAsync.DefaultWrapperAsync". Any customers that had created a custom instrumentation file and put the incorrect name in it as a workaround should change it to the correct name.
- Duplicate custom parameters will now be logged as Debug level, providing a minor performance improvement.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
March 11, 2016
.NET agent v5.16.71.0
New Features
- Async mode: Custom instrumentation is now supported for both synchronous and asynchronous methods when async mode is enabled, however; the metricName and transactionNamePriority elements will not be respected. This is coming in a future release. Please see our custom instrumentation documentation for details.
Fixes
- Changes the log messages for when a wrapper / method combination needs to be shut down. The new message provides more information and clarity around the shutdown event.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
February 24, 2016
.NET agent v5.15.64.0
New Features
- Async mode: Added support for SqlCommand method ExecuteReaderAsync, ExecuteScalarAsync, ExecuteNonQueryAsync, and ExecuteXmlReaderAsync.
- Async Mode: Added support for SQL Traces on slow SQL commands when the agent is in async mode.
- Async mode: Adds support for synthetic transaction tracing when the agent is in async mode.
- Async Mode: Added instrumentation for System.Data.SqlClient.SqlDataReader ReadAsync and NextResultAsync methods. Note that, for performance reasons, this instrumentation is disabled by default in the SqlAsync instrumentation xml file.
Fixes
- Fixed a bug where the agent erroneously treated HTTP headers as being case-sensitive, causing CAT to not work under certain conditions.
- Fixed a bug where the agent rejected custom events if any attribute had a null value.
- Async mode: Fixed a bug that caused some datastore activity to be missed.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.
February 9, 2016
.NET agent v5.14.43.0
New Features
- Async Mode: Added Agent API support.
- Async mode: Instrumentation for synchronous SQL commands is available when the agent is in async mode.
Upgrading
- For upgrade instructions, see Upgrade the .NET agent.
- If you are upgrading from a particularly old agent, see Upgrading legacy .NET agents for a list of major changes to the .NET agent.