Major fixes and new features
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
class MetricConfig(object):
|
||||
"""Configuration values for metrics"""
|
||||
def __init__(self, quota=None, samples=2, event_window=sys.maxsize,
|
||||
time_window_ms=30 * 1000, tags=None):
|
||||
"""
|
||||
Arguments:
|
||||
quota (Quota, optional): Upper or lower bound of a value.
|
||||
samples (int, optional): Max number of samples kept per metric.
|
||||
event_window (int, optional): Max number of values per sample.
|
||||
time_window_ms (int, optional): Max age of an individual sample.
|
||||
tags (dict of {str: str}, optional): Tags for each metric.
|
||||
"""
|
||||
self.quota = quota
|
||||
self._samples = samples
|
||||
self.event_window = event_window
|
||||
self.time_window_ms = time_window_ms
|
||||
# tags should be OrderedDict (not supported in py26)
|
||||
self.tags = tags if tags else {}
|
||||
|
||||
@property
|
||||
def samples(self):
|
||||
return self._samples
|
||||
|
||||
@samples.setter
|
||||
def samples(self, value):
|
||||
if value < 1:
|
||||
raise ValueError('The number of samples must be at least 1.')
|
||||
self._samples = value
|
||||
Reference in New Issue
Block a user