Add count type to Agent check

i might be missing something, but i think this can be written more concisely, and more important it does less work in the sample (which _technically_ is the fast path) though i don't know how important that is.

```
def sample(self, value ..):
     self.cur_val = value

def flush(self):
    try:
         if self.prev_val is not None and self.cur_val is not None:
               delta = self.cur_val - prev_val
               if delta < 0:
                      # skip & warn about counter reset
               else:
                      flush()
    finally:
         self.prev_val = self.cur_val
```