I have a question that I have note been able to find an answer for yet.
I would like to be able to monitor the processor usage on my board quantitively for any given sketch I have loaded, sort of how a PC will report CPU usage in a % format.
Modifications to my sketch would be a fine solution. I was not able to find any profilers compatible with arduino.
About the only way I know of to do any kind of "profiling" of code would be using millis() or micros() - depending on the granularity you need; this likely isn't how CPU monitoring is done on a PC (though I've never looked into it), but it can allow you to figure out where the slow parts of your code are (though with the small amount of code you see on the ATMega line, you can figure it out just by looking).
I would like to be able to monitor the processor usage on my board quantitively for any given sketch I have loaded, sort of how a PC will report CPU usage in a % format.
Well the reality of the situation is that a micro-controller chip like the AVR chip on a arduino is never not running 100% of the time, balls to the wall, no matter how large or small or simple or complex the sketch is. There are some sleep modes one can put the controller into which will cut down current consumption waiting for some event to wake it up, but I don't that is what you had in mind?
Now trying to determine how much time different functions or sections of your code is taking is another matter. I think that is called profiling? That can probably be done with some cleaver software and using the millis() function to time between events, etc. But I would leave that to software gurus far above my capabilities.
Processor usage is 100 percent, 100 percent of the time.
No need to measrue it.
Crude profiling can be done with a simple timer interrupt and a little bit of careful stack pointer arithmetic and a histogram, but is an intrusive method, and can eat RAM.