| 
									
										
										
										
											2019-10-31 18:22:57 -07:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Reports network bandwidth usage | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | set -e | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | usage() { | 
					
						
							| 
									
										
										
										
											2019-11-12 15:48:46 -08:00
										 |  |  |   echo "Usage: $0 <iftop log file> <temp file for interediate data> [optional list of IP address mapping]" | 
					
						
							| 
									
										
										
										
											2019-10-31 18:22:57 -07:00
										 |  |  |   echo | 
					
						
							|  |  |  |   echo Processes iftop log file, and extracts latest bandwidth used by each connection | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ "$#" -lt 2 ]; then | 
					
						
							|  |  |  |   usage | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cd "$(dirname "$0")" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | awk '{ if ($3 ~ "=>") { print $2, $7 } else if ($2 ~ "<=") { print $1, $6 }} ' < "$1" \
 | 
					
						
							|  |  |  |   | awk 'NR%2{printf "%s ",$0;next;}1' \
 | 
					
						
							|  |  |  |   | awk '{ print "{ \"a\": \""$1"\", " "\"b\": \""$3"\", \"a_to_b\": \""$2"\", \"b_to_a\": \""$4"\"}," }' > "$2" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-12 15:48:46 -08:00
										 |  |  | if [ "$#" -lt 3 ]; then | 
					
						
							| 
									
										
										
										
											2019-11-01 14:48:23 -07:00
										 |  |  |   solana-log-analyzer iftop -f "$2" | 
					
						
							| 
									
										
										
										
											2019-10-31 18:22:57 -07:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2019-11-12 15:48:46 -08:00
										 |  |  |   list=$(cat "$3") | 
					
						
							|  |  |  |   solana-log-analyzer iftop -f "$2" map-IP --list "$list" | 
					
						
							| 
									
										
										
										
											2019-10-31 18:22:57 -07:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit 1 |