Plumbr is capable of monitoring for a large number of specific root causes explicitly. Unfortunately, the different technologies used in real world means that the number of ways a particular code can perform poorly is effectively unlimited. Thus a fallback is implemented to cover the cases where the explicit root cause can not be determined. In such situations, Plumbr Agent captures snapshot(s) from the suspicious transaction.
Snapshots are effectively thread dumps taken from the thread executing the transaction. Snapshot capturing happens at increasing intervals during the transaction lifespan and is limited to 10 snapshots. Snapshots taken will be linked to the transaction if the duration of the transaction will eventually be flagged as Slow or Stuck. When the transaction ends up being successful, such snapshots will be discarded.
To expose this information in a useful way, Plumbr aggregates those call stacks into a tree-like structure. Call stacks occurring most frequently are ranked higher in a tree. To reduce noise, non-repetitive occurrences are hidden, enabling you to focus on the most frequently captured snapshots first.