Observer effect (information technology)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For other uses, see Observer effect.

In information technology, the observer effect is the potential impact of the act of observing a process output while the process is running. For example: if a process uses a log file to record its progress, the process could slow. Furthermore, the act of viewing the file while the process is running could cause an I/O error in the process, which could, in turn, cause it to stop.

Another example would be observing the performance of a CPU by running both the observed and observing programs on the same CPU,[1] which will lead to inaccurate results because the observer program itself affects the CPU performance (modern, heavily cached and pipelined CPUs are particularly affected by this kind of observation).

Observing (or rather, debugging) a running program by modifying its source code (such as adding extra output or generating log files) or by running it in a debugger may sometimes cause certain bugs to diminish or change their behavior, creating extra difficulty for the person trying to isolate the bug (see Heisenbug).


  1. ^ Mytkowicz, Todd; Sweeny, Peter; Hauswirth, Matthias; Diwan, Amer (2008), "Observer Effect and Measurement Bias in Performance Analysis", Computer Science Technical Reports