Download PDF
Download page Name MVC Transactions by Area, Controller, and Action.
Name MVC Transactions by Area, Controller, and Action
Related pages:
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 page 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
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 this Microsoft Developer Network article: msdn.microsoft.com/en-us/library/cc668201.aspx
Configure Node Properties for MVC Transactions
You can configure custom MVC transaction naming using node properties. This table describes how to configure node properties for MVC transactions based on the type of entry point.
The node property supports: MVC 3, MVC 4, and WebAPI transactions.
Type of Entry Point | Name Business Transactions | Transaction Naming Configuration |
---|---|---|
ASP.NET hosted in IIS | To name business transactions using the Controller and Action values | Register the |
To name business transactions using the Area and Controller values | Register the | |
To include all three component values (Controller, Action, and Area) in business transaction names |
| |
ASP.NET Core on the Full Framework | To name business transactions using the URI | Register both of these node properties with a value = false
|
To omit the Area value from your transaction names | Register the | |
.NET Agent for Linux | To use MVC Area, Controller, URI, and Action in business transactions name | Register the aspdotnet-mvc-naming-controlleraction node property with a value = true |
To register a new node property, see App Agent Node Properties.
After you modify any transaction naming configuration, and traffic to the previously registered business transactions terminates, you can delete the old business transactions.