测试statsd客户端
nti.fakestatsd的Python项目详细描述
实体发票状态d
nti.fakestatsd是一个测试客户机,用于验证statsd度量 由perfmetrics发出。
很容易创建用于测试的新客户端:
>>> fromnti.fakestatsdimportFakeStatsDClient>>> test_client=FakeStatsDClient()
此客户端公开的公共接口与 perfmetrics.statsd.statsdclient。例如,我们可以增加 计数器、设置仪表等:
>>> test_client.incr('request_c')>>> test_client.gauge('active_sessions',320)
与perfmetrics.statsd.statsdclient不同,fakestatsdclient 跟踪将要发送的statsd数据包。这个信息是 在我们的test_client中公开为原始statsd包,以及 方便此信息也被解析为~。metric 物体。有关完整的详细信息,请参见~.fakestatsdclient和~.metric。
>>> test_client.packets['request_c:1|c', 'active_sessions:320|g'] >>> test_client.metrics[<nti.fakestatsd.metric.Metric object at ...>, <nti.fakestatsd.metric.Metric object at ...>]
为了验证度量,我们提供了一组hamcrest匹配器 在测试断言中:
>>> fromhamcrestimportassert_that>>> fromhamcrestimportcontains>>> fromnti.fakestatsd.matchersimportis_metric>>> fromnti.fakestatsd.matchersimportis_gauge>>> assert_that(test_client,... contains(is_metric('c','request_c','1'),... is_gauge('active_sessions','320')))>>> assert_that(test_client,... contains(is_gauge('request_c','1'),... is_gauge('active_sessions','320')))Traceback (most recent call last): ...AssertionError: Expected: a sequence containing [Metric of form <request_c:1|g>, Metric of form <active_sessions:320|g>] but: item 0: was <request_c:1|c>
有关完整的详细信息和变更日志,请参见documentation。
更改
0.0.2(2018-10-26)
0.0.1(2018-10-12)
- 第一个pypi版本。