Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is meant by the term "Instrumentation"? [duplicate]

As the title suggests. Many explanations are really vague, can anyone provide a more solid definition?

The term is used a lot in Android testing, but I don't think it's restricted to that platform.

like image 495
barry Avatar asked Jan 06 '12 08:01

barry


People also ask

What does instrumentation mean in programming?

The term instrumentation refers to an ability to monitor or measure the level of a product's performance and to diagnose errors. In programming, this means the ability of an application to incorporate: Code tracing - Receiving informative messages about the execution of an application at run time.

What is instrumentation in compiler?

In context of computer programming, instrumentation refers to an ability to monitor or measure the level of a product's performance, to diagnose errors and to write trace information.


1 Answers

Some performance measurement tools add instrumentation to the code. E.g. they may binary translate, and add instructions to read the timers at the beginning and end of functions. Or this instrumentation, this reading of the timers, may be added to assembly, or C code, by an automated tool, or a programmer.

Other performance measurement tools do not change the code that is being measured. E.g. UNIX prof sampling runs special code that is invoked at the timer interrupt, which generates a histogram of the instruction at which the interrupt is received.

Some tools are hybrid: e.g. UNIX gprof combines prof-style interrupt sampling with mcount instrumentation added by the compiler -pg option to count which functions call each other.

All performance measurement has overhead, but instrumentation tends to have more overhead than interrupt based sampling. On the other hand, instrumentation can measure more stuff.

like image 126
Krazy Glew Avatar answered Oct 05 '22 11:10

Krazy Glew