Custom exclude rules prevent detection of business transactions that match certain criteria. You might want to use exclude rules in the following situations:
- AppDynamics detects business transactions that you do not want to monitor.
- To stay within agent and controller limits, you want to reduce the total number of business transactions.
- You need to suppress a default entry point to allow for the detection of a more precise entry point defined by a custom match rule.
You can customize existing rules or set up new rules. See Custom Match Rules.
Change the Default Exclude Rule Settings
AppDynamics has a default set of custom exclude rules for various agent types. Sometimes you need to disable a default rule or add a new custom exclude rule. Different entry point types include different match criteria that you can use to exclude transactions.
You can view the default rules on the Transaction Detection > Rules tab:
Define Transaction Names Using Downstream Application Logic
Sometimes an incoming request invokes control logic in your code that uses payload data to execute different business logic. In such cases, it makes sense to name your business transactions for the business logic class and method. You can use a custom exclude rule to prevent AppDynamics from naming the business transaction for control logic. Then you can identify the transaction by the business logic instead.
Consider an example where you have implemented both the control logic and business logic as EJBs. With EJB discovery enabled, AppDynamics discovers and names business transactions based on the control class and method. You can create an EJB exclude rule for the control class name using the Class Name Equals match criteria. After you create the rule AppDynamics discovers and names the business transactions for your business logic APIs:
Use an Exclude Rule as a Filter
Custom exclude rules filter out unwanted requests from transaction discovery. You can specify match criteria that allow eligible requests but ignore everything else.
For example, you want to use default discovery rules. Your application receives URI ranges that start with : /a, /b ... /z. However, you only want to monitor URIs only when they start with /a . You can create a custom exclude rule that does a "Match : Doesn't Start With /a" as shown here:
In another example, imagine a specific an application that implements Spring Beans of the classes
java.util.ArrayList. This means that AppDynamics identifies all instances of these classes as Spring Beans with the same IDs. To fix the problem, you can define a custom exclude rule specific Spring Bean IDs: