The APM Insight AutoProfiler simplifies application performance monitoring by automatically detecting applications running on the server and attaching the appropriate APM Insight agents when the Applications Manager Full Stack Observability (FSO) Agent is installed. This removes the need to manually install and manage separate agents for Java, .NET, Python, Node.js, and other supported languages.
If your server runs many applications, you may not want all of them to be monitored. APM Insight Process Monitoring Rules allow you to define the conditions that determine which applications the AutoProfiler should monitor, giving you full control over APM in your environment. Only processes that match a configured rule are attached with the required APM Insight agent for monitoring.
Note: All active rules are applied globally across all host servers where the FSO Agent is installed. There is no option to restrict a rule to specific hosts.
To create a rule, navigate to Settings → APM Insight Configuration Profile → Process Discovery Rules.

| Field | Description |
|---|---|
| Rule Name | Unique name for the rule. This field is mandatory. |
| Custom Application Name | By default, AutoProfiler assigns an application name when creating the monitor. If required, you can provide a custom name for your application using this field. The custom name will override the default name assigned by AutoProfiler and will be displayed under the Process Discovery and Applications section. |
| Description | A brief explanation of the type of application processes the rule is intended to monitor. |
| Conditions Count | Shows how many conditions are defined in the rule. |
| Enable Rule | Lets you enable or disable the rule. |
Note: You can create any number of custom rules, but only 50 rules can be enabled at a time.
Applications Manager provides a set of default process monitoring rules to help quickly identify common application types. The following are the default rule behaviors:
To create a new custom rule, click Add APM Process Monitoring Rule.

Each rule consists of one or more conditions that specify the criteria a process must match. You can add up to 10 conditions per rule. All configured conditions must be satisfied for the rule to apply (logical AND).
| Parameter | Description |
|---|---|
| Command | Matches the process command. |
| Command Line | Matches the whole command-line string of the application process. |
| Working Directory | Matches the current working directory of the application process. |
| Environment Variable | Matches the value of an environment variable set for the application process. |
| IIS App Pool Name | Matches the IIS application pool name (Windows only). |
| Technology | Specifies the application technology to match. The available options are Java, .NET, Node.js, and Python. |
| Operator | Description |
|---|---|
| is | Matches the value exactly. |
| is not | Matches any value except the specified value. |
| contains | Matches values that include the specified value anywhere. |
| does not contain | Matches values that do not include the specified text. |
| begins with | Matches values that start with the specified text. |
| ends with | Matches values that end with the specified text. |
Value: This is a mandatory field. The value you provide is evaluated against the actual running application process to determine whether the rule matches. Ensure it is entered correctly for the rule to work as intended.
You can add conditions using the + button or remove them with the × button. After entering the conditions, click Save to apply the rule. To remove a custom rule, click Delete.
Note: After making changes on this page, restart your monitored application for the rules to take effect.
You can disable a process monitoring rule by toggling the Enable Rule switch in the rules list. When a rule is disabled:

You can re-enable the rule at any time. After re-enabling, restart your application processes for the rule to take effect on new processes.
To delete a custom rule, select the rule and click Delete. Deleting a rule permanently removes it from the configuration. Existing monitors that were previously created by the rule will continue to run, but no new processes will be matched against the deleted rule.

Note: A rule must be disabled before it can be deleted. Ensure the rule is disabled first, then proceed with deletion.
Your application engineering team runs the same Java-based service, payment-service.jar, on a server for multiple environments. While both production and development instances run simultaneously, you want to monitor only the production instances using APM Insight.
Consider the command-line strings below, which belong to two different instances of the same application - one running in the development environment and the other in the production environment.
Production environment:
java -Xms1g -Xmx2g -jar payment-service.jar -XX:+ParallelRefProcEnabled -Dspring.profiles.active=prod
Development environment:
java -Xms512m -Xmx512m -jar payment-service.jar -Dspring.profiles.active=dev
Both processes use the same Java command and application JAR (payment-service.jar), but are differentiated by the Spring profile specified in the command line.
To ensure that only the production instances are monitored, you can create a custom process monitoring rule with the following conditions:
Rule name: Payment service prod monitoring rule
Conditions configured:
java-jar payment-service.jar-Dspring.profiles.active=devWhen this rule is enabled, the APM Insight AutoProfiler attaches the Java agent only to the production processes and ignores the development instances. In this way, you can easily control which application processes are monitored, ensuring precise visibility while reducing overhead.
If your applications are deployed in specific directories, you can use the Working Directory condition to target them. For example, to monitor only applications running from the /opt/production/apps directory:
Rule name: Production directory monitoring
Conditions configured:
/opt/production/appsThis rule ensures that only applications deployed in the production directory are monitored, excluding applications running from other locations such as staging or development directories.
On Windows servers with IIS, you can use the IIS App Pool Name condition to monitor only specific application pools. For example, to monitor only the production application pool:
Rule name: Production IIS pool monitoring
Conditions configured:
ProductionAppPoolThis rule targets only the .NET applications running under the specified IIS application pool, ignoring applications in other pools.
It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.
Reviewer Role: Research and Development