12
12
# See the License for the specific language governing permissions and
13
13
# limitations under the License.
14
14
15
- import time
16
-
17
15
import hathor
18
16
from hathor .api_util import Resource , set_cors
19
17
from hathor .cli .openapi_files .register import register_resource
@@ -34,11 +32,14 @@ class StatusResource(Resource):
34
32
def __init__ (self , manager ):
35
33
self ._settings = get_settings ()
36
34
self .manager = manager
35
+ self .reactor = manager .reactor
37
36
38
37
def render_GET (self , request ):
39
38
request .setHeader (b'content-type' , b'application/json; charset=utf-8' )
40
39
set_cors (request , 'GET' )
41
40
41
+ now = self .reactor .seconds ()
42
+
42
43
connecting_peers = []
43
44
# TODO: refactor as not to use a private item
44
45
for endpoint , deferred in self .manager .connections .connecting_peers .items ():
@@ -53,7 +54,7 @@ def render_GET(self, request):
53
54
handshaking_peers .append ({
54
55
'address' : '{}:{}' .format (remote .host , remote .port ),
55
56
'state' : conn .state .state_name ,
56
- 'uptime' : time . time () - conn .connection_time ,
57
+ 'uptime' : now - conn .connection_time ,
57
58
'app_version' : conn .app_version ,
58
59
})
59
60
@@ -65,12 +66,13 @@ def render_GET(self, request):
65
66
connected_peers .append ({
66
67
'id' : conn .peer .id ,
67
68
'app_version' : conn .app_version ,
68
- 'uptime' : time .time () - conn .connection_time ,
69
+ 'current_time' : now ,
70
+ 'uptime' : now - conn .connection_time ,
69
71
'address' : '{}:{}' .format (remote .host , remote .port ),
70
72
'state' : conn .state .state_name ,
71
73
# 'received_bytes': conn.received_bytes,
72
74
'rtt' : list (conn .state .rtt_window ),
73
- 'last_message' : time . time () - conn .last_message ,
75
+ 'last_message' : now - conn .last_message ,
74
76
'plugins' : status ,
75
77
'warning_flags' : [flag .value for flag in conn .warning_flags ],
76
78
'protocol_version' : str (conn .sync_version ),
@@ -82,6 +84,7 @@ def render_GET(self, request):
82
84
known_peers .append ({
83
85
'id' : peer .id ,
84
86
'entrypoints' : peer .entrypoints ,
87
+ 'last_seen' : now - peer .last_seen ,
85
88
'flags' : [flag .value for flag in peer .flags ],
86
89
})
87
90
@@ -103,7 +106,7 @@ def render_GET(self, request):
103
106
'app_version' : app ,
104
107
'state' : self .manager .state .value ,
105
108
'network' : self .manager .network ,
106
- 'uptime' : time . time () - self .manager .start_time ,
109
+ 'uptime' : now - self .manager .start_time ,
107
110
'entrypoints' : self .manager .connections .my_peer .entrypoints ,
108
111
},
109
112
'peers_whitelist' : self .manager .peers_whitelist ,
0 commit comments