nl_tokens: NOTE : borrowed / modifed from https : // github . com / soldair / node - procfs - stats / blob / feca2a940805b31f9e7d5c0bd07c4e3f8d3d5303 / index . js#L343 TODO : more cleaning rename the one char variables to something more expressive
pl_tokens: function _parseProcNetDev ( ) { var buf = fs . readFileSync ( '/proc/net/dev' ) ; var lines = buf . toString ( ) . trim ( ) . split ( '\n' ) ; var sections = lines . shift ( ) . split ( '|' ) ; var columns = lines . shift ( ) . trim ( ) . split ( '|' ) ; var s ; var l ; var c ; var p = 0 ; var map = { } ; var keys = [ ] ; for ( var i = 0 ; i < sections . length ; ++ i ) { s = sections [ i ] . trim ( ) ; l = <mask> [ i ] . length ; c = columns [ i ] . trim ( ) . split ( / \s+ / g ) ; while ( c . length ) { map [ keys . length ] = s ; keys . push ( c . shift ( ) ) ; } p += s . length + 1 ; } var retObj = { } ; lines . forEach ( function ( l ) { l = l . trim ( ) . split ( / \s+ / g ) ; var o = { } ; var iface ; for ( var i = 0 ; i < l . length ; ++ i ) { var s = map [ i ] ; //case for the Interface if ( s . indexOf ( '-' ) === s . length - 1 ) { iface = l [ i ] . substr ( 0 , l [ i ] . length - 1 ) ; //case for everything else } else { if ( ! o [ keys [ i ] ] ) { o [ keys [ i ] . toLowerCase ( ) ] = { } ; } o [ keys [ i ] . toLowerCase ( ) ] [ s . toLowerCase ( ) ] = l [ i ] ; } } retObj [ iface ] = o ; } ) ; return retObj ; }