Invocation Sequence
Overview
The invocation sequence sensor type is a container sensor that collects data from all other sensors being invoked by the method (and sub-methods) the invocation sequence sensor is defined on. The invocation sequence sensor thereby collects the exact order of the sensors being invoked and does not (like most other sensors) aggregate information. Thus the invocation sequence sensor can provide the exact traversal of all methods (and timings if timer sensors are defined) of a certain method.
Description
This sensor works quite different than all other ones as only the entry method of the invocation sequence sensor is specified.
The invocation sequence sensor will collect the detailed data (no aggregation is done) of all sensors being defined within the specified method (and all submethods). Even if sensor of a method called within the invocation sequence will normally provide an aggregated value, this sensor will be stored with the concrete data that was recorded during this invocation. Thus for each invocation, the data each sensor provides is captured, allowing the user to inspect each invocation independently of all other invocations.
Note that the invocation sequence is not only applicable to timer information (although this might be the most important information), but captures the values of all sensors. Thus the invocation sequence also automatically provides information about SQL statements being executed (in the case that the SQL sensor is enabled) or of an Exception Sensor. The invocation sequence sensor is capable of capturing all information that all possible sensors provide.
It goes without saying that an invocation sequence sensor set on a method having no other sensors defined either directly or within its submethods will not provide any values at all. (except the information that the invocation was started and ended sometime, thus it will be displayed in the invocation sequence view in the UI)
Application area
The invocation sequence sensor can be used for example in the following application areas:
- Methods that perform slow infrequently as the invocation sequence sensor will provide all invocations independent of each other and thus allows the user to find the slow running method invocation.
- It is useful to see how a call traverses a (sub-)system in order to find problems and bugs or to verify the correct behavior.
- Inspecting the method flow during development
- inspecting if a defined architecture is really used by the developers
Configuration
Definition of the sensor type
Configuration basics
Using the UI configuration interface no configuration is required at all as method sensor types are activated automatically if a profile defines such sensor assignment.
Associating a method with an invocation sequence
Configuration basics
Using the UI configuration interface it is not possible to directly use invocation sequence sensor. The method can be marked as the one that starts the invocation with in the Timer Sensor assignment options.
Sensor assignment specific options
The invocation sequence sensor provides the following sensor specific options.
Option | Description | Type |
---|---|---|
Minimum duration | Define the minimum time an invocation has to consume in order to be saved and transmitted to the server. This helps in reducing the data load from the Agent to the CMR and is a good filter for not so important invocations. | optional |
Examples
Visit Examples page in order to understand how to activate Start invocation option with the UI based configuration interface.
String length
from version 1.3
This sensor enables the limitations of the string values collected. The invocation sensor concretely can limit the maximum size of the strings collected as context parameters.
Configuration basics
The string length configuration for all sensors is available in the Environment configuration. You can read more about string length limitations Environment configuration page.