1. A method comprising: receiving a histogram, the histogram having a plurality of ranges, the histogram having a value for each range, the histogram having a time value; generating a pattern of the histogram, the pattern having a zero value for each range having a zero value, the pattern having a one value for each range having a non-zero value; determining whether the pattern of the histogram and the time value of the histogram match any given entry of a pattern table, the pattern table having a plurality of entries, each entry having an index value, a time range, and a pattern; where the pattern of the histogram and the time value of the histogram do not match any given entry of the pattern table, adding a new entry to the pattern table, the time range of the new entry having a start time equal to the time value of the histogram, the pattern of the new entry equal to the pattern of the histogram, the new entry being the given entry that the pattern of the histogram and the time value of the histogram now match; compressing any non-zero values of the ranges of the histogram into a compressed value; and, adding an entry for the histogram to a histogram table, the entry having the time value of the histogram, the index value of the given entry of the pattern table, and the compressed value of any non-zero values of the ranges of the histogram.