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,
48
48
timeout = 3.0 ,
49
49
verbose = False ,
50
50
buffer_overflow_handler = None ,
51
+ nanosecond_precision = False ,
51
52
** kwargs ):
52
53
53
54
self .tag = tag
@@ -57,6 +58,7 @@ def __init__(self,
57
58
self .timeout = timeout
58
59
self .verbose = verbose
59
60
self .buffer_overflow_handler = buffer_overflow_handler
61
+ self .nanosecond_precision = nanosecond_precision
60
62
61
63
self .socket = None
62
64
self .pendings = None
@@ -70,7 +72,10 @@ def __init__(self,
70
72
self ._close ()
71
73
72
74
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 ())
74
79
return self .emit_with_time (label , cur_time , data )
75
80
76
81
def emit_with_time (self , label , timestamp , data ):
Original file line number Diff line number Diff line change 3
3
from __future__ import print_function
4
4
import unittest
5
5
import socket
6
+ import msgpack
6
7
7
8
import fluent .sender
8
9
from tests import mockserver
@@ -64,6 +65,20 @@ def test_simple(self):
64
65
self .assertTrue (data [0 ][1 ])
65
66
self .assertTrue (isinstance (data [0 ][1 ], int ))
66
67
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
+
67
82
def test_no_last_error_on_successful_emit (self ):
68
83
sender = self ._sender
69
84
sender .emit ('foo' , {'bar' : 'baz' })
You can’t perform that action at this time.
0 commit comments