API Handler error codes
High level handler error codes, each particular handler can be fit into one of the following categories. A good approach could be the following. This required coordination among all the errors, just for now, this solution seems ok.
enum YourOwnHandlerEnum {
    FOO_ERROR = Codes::SOME_CATEGORY,
    ...
};
- 
class Codes
- 
enumerator CONFIGURATION = 1
- Errors during configuration api handling. - 
enumerator METRIC = 1000
- Errors during metrics api handling. 
 - 
enumerator RECORD = 2000
- Errors during record api handling. 
 - 
enumerator SERVER = 3000
- Errors during server api handling. 
 - 
enumerator STORAGE = 4000
- Errors during storage api handling. 
 - 
enumerator PLUGIN = 4000
- Errors during plugion api handling. 
 - 
enumerator GENERIC = 30000
- Errors during generic api handling, general errors. 
 
- 
enumerator METRIC = 1000
 
- 
enumerator CONFIGURATION = 1