About filtering and sampling


Search Tips   |   Advanced Search


A filter specifies which transactions to collect data from.

Sampling specifies what subset percentage or number of transactions to collect data from.

Filters and sampling work at the root (or edge) transaction level. A root, or edge, transaction is one that is not a sub-transaction of any other (at least, as far as the data collection is concerned).

Thus, when using a browser to access a Web application, a root transaction is a URL request when it first hits the server. The filtering and sampling apply at this level. That is, if you enter a transaction filter, it acts on the URL, and if you sample, it will collect only some of the URLs, and discard others. It is all or nothing; it does not sample parts of the URL transactions.

If the Web application resides on multiple servers, some instrumented and some not, only data about instrumented servers will be included.

For example, if the user accesses the application through Server A which is not instrumented, and Server A contacts via a method call Server B, which is instrumented, then the method call is the root transaction. Filtering will not work because it uses URLs, not method names, to filter.

Also, if you are using tests or schedules to generate profiling data, then the root transaction takes place on the first ARM-instrumented test element to be run. If the entire test or schedule is ARM-instrumented (that is, the Enable response time breakdown check box is selected for the top-level test or schedule element), there will only be one root transaction, and so filtering and sampling will be ineffective.