File tree Expand file tree Collapse file tree 2 files changed +13
-17
lines changed
Expand file tree Collapse file tree 2 files changed +13
-17
lines changed Original file line number Diff line number Diff line change 1111from . import utils
1212
1313from . import scheduler
14- from .web import routes as route
14+ from .web import (
15+ routes as route ,
16+ qps as web_qps
17+ )
1518from aiohttp import web
1619
1720@dataclass
@@ -39,7 +42,7 @@ class SystemInfo:
3942 memory_usage : int
4043 connection : ConnectionStatistics
4144 clusters : list [ClusterInfo ]
42- qps : 'WebValue'
45+ qps : int
4346
4447@dataclass
4548class CounterValue :
@@ -69,20 +72,10 @@ def get_json(self):
6972 "tcp" : item .value .connection .tcp ,
7073 "udp" : item .value .connection .udp ,
7174 },
72- "qps" : item .value .qps . qps
75+ "qps" : item .value .qps
7376 }} for item in self ._data
7477 ]
7578
76- @dataclass
77- class WebValue :
78- qps : int = 0
79-
80- def clone (self ):
81- return WebValue (
82- self .qps
83- )
84-
85- qps = WebValue ()
8679counter = Counter ()
8780process = psutil .Process (os .getpid ())
8881
@@ -116,6 +109,7 @@ async def _(request: web.Request):
116109route .static ("/assets" , "./assets" )
117110
118111def record ():
112+ global web_qps
119113 memory = process .memory_info ()
120114 connection = process .connections ()
121115 stats = SystemInfo (
@@ -126,9 +120,9 @@ def record():
126120 udp = len ([c for c in connection if c .type == socket .SOCK_DGRAM ])
127121 ),
128122 clusters = [],
129- qps = qps . clone ()
123+ qps = web_qps
130124 )
131- qps . qps -= stats . qps .qps
125+ web_qps -= stats .qps
132126 counter .add (stats )
133127
134128async def init ():
Original file line number Diff line number Diff line change 88from aiohttp import web
99from aiohttp .web_urldispatcher import SystemRoute
1010
11- from . import dashboard
1211from . import units
1312from . import config
1413from .logger import logger
1514import ssl
1615
16+ qps : int = 0
17+
1718class SNIHelper :
1819 def __init__ (self , data : bytes ) -> None :
1920 self .buffer = io .BytesIO (data )
@@ -45,7 +46,8 @@ def get_sni(self):
4546
4647@web .middleware
4748async def middleware (request : web .Request , handler : Any ) -> web .Response :
48- dashboard .qps .qps += 1
49+ global qps
50+ qps += 1
4951 with request .match_info .set_current_app (app ):
5052 address = request .remote or ""
5153 try :
You can’t perform that action at this time.
0 commit comments