Type: Change Request
Affects Version/s: None
Fix Version/s: None
Quite often there are parameteres that don't change their value frequently (errors on interfaces, some hardware info, temperature etc.), for which it'd be good to have a whole history of these changes, but keeping all repetitive data seems to be unnecessary.
Would it be possible to add new data storage methods (for exact values and for deltas), which would compare received value with the latest value from the database and:
- if it is the same, new value isn't being written to database,
- if it is different, last value from database is being cloned and written to database along with newly received value?
For example, if we've received values: '0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1', in database there would be only '0 0 1', where timestamps would be:first '0' - timestamp of occurance, second '0' - timestamp of occurance of '1' decreased a little bit, '1' - timestamp of occurance.
Clonning of repetitive value would simulate the actual trend of a value on graphs (like this trend would look with all data gathered).
That would propably increase CPU usage for comparison process, but it would make database smaller and easier to handle. At least, I think it would .
That also would allow to store detailed histroy much longer. For example, I had some problems on interface in April and in August, in other months there weren't any problems. I'm able to see exact situations from the past not only avg,mix,min from one hour period, while keeping history table as small as possible, because not storing '0-es' from other months.