By default, the AppDynamics .NET Agent names ASP.NET transactions based upon the URI.
For ASP.NET Core on the full framework, the agent uses MVC area, Controller, and action naming by default, and can also be configured to use the URI.
This topic describes the MVC transaction naming configuration options for both ASP.NET and ASP.NET Core on the full framework.
For transactions using the MVC naming conventions, the automatic transaction detection configuration settings apply to the MVC segments, not to the URI.
MVC Transaction Naming Overview
For some MVC applications, URI-based naming may not produce meaningful business transaction names. Depending on the URI scheme, it might create many business transactions, pushing you quickly over your business transaction limit and causing most traffic to fall into the All other traffic business transaction.
For example, consider an MVC application that indicates store locations in the URL as the result of a city location search, such as the following sample URL:
Based on this URL, AppDynamics registers a business transaction named /Bellevue. Each search result with a unique city would similarly generate a unique business transaction.
Alternatively, you can configure the agent to identify transactions by the area, Controller, or action name. After you configure the agent to name transactions by Controller and action, the agent identifies the business transaction based on the Controller and action name, in this case, Search/Results.
In this example, the new business transaction combines search requests for all cities into one transaction, resulting in a more logical unit for measuring application performance.
Similarly, if your application uses areas to logically group Controllers, you can configure the use of area name in the business transaction.
For background information on ASP.NET Routing, see the following Microsoft Developer Network article: msdn.microsoft.com/en-us/library/cc668201.aspx
Configure Area, Controller, Action Naming and URI for ASP.NET
Configure custom MVC transaction naming using node properties, as follows. The node property works for MVC 3, MVC 4 and WebAPI transactions.
- To name business transactions using the Controller/Action values, register the
aspdotnet-mvc-naming-controlleractionnode property with a value of
- To name business transactions using the Area/Controller values, register the
aspdotnet-mvc-naming-controllerareanode property with a value of
- To have all three component values used in business transaction names, register both properties and configure the ASP.NET transaction naming configuration to use three URI segments instead of the default, which is two. For general information on configuration transaction naming, see Automatic Transaction Discovery Rules.
To name business transactions using the URI, register the
aspdotnet-core-naming-controlleractionnode properties with a value of
For instructions on how to register a new node property, see App Agent Node Properties.
After changing any transaction naming configuration, and once traffic to the previously registered business transactions terminates, you can delete the old business transactions.
Configure Transaction Naming for ASP.NET Core on the Full Framework
If you do not want to use the area value in your transaction names, you can omit it. Register the
aspdotnet-core-naming-controllerarea node property with a value of
Configure Transaction Naming for .NET Agent for Linux
The .NET Agent for Linux can use MVC area, Controller, URI, and action naming. Register the
aspdotnet-mvc-naming-controlleraction node property with a value of