3
3
import swsssdk
4
4
import time
5
5
6
+ DEFAULT_SMOOTH_INTERVAL = '10'
7
+ DEFAULT_ALPHA = '0.18'
8
+
6
9
def enable_counter_group (db , name ):
7
10
info = {}
8
11
info ['FLEX_COUNTER_STATUS' ] = 'enable'
9
12
db .mod_entry ("FLEX_COUNTER_TABLE" , name , info )
10
13
14
+ def enable_rates ():
15
+ # set the default interval for rates (N) as 10s, alpha is 2/(N+1)
16
+ counters_db = swsssdk .SonicV2Connector ()
17
+ counters_db .connect ('COUNTERS_DB' )
18
+ counters_db .set ('COUNTERS_DB' , 'RATES:PORT' , 'PORT_SMOOTH_INTERVAL' , DEFAULT_SMOOTH_INTERVAL )
19
+ counters_db .set ('COUNTERS_DB' , 'RATES:PORT' , 'PORT_ALPHA' , DEFAULT_ALPHA )
20
+ counters_db .set ('COUNTERS_DB' , 'RATES:RIF' , 'RIF_SMOOTH_INTERVAL' , DEFAULT_SMOOTH_INTERVAL )
21
+ counters_db .set ('COUNTERS_DB' , 'RATES:RIF' , 'RIF_ALPHA' , DEFAULT_ALPHA )
22
+
23
+
11
24
def enable_counters ():
12
25
db = swsssdk .ConfigDBConnector ()
13
26
db .connect ()
@@ -18,6 +31,7 @@ def enable_counters():
18
31
enable_counter_group (db , 'PG_WATERMARK' )
19
32
enable_counter_group (db , 'QUEUE_WATERMARK' )
20
33
enable_counter_group (db , 'BUFFER_POOL_WATERMARK' )
34
+ enable_rates ()
21
35
22
36
def get_uptime ():
23
37
with open ('/proc/uptime' ) as fp :
@@ -36,3 +50,4 @@ def main():
36
50
37
51
if __name__ == '__main__' :
38
52
main ()
53
+
0 commit comments