Instrumentation (computer programming): Difference between revisions

Content deleted Content added
m link [mM]anaged services
instrumenting is about enabling measurement but is not the measurement itself
Line 1:
{{more footnotes|date=December 2013}}
In [[computer programming]], '''instrumentation''' is the act of modifying software so that [[analysis]] can be performed on it.
In the context of [[computer programming]], '''instrumentation''' refers to the measure of a product's performance, in order to diagnose errors and to write [[Tracing (software)|trace]] information.<ref>[http://pic.dhe.ibm.com/infocenter/rtrthelp/v8r0m0/index.jsp?topic=%2Fcom.ibm.rational.testrt.doc%2Ftopics%2Fcinstruovw.html Source Code Instrumentation Overview at IBM website]</ref> Instrumentation can be of two types: source instrumentation and binary instrumentation.
 
Generally, instrumentation either modifies [[source code]] or [[binary code]].
== Output ==
In programming, instrumentation means:<ref>{{cite web|url=http://www.drdobbs.com/architecture-and-design/commenting-testing-and-instrumenting-cod/229300224|title=Commenting, Testing, and Instrumenting Code|date=January 3, 2011|accessdate=January 29, 2014}}</ref>
 
InInstrumentation programming,enables instrumentation[[profiling means(computer programming)|profiling]]: <ref>{{cite web|url=http://www.drdobbs.com/architecture-and-design/commenting-testing-and-instrumenting-cod/229300224|title=Commenting, Testing, and Instrumenting Code|date=January 3, 2011|accessdate=January 29, 2014}}</ref>
* [[Profiling (computer programming)|Profiling]]: measuring dynamic program behaviorsbehavior during a trainingtest run with a representative input. This is useful for properties of a program that cannot be [[static program analysis|analyzed statically]] with sufficient precision, such as [[software performance|performance]] and [[alias analysis]].
* Inserting timers into functions.
 
* Logging major events such as crashes.
Instrumentation can include:
In the context of* [[computerTracing (software)|Logging programmingevents]], '''instrumentation'''such refersfailures toand theoperation measure of a product's performance, in order to diagnose errorsstart and toend write [[Tracing (software)|trace]] information.<ref>[http://pic.dhe.ibm.com/infocenter/rtrthelp/v8r0m0/index.jsp?topic=%2Fcom.ibm.rational.testrt.doc%2Ftopics%2Fcinstruovw.html Source Code Instrumentation Overview at IBM website]</ref> Instrumentation can be of two types: source instrumentation and binary instrumentation.
* Measuring and logging the duration of operations
 
== Limitations ==
 
Instrumentation is limited by execution coverage. If the program never reaches a particular point of execution, then instrumentation at that point collects no data. For instance, if a word processor application is instrumented, but the user never activates the print feature, then the instrumentation can say nothing about the routines which are used exclusively by the printing feature.
 
Some types of instrumentation may cause a dramatic increase in execution time. This maycan limit the application of instrumentation to debugging contexts.
 
==See also==