Sensors

What is a sensor?

A Sensor is a small piece of code that instruments the monitored applications at certain points to extract relevant data. For example, a Sensor can transport tagging information from one host to another when a web service call executes. The AppMon installation includes a set of built-in Knowledge Sensor Packs for a wide set of application servers and frameworks. AppMon maintains these Knowledge Sensor Packs, and you can activate/deactivate them as needed.

Hot Sensor Placement

Whenever a class is loaded in a monitored application, the Agent sends this class over the network to the AppMon Collector for instrumentation. Sensors are injected if necessary. The class is sent back to the Agent if it has been manipulated. If a sensor is placed or removed while the monitored application is running, you must reload the affected classes to enforce re-instrumentation. This Hot Sensor Placement is provided as an explicit operation in Sensor maintenance.

Entry points

An entry point is the starting point of a new PurePath. It is defined by a placed and active sensor with the appropriate configuration. For most users, the Knowledge Sensor Packs already define the correct entry points. See Sensor Configuration for more information.

Auto sensors

AppMon provides additional information on PurePaths without the need to do specific configuration. Auto Sensors automatically retrieve additional call hierarchy information and place this information on the respective PurePaths. This information includes class and method names, parameter and return types, and access modifiers. Auto Sensors are enabled by default.

Because Auto Sensors do not inject code into the monitored application, timing information they provide is not as accurate as the timing information delivered by explicitly placed Sensors.

The following figure illustrates the information captured by Auto Sensors.

Auto Sensor data
Auto Sensor data

Auto Sensor resolution

Auto Sensors adjust automatically to ensure they do not incur more overhead than the percentage setting. The amount of detail captured depends on the complexity of the application or environment. You may need to adjust the resolution settings until you see the desired level of detail for a tolerable amount of overhead. See Agent Group - Agent Mapping Advanced Settings to learn how to adjust sensor resolution.

User-defined sensors

You can manually create additional sensors by defining Sensor rules. Sensor Rules specify a Sensor's location through class and method patterns. The rules also enable the Sensor to access data such as method parameters or return values. User-defined Sensors are typically used to specify additional entry points or access specific information in a method's parameters. See Sensor Configuration for more information.