I'm writing a C++ background/server application for Linux/Windows. Is there a standard control/profiling/reporting service I should use to expose my application's current status in a standardized way?
If not, what's a good pattern (or library) to use for exposing this kind of data and control?
Specifically, I want to expose the following data:
- Relative "usage" of "components" (where usage/components is user-defined)
- Any errors/faults
- Memory, CPU, other misc process data
- Method/class execution profile
- Average time spent in method/class
- Total calls
I want to expose the following control mechanisms
- Start, stop, restart, reload X... (commandesque control)
- Parameter tuning