  Collecting traces from software running in the field is both useful and
challenging. Traces may indeed help revealing unexpected usage scenarios,
detecting and reproducing failures, and building behavioral models that reflect
how the software is actually used. On the other hand, recording traces is an
intrusive activity that may annoy users, negatively affecting the usability of
the applications, if not properly designed. In this paper we address field
monitoring by introducing Controlled Burst Recording, a monitoring solution
that can collect comprehensive runtime data without compromising the quality of
the user experience. The technique encodes the knowledge extracted from the
monitored application as a finite state model that both represents the
sequences of operations that can be executed by the users and the corresponding
internal computations that might be activated by each operation. Our initial
assessment with information extracted from ArgoUML shows that Controlled Burst
Recording can reconstruct behavioral information more effectively than
competing sampling techniques, with a low impact on the system response time.
