本文整理汇总了Python中datadog.dogstatsd.base.DogStatsd.open_buffer方法的典型用法代码示例。如果您正苦于以下问题:Python DogStatsd.open_buffer方法的具体用法?Python DogStatsd.open_buffer怎么用?Python DogStatsd.open_buffer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类datadog.dogstatsd.base.DogStatsd
的用法示例。
在下文中一共展示了DogStatsd.open_buffer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestDogStatsd
# 需要导入模块: from datadog.dogstatsd.base import DogStatsd [as 别名]
# 或者: from datadog.dogstatsd.base.DogStatsd import open_buffer [as 别名]
#.........这里部分代码省略.........
"""
Exception bubbles out of the `timed` context manager.
"""
class ContextException(Exception):
pass
def func(self):
with self.statsd.timed('timed_context.test.exception'):
time.sleep(0.5)
raise ContextException()
# Ensure the exception was raised.
t.assert_raises(ContextException, func, self)
# Ensure the timing was recorded.
packet = self.recv()
name_value, type_ = packet.split('|')
name, value = name_value.split(':')
t.assert_equal('ms', type_)
t.assert_equal('timed_context.test.exception', name)
self.assert_almost_equal(0.5, float(value), 0.1)
def test_timed_context_no_metric_exception(self):
"""Test that an exception occurs if using a context manager without a metric."""
def func(self):
with self.statsd.timed():
time.sleep(0.5)
# Ensure the exception was raised.
t.assert_raises(TypeError, func, self)
# Ensure the timing was recorded.
packet = self.recv()
t.assert_equal(packet, None)
def test_batched(self):
self.statsd.open_buffer()
self.statsd.gauge('page.views', 123)
self.statsd.timing('timer', 123)
self.statsd.close_buffer()
t.assert_equal('page.views:123|g\ntimer:123|ms', self.recv())
def test_context_manager(self):
fake_socket = FakeSocket()
with DogStatsd() as statsd:
statsd.socket = fake_socket
statsd.gauge('page.views', 123)
statsd.timing('timer', 123)
t.assert_equal('page.views:123|g\ntimer:123|ms', fake_socket.recv())
def test_batched_buffer_autoflush(self):
fake_socket = FakeSocket()
with DogStatsd() as statsd:
statsd.socket = fake_socket
for i in range(51):
statsd.increment('mycounter')
t.assert_equal('\n'.join(['mycounter:1|c' for i in range(50)]), fake_socket.recv())
t.assert_equal('mycounter:1|c', fake_socket.recv())
def test_module_level_instance(self):
t.assert_true(isinstance(statsd, DogStatsd))
def test_instantiating_does_not_connect(self):
dogpound = DogStatsd()
t.assert_equal(None, dogpound.socket)
def test_accessing_socket_opens_socket(self):
dogpound = DogStatsd()
try:
t.assert_not_equal(None, dogpound.get_socket())
finally:
dogpound.socket.close()
def test_accessing_socket_multiple_times_returns_same_socket(self):
dogpound = DogStatsd()
fresh_socket = FakeSocket()
dogpound.socket = fresh_socket
t.assert_equal(fresh_socket, dogpound.get_socket())
t.assert_not_equal(FakeSocket(), dogpound.get_socket())
def test_tags_from_environment(self):
with preserve_environment_variable('DATADOG_TAGS'):
os.environ['DATADOG_TAGS'] = 'country:china,age:45,blue'
statsd = DogStatsd()
statsd.socket = FakeSocket()
statsd.gauge('gt', 123.4)
t.assert_equal('gt:123.4|g|#country:china,age:45,blue', statsd.socket.recv())
def test_tags_from_environment_and_constant(self):
with preserve_environment_variable('DATADOG_TAGS'):
os.environ['DATADOG_TAGS'] = 'country:china,age:45,blue'
statsd = DogStatsd(constant_tags=['country:canada', 'red'])
statsd.socket = FakeSocket()
statsd.gauge('gt', 123.4)
t.assert_equal('gt:123.4|g|#country:canada,red,country:china,age:45,blue', statsd.socket.recv())
示例2: TestDogStatsd
# 需要导入模块: from datadog.dogstatsd.base import DogStatsd [as 别名]
# 或者: from datadog.dogstatsd.base.DogStatsd import open_buffer [as 别名]
#.........这里部分代码省略.........
self.statsd.timing('t', 123)
t.assert_equal('t:123|ms', self.recv())
def test_event(self):
self.statsd.event('Title', u'L1\nL2', priority='low', date_happened=1375296969)
t.assert_equal(u'_e{5,6}:Title|L1\\nL2|d:1375296969|p:low', self.recv())
self.statsd.event('Title', u'♬ †øU †øU ¥ºu T0µ ♪',
aggregation_key='key', tags=['t1', 't2:v2'])
t.assert_equal(u'_e{5,19}:Title|♬ †øU †øU ¥ºu T0µ ♪|k:key|#t1,t2:v2', self.recv())
def test_service_check(self):
now = int(time.time())
self.statsd.service_check(
'my_check.name', self.statsd.WARNING,
tags=['key1:val1', 'key2:val2'], timestamp=now,
hostname='i-abcd1234', message=u"♬ †øU \n†øU ¥ºu|m: T0µ ♪")
t.assert_equal(
u'_sc|my_check.name|{0}|d:{1}|h:i-abcd1234|#key1:val1,key2:val2|m:{2}'
.format(self.statsd.WARNING, now, u"♬ †øU \\n†øU ¥ºu|m\: T0µ ♪"), self.recv())
@staticmethod
def assert_almost_equal(a, b, delta):
assert 0 <= abs(a - b) <= delta, "%s - %s not within %s" % (a, b, delta)
def test_socket_error(self):
self.statsd.socket = BrokenSocket()
self.statsd.gauge('no error', 1)
assert True, 'success'
def test_timed(self):
@self.statsd.timed('timed.test')
def func(a, b, c=1, d=1):
"""docstring"""
time.sleep(0.5)
return (a, b, c, d)
t.assert_equal('func', func.__name__)
t.assert_equal('docstring', func.__doc__)
result = func(1, 2, d=3)
# Assert it handles args and kwargs correctly.
t.assert_equal(result, (1, 2, 1, 3))
packet = self.recv()
name_value, type_ = packet.split('|')
name, value = name_value.split(':')
t.assert_equal('ms', type_)
t.assert_equal('timed.test', name)
self.assert_almost_equal(0.5, float(value), 0.1)
def test_batched(self):
self.statsd.open_buffer()
self.statsd.gauge('page.views', 123)
self.statsd.timing('timer', 123)
self.statsd.close_buffer()
t.assert_equal('page.views:123|g\ntimer:123|ms', self.recv())
def test_context_manager(self):
fake_socket = FakeSocket()
with DogStatsd() as statsd:
statsd.socket = fake_socket
statsd.gauge('page.views', 123)
statsd.timing('timer', 123)
t.assert_equal('page.views:123|g\ntimer:123|ms', fake_socket.recv())
def test_batched_buffer_autoflush(self):
fake_socket = FakeSocket()
with DogStatsd() as statsd:
statsd.socket = fake_socket
for i in range(51):
statsd.increment('mycounter')
t.assert_equal('\n'.join(['mycounter:1|c' for i in range(50)]), fake_socket.recv())
t.assert_equal('mycounter:1|c', fake_socket.recv())
def test_module_level_instance(self):
t.assert_true(isinstance(statsd, DogStatsd))
def test_instantiating_does_not_connect(self):
dogpound = DogStatsd()
t.assert_equal(None, dogpound.socket)
def test_accessing_socket_opens_socket(self):
dogpound = DogStatsd()
try:
t.assert_not_equal(None, dogpound.get_socket())
finally:
dogpound.socket.close()
def test_accessing_socket_multiple_times_returns_same_socket(self):
dogpound = DogStatsd()
fresh_socket = FakeSocket()
dogpound.socket = fresh_socket
t.assert_equal(fresh_socket, dogpound.get_socket())
t.assert_not_equal(FakeSocket(), dogpound.get_socket())