implement sets
I don't know what you're talking about. Can you give me some context?
Oh, I see what you're talking about.
I'm going to change this issue to "Implement sets".
PyStatsd docs: http://statsd.readthedocs.io/en/v3.2.1/types.html#sets
Datadog statsd docs: http://docs.datadoghq.com/guides/dogstatsd/#sets
I'm not sure offhand how that should get implemented in the logging and cloudwatch backends. Any ideas?
This is my understanding:
All metrics recording have the implicit concept of a quantum of time. In the case of StatsD, the server handles aggregating these metrics, potentially from separate clients. In the case of CloudWatch, this also happens somewhere; ie., the service does not store all the individual increments of a metric, just a value for a period. In the case of logging, it does not happen. In the case of logging-rollup, metrics are managed internally and aggregated for output periodically.
So, this is what I'd do:
StatsD handles this. In the case of CloudWatch, I don't know this system, perhaps there's something. Otherwise, do as in logging-rollup. In the case of logging, just output the func call as with the rest. I see no value for this backend. In the case of logging-rollup, keep a set of values for the period to be rolled up. This backend is nice.