Instrumented kernel

The instrumented kernel is actually the regular QNX Neutrino microkernel with a small, highly efficient event-gathering module included. Except for the instrumentation, its operation is virtually indistinguishable—the instrumented kernel runs at 98% of the speed of our regular microkernel.

As threads run, the instrumented kernel continuously intercepts information about what the kernel is doing, generating time-stamped and CPU-stamped events that are stored in a circular linked list of buffers. Because the tracing occurs at the kernel level, the SAT can track the performance of all processes, including the data-capturing program.

To check to see if your system is running the instrumented kernel, type:

ls /proc/boot

and then look for a file whose name includes procnto. If the file name is procnto-*instr, you're running the instrumented kernel; if the file name doesn't include instr, you're running the noninstrumented kernel.

To switch to the instrumented kernel, do the following:

  1. In your buildfile, replace the entry for procnto with the appropriate procnto-*instr. For more information, see the entry for procnto in the Utilities Reference.
  2. Add tracelogger and traceprinter to your buildfile or target.
  3. Run the mkifs utility to rebuild the image. For more information, see the entry for mkifs in the Utilities Reference.
  4. Replace your current boot image with the new one.