added buffered data collector for send metrics

This seems a little awkward.  Would it be clearer to hold the data in a temporary variable and add it storage when necessary?