[pve-devel] r5666 - in pve-common/trunk/data: . PVE

svn-commits at proxmox.com svn-commits at proxmox.com
Wed Mar 9 12:49:59 CET 2011


Author: dietmar
Date: 2011-03-09 12:49:59 +0100 (Wed, 09 Mar 2011)
New Revision: 5666

Modified:
   pve-common/trunk/data/ChangeLog
   pve-common/trunk/data/PVE/ProcFSTools.pm
Log:
implement helper to read /proc/net/dev


Modified: pve-common/trunk/data/ChangeLog
===================================================================
--- pve-common/trunk/data/ChangeLog	2011-03-09 11:32:53 UTC (rev 5665)
+++ pve-common/trunk/data/ChangeLog	2011-03-09 11:49:59 UTC (rev 5666)
@@ -1,5 +1,7 @@
 2011-03-09  Proxmox Support Team  <support at proxmox.com>
 
+	* PVE/ProcFSTools.pm (read_proc_net_dev): first impl.
+
 	* PVE/Tools.pm (df): implement interruptible version of 'df'
 	(workd with timeout on NFS)
 

Modified: pve-common/trunk/data/PVE/ProcFSTools.pm
===================================================================
--- pve-common/trunk/data/PVE/ProcFSTools.pm	2011-03-09 11:32:53 UTC (rev 5665)
+++ pve-common/trunk/data/PVE/ProcFSTools.pm	2011-03-09 11:49:59 UTC (rev 5666)
@@ -196,4 +196,25 @@
     return $res;
 }
 
+sub read_proc_net_dev {
+
+    my $res = {};
+
+    my $fh = IO::File->new ("/proc/net/dev", "r");
+    return $res if !$fh;
+
+    while (defined (my $line = <$fh>)) {
+	if ($line =~ m/^\s*(.*):\s*(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)\s+/) {
+	    $res->{$1} = {
+		receive => $2,
+		transmit => $3,
+	    };
+	}
+    }
+
+    close($fh);
+
+    return $res;
+}
+
 1;



More information about the pve-devel mailing list