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:
http://myapp.mycompany.com/Bellevue
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 custom MVC transaction naming using node properties, as follows. The node property works for MVC 3, MVC 4 and WebAPI transactions.
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.
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 false
.
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 true
.