The observer effect is the potential impact of the act of observing a process output while the process is running.
Example is a process that uses a log file by default with limited data as output, but, in order to monitor it, the logging is set to DEBUG and view it. This can cause the process to slow down and alter the data metrics that were originally wanted in the first place.
Another example is an application that measures the performance of a computer but which, in the same time, is consuming resources, altering that data.
This is not observable only in information technology but everywhere. When someone stares at you and monitors your work, it can affect your productivity
Because looking at some behavior and trying to figure out some defect for example, is actually changing the context in which the application is running, some bugs are disappearing or are changing. This is called an heisenbug.
One common reason why heisenbugs appear is that executing a program in debug mode often cleans the memory before the programs starts. This forces variables in a last-in-first-out cycle, instead of keeping them in registers.
From the development environment to actual live usage, there is a longer way than assumed. A cause also for “Works on my machine” when bugs are raised
Another cause can be time. If an application is monitored, but that application interacts with another one, which is not monitored, but between it there is a need for a synchronization, this is when a heisenbug is possible to appear.
Here is a nice animated video example in physics:ShareThis