Instrumentation basically means adding loggers/print statements to certain points of interest of your hardware/software.
The downside is that if the instrumentation does not provide you the data you need to debug, there's not much you can do, you will need to modify it, i.e. you don't get full visibility from instrumention.
This is unlike emulation that provides full observability.
Articles by others on the same topic
Instrumentation in computer programming refers to the process of adding measurement and monitoring capabilities to a program, system, or application. This can involve embedding code or tools that collect data about the application's performance, behavior, and usage in order to analyze, debug, and improve the application. Key aspects of instrumentation in programming include: 1. **Performance Monitoring**: Instrumentation can help track metrics such as response time, memory usage, CPU load, and throughput.