File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed
Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ def __init__(self,
4848 timeout = 3.0 ,
4949 verbose = False ,
5050 buffer_overflow_handler = None ,
51+ nanosecond_precision = False ,
5152 ** kwargs ):
5253
5354 self .tag = tag
@@ -57,6 +58,7 @@ def __init__(self,
5758 self .timeout = timeout
5859 self .verbose = verbose
5960 self .buffer_overflow_handler = buffer_overflow_handler
61+ self .nanosecond_precision = nanosecond_precision
6062
6163 self .socket = None
6264 self .pendings = None
@@ -70,7 +72,10 @@ def __init__(self,
7072 self ._close ()
7173
7274 def emit (self , label , data ):
73- cur_time = int (time .time ())
75+ if self .nanosecond_precision :
76+ cur_time = EventTime (time .time ())
77+ else :
78+ cur_time = int (time .time ())
7479 return self .emit_with_time (label , cur_time , data )
7580
7681 def emit_with_time (self , label , timestamp , data ):
Original file line number Diff line number Diff line change 33from __future__ import print_function
44import unittest
55import socket
6+ import msgpack
67
78import fluent .sender
89from tests import mockserver
@@ -64,6 +65,20 @@ def test_simple(self):
6465 self .assertTrue (data [0 ][1 ])
6566 self .assertTrue (isinstance (data [0 ][1 ], int ))
6667
68+ def test_nanosecond (self ):
69+ sender = self ._sender
70+ sender .nanosecond_precision = True
71+ sender .emit ('foo' , {'bar' : 'baz' })
72+ sender ._close ()
73+ data = self .get_data ()
74+ eq = self .assertEqual
75+ eq (1 , len (data ))
76+ eq (3 , len (data [0 ]))
77+ eq ('test.foo' , data [0 ][0 ])
78+ eq ({'bar' : 'baz' }, data [0 ][2 ])
79+ self .assertTrue (isinstance (data [0 ][1 ], msgpack .ExtType ))
80+ eq (data [0 ][1 ].code , 0 )
81+
6782 def test_no_last_error_on_successful_emit (self ):
6883 sender = self ._sender
6984 sender .emit ('foo' , {'bar' : 'baz' })
You can’t perform that action at this time.
0 commit comments