compass.services.usage.TimeBoundedUsageTracker#
- class TimeBoundedUsageTracker(max_seconds=70)[source]#
Bases:
objectTrack usage of a resource over time
This class wraps a double-ended queue, and any inputs older than a certain time are dropped. Those values are also subtracted from the running total.
References
https://stackoverflow.com/questions/51485656/efficient-time-bound-queue-in-python
- Parameters:
max_seconds (
int, optional) – Maximum age in seconds of an element before it is dropped from consideration. By default,65.
Methods
add(value)Add a value to track
Attributes
Total of all entries younger than max_seconds