I wonder if it would be useful to get a sense of how many times a given error occurred--I'm a little worried that if we just throw away the repeat errors, it might actually be misleading in some cases. One way to do this that wouldn't have to change your logic much would be to make it so the first time an error occurs, report it as now, but on subsequent times, increment a count for that error, and then when the error "times out", dump the error again with "occurred N more times in X minutes".