Show Interface Bit Rate Statistics
Problem this snippet solves:
Here's a way to monitor a specified interface's bits-in and bits-out stats using a custom tmsh script.
Code :
cli script intStats {
proc getFeedback { question } {
puts -nonewline $question
flush stdout
return [gets stdin]
}
proc script::run {} {
tmsh::clear_screen
if { $tmsh::argc == 1 } {
set int [getFeedback "Please enter the interface number (ie, 1.1): "]
} else {
set int [lindex $tmsh::argv 1]
}
set l1 []
set l2 []
set interval [getFeedback "Please enter refresh rate for the stats (in seconds): "]
set delay [expr $interval * 1000]
lappend l1 [lindex [lindex [split [tmsh::show net interface $int raw field-fmt] "\n"] 1] 1]
lappend l1 [lindex [lindex [split [tmsh::show net interface $int raw field-fmt] "\n"] 2] 1]
while { true } {
after $delay
lappend l2 [lindex [lindex [split [tmsh::show net interface $int raw field-fmt] "\n"] 1] 1]
lappend l2 [lindex [lindex [split [tmsh::show net interface $int raw field-fmt] "\n"] 2] 1]
tmsh::clear_screen
set statsIn [expr ([lindex $l2 0] - [lindex $l1 0]) / $interval]
set statsOut [expr ([lindex $l2 1] - [lindex $l1 1]) / $interval]
puts "Interface\t\tInbound (bps)\t\tOutbound (bps)"
puts "$int\t\t\t$statsIn\t\t\t$statsOut"
set l1 $l2
unset l2
}
}
}Published Mar 10, 2015
Version 1.0CodeCentral_194
Cirrostratus
Joined May 05, 2019
CodeCentral_194
Cirrostratus
Joined May 05, 2019
No CommentsBe the first to comment