MCPcopy Index your code
hub / github.com/statsd/statsd / sample

Method sample

examples/python_example.py:114–143  ·  view source on GitHub ↗

Sample data dict TODO(rbtz@): Convert to generator >>> StatsdClient.sample({"example.sample2": "2"}, 1) {'example.sample2': '2'} >>> StatsdClient.sample({"example.sample3": "3"}, 0) {} >>> from random import seed >>> seed(1) >

(data, sample_rate)

Source from the content-addressed store, hash-verified

112
113 @staticmethod
114 def sample(data, sample_rate):
115 """
116 Sample data dict
117 TODO(rbtz@): Convert to generator
118
119 >>> StatsdClient.sample({"example.sample2": "2"}, 1)
120 {'example.sample2': '2'}
121 >>> StatsdClient.sample({"example.sample3": "3"}, 0)
122 {}
123 >>> from random import seed
124 >>> seed(1)
125 >>> sampled = StatsdClient.sample({"example.sample5": "5", "example.sample7": "7"}, 0.99)
126 >>> len(sampled)
127 2
128 >>> sampled['example.sample5']
129 '5|@0.99'
130 >>> sampled['example.sample7']
131 '7|@0.99'
132 >>> StatsdClient.sample({"example.sample5": "5", "example.sample7": "7"}, 0.01)
133 {}
134 """
135 if sample_rate >= 1:
136 return data
137 elif sample_rate < 1:
138 if random() <= sample_rate:
139 sampled_data = {}
140 for stat, value in data.items():
141 sampled_data[stat] = "{0}|@{1}".format(value, sample_rate)
142 return sampled_data
143 return {}
144
145 @staticmethod
146 def send(_dict, addr):

Callers 1

update_statsMethod · 0.95

Calls 1

formatMethod · 0.80

Tested by

no test coverage detected