本文整理汇总了Python中dogstatsd.MetricsAggregator.submit_packets方法的典型用法代码示例。如果您正苦于以下问题:Python MetricsAggregator.submit_packets方法的具体用法?Python MetricsAggregator.submit_packets怎么用?Python MetricsAggregator.submit_packets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dogstatsd.MetricsAggregator
的用法示例。
在下文中一共展示了MetricsAggregator.submit_packets方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_tags
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_tags(self):
stats = MetricsAggregator('myhost')
stats.submit_packets('gauge:1|c')
stats.submit_packets('gauge:2|c|@1')
stats.submit_packets('gauge:4|c|#tag1,tag2')
stats.submit_packets(
'gauge:8|c|#tag2,tag1') # Should be the same as above
stats.submit_packets('gauge:16|c|#tag3,tag4')
metrics = self.sort_metrics(stats.flush())
assert len(metrics) == 3
first, second, third = metrics
nt.assert_equal(first['metric'], 'gauge')
nt.assert_equal(first['tags'], None)
nt.assert_equal(first['points'][0][1], 3)
nt.assert_equal(first['host'], 'myhost')
nt.assert_equal(second['metric'], 'gauge')
nt.assert_equal(second['tags'], ('tag1', 'tag2'))
nt.assert_equal(second['points'][0][1], 12)
nt.assert_equal(second['host'], 'myhost')
nt.assert_equal(third['metric'], 'gauge')
nt.assert_equal(third['tags'], ('tag3', 'tag4'))
nt.assert_equal(third['points'][0][1], 16)
nt.assert_equal(third['host'], 'myhost')
示例2: test_gauge
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_gauge(self):
stats = MetricsAggregator('myhost')
# Track some counters.
stats.submit_packets('my.first.gauge:1|g')
stats.submit_packets('my.first.gauge:5|g')
stats.submit_packets('my.second.gauge:1.5|g')
# Ensure that gauges roll up correctly.
metrics = self.sort_metrics(stats.flush())
assert len(metrics) == 2
first, second = metrics
nt.assert_equals(first['metric'], 'my.first.gauge')
nt.assert_equals(first['points'][0][1], 5)
nt.assert_equals(first['host'], 'myhost')
nt.assert_equals(second['metric'], 'my.second.gauge')
nt.assert_equals(second['points'][0][1], 1.5)
# Ensure that old gauges get dropped due to old timestamps
stats.gauge('my.first.gauge', 5)
stats.gauge('my.first.gauge', 1, timestamp=1000000000)
stats.gauge('my.second.gauge', 20, timestamp=1000000000)
metrics = self.sort_metrics(stats.flush())
assert len(metrics) == 1
first = metrics[0]
nt.assert_equals(first['metric'], 'my.first.gauge')
nt.assert_equals(first['points'][0][1], 5)
nt.assert_equals(first['host'], 'myhost')
示例3: test_histogram
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_histogram(self):
stats = MetricsAggregator('myhost')
# Sample all numbers between 1-100 many times. This
# means our percentiles should be relatively close to themselves.
percentiles = range(100)
random.shuffle(percentiles) # in place
for i in percentiles:
for j in xrange(20):
for type_ in ['h', 'ms']:
m = 'my.p:%s|%s' % (i, type_)
stats.submit_packets(m)
metrics = self.sort_metrics(stats.flush())
def assert_almost_equal(i, j, e=1):
# Floating point math?
assert abs(i - j) <= e, "%s %s %s" % (i, j, e)
nt.assert_equal(len(metrics), 5)
p95, pavg, pcount, pmax, pmed = self.sort_metrics(metrics)
nt.assert_equal(p95['metric'], 'my.p.95percentile')
assert_almost_equal(p95['points'][0][1], 95, 10)
assert_almost_equal(pmax['points'][0][1], 99, 1)
assert_almost_equal(pmed['points'][0][1], 50, 2)
assert_almost_equal(pavg['points'][0][1], 50, 2)
assert_almost_equal(pcount['points'][0][1], 4000, 0) # 100 * 20 * 2
nt.assert_equals(p95['host'], 'myhost')
# Ensure that histograms are reset.
metrics = self.sort_metrics(stats.flush())
assert not metrics
示例4: test_scientific_notation
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_scientific_notation(self):
stats = MetricsAggregator('myhost', interval=10)
stats.submit_packets('test.scinot:9.512901e-05|g')
metrics = self.sort_metrics(stats.flush())
assert len(metrics) == 1
ts, val = metrics[0].get('points')[0]
nt.assert_almost_equal(val, 9.512901e-05)
示例5: test_sampled_counter
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_sampled_counter(self):
# Submit a sampled counter.
stats = MetricsAggregator('myhost')
stats.submit_packets('sampled.counter:1|c|@0.5')
metrics = stats.flush()
assert len(metrics) == 1
m = metrics[0]
assert m['metric'] == 'sampled.counter'
nt.assert_equal(m['points'][0][1], 2)
示例6: test_diagnostic_stats
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_diagnostic_stats(self):
stats = MetricsAggregator("myhost")
for i in xrange(10):
stats.submit_packets("metric:10|c")
stats.send_packet_count("datadog.dogstatsd.packet.count")
metrics = self.sort_metrics(stats.flush())
nt.assert_equals(2, len(metrics))
first, second = metrics
nt.assert_equal(first["metric"], "datadog.dogstatsd.packet.count")
nt.assert_equal(first["points"][0][1], 10)
示例7: test_batch_submission
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_batch_submission(self):
# Submit a sampled histogram.
stats = MetricsAggregator('myhost')
metrics = ['counter:1|c', 'counter:1|c', 'gauge:1|g']
packet = "\n".join(metrics)
stats.submit_packets(packet)
metrics = self.sort_metrics(stats.flush())
nt.assert_equal(2, len(metrics))
counter, gauge = metrics
assert counter['points'][0][1] == 2
assert gauge['points'][0][1] == 1
示例8: test_gauge_sample_rate
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_gauge_sample_rate(self):
stats = MetricsAggregator("myhost")
# Submit a sampled gauge metric.
stats.submit_packets("sampled.gauge:10|g|@0.1")
# Assert that it's treated normally.
metrics = stats.flush()
nt.assert_equal(len(metrics), 1)
m = metrics[0]
nt.assert_equal(m["metric"], "sampled.gauge")
nt.assert_equal(m["points"][0][1], 10)
示例9: test_sampled_histogram
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_sampled_histogram(self):
# Submit a sampled histogram.
stats = MetricsAggregator('myhost')
stats.submit_packets('sampled.hist:5|h|@0.5')
# Assert we scale up properly.
metrics = self.sort_metrics(stats.flush())
p95, pavg, pcount, pmax, pmed = self.sort_metrics(metrics)
nt.assert_equal(pcount['points'][0][1], 2)
for p in [p95, pavg, pmed, pmax]:
nt.assert_equal(p['points'][0][1], 5)
示例10: test_histogram_normalization
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_histogram_normalization(self):
stats = MetricsAggregator('myhost', interval=10)
for i in range(5):
stats.submit_packets('h1:1|h')
for i in range(20):
stats.submit_packets('h2:1|h')
metrics = self.sort_metrics(stats.flush())
_, _, h1count, _, _, \
_, _, h2count, _, _ = metrics
nt.assert_equal(h1count['points'][0][1], 0.5)
nt.assert_equal(h2count['points'][0][1], 2)
示例11: test_tags
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_tags(self):
stats = MetricsAggregator("myhost")
stats.submit_packets("gauge:1|c")
stats.submit_packets("gauge:2|c|@1")
stats.submit_packets("gauge:4|c|#tag1,tag2")
stats.submit_packets("gauge:8|c|#tag2,tag1") # Should be the same as above
stats.submit_packets("gauge:16|c|#tag3,tag4")
metrics = self.sort_metrics(stats.flush())
assert len(metrics) == 3
first, second, third = metrics
nt.assert_equal(first["metric"], "gauge")
nt.assert_equal(first["tags"], None)
nt.assert_equal(first["points"][0][1], 3)
nt.assert_equal(first["host"], "myhost")
nt.assert_equal(second["metric"], "gauge")
nt.assert_equal(second["tags"], ("tag1", "tag2"))
nt.assert_equal(second["points"][0][1], 12)
nt.assert_equal(second["host"], "myhost")
nt.assert_equal(third["metric"], "gauge")
nt.assert_equal(third["tags"], ("tag3", "tag4"))
nt.assert_equal(third["points"][0][1], 16)
nt.assert_equal(third["host"], "myhost")
示例12: test_event_tags
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_event_tags(self):
stats = MetricsAggregator('myhost')
stats.submit_packets('_e{6,4}:title1|text')
stats.submit_packets('_e{6,4}:title2|text|#t1')
stats.submit_packets('_e{6,4}:title3|text|#t1,t2:v2,t3,t4')
stats.submit_packets('_e{6,4}:title4|text|k:key|p:normal|#t1,t2')
events = self.sort_events(stats.flush_events())
assert len(events) == 4
first, second, third, fourth = events
try:
first['tags']
except Exception:
assert True
else:
assert False, "event['tags'] shouldn't be defined when no tags aren't explicited in the packet"
nt.assert_equal(first['title'], 'title1')
nt.assert_equal(first['text'], 'text')
nt.assert_equal(second['title'], 'title2')
nt.assert_equal(second['text'], 'text')
nt.assert_equal(second['tags'], sorted(['t1']))
nt.assert_equal(third['title'], 'title3')
nt.assert_equal(third['text'], 'text')
nt.assert_equal(third['tags'], sorted(['t1', 't2:v2', 't3', 't4']))
nt.assert_equal(fourth['title'], 'title4')
nt.assert_equal(fourth['text'], 'text')
nt.assert_equal(fourth['aggregation_key'], 'key')
nt.assert_equal(fourth['priority'], 'normal')
nt.assert_equal(fourth['tags'], sorted(['t1', 't2']))
示例13: test_rate
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_rate(self):
stats = MetricsAggregator('myhost')
stats.submit_packets('my.rate:10|_dd-r')
# Sleep 1 second so the time interval > 0
time.sleep(1)
stats.submit_packets('my.rate:40|_dd-r')
# Check that the rate is calculated correctly
metrics = stats.flush()
nt.assert_equal(len(metrics), 1)
m = metrics[0]
nt.assert_equals(m['metric'], 'my.rate')
nt.assert_equals(m['points'][0][1], 30)
# Assert that no more rates are given
assert not stats.flush()
示例14: test_bad_packets_throw_errors
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_bad_packets_throw_errors(self):
packets = [
"missing.value.and.type",
"missing.type:2",
"missing.value|c",
"2|c",
"unknown.type:2|z",
"string.value:abc|c",
"string.sample.rate:0|c|@abc",
]
stats = MetricsAggregator("myhost")
for packet in packets:
try:
stats.submit_packets(packet)
except:
assert True
else:
assert False, "invalid : %s" % packet
示例15: test_gauge
# 需要导入模块: from dogstatsd import MetricsAggregator [as 别名]
# 或者: from dogstatsd.MetricsAggregator import submit_packets [as 别名]
def test_gauge(self):
stats = MetricsAggregator("myhost")
# Track some counters.
stats.submit_packets("my.first.gauge:1|g")
stats.submit_packets("my.first.gauge:5|g")
stats.submit_packets("my.second.gauge:1.5|g")
# Ensure that gauges roll up correctly.
metrics = self.sort_metrics(stats.flush())
assert len(metrics) == 2
first, second = metrics
nt.assert_equals(first["metric"], "my.first.gauge")
nt.assert_equals(first["points"][0][1], 5)
nt.assert_equals(first["host"], "myhost")
nt.assert_equals(second["metric"], "my.second.gauge")
nt.assert_equals(second["points"][0][1], 1.5)