Module proc_sys_parser::net_dev
source · Expand description
Read data from /proc/net/dev into the struct ProcNetDev.
The documentation for /proc/net/dev is found here: https://www.kernel.org/doc/Documentation/filesystems/proc.txt
Here is an example obtaining the data from /proc/net/dev:
use proc_sys_parser::{net_dev, net_dev::ProcNetDev};
let proc_net_dev = net_dev::read();
println!("{:#?}", proc_net_dev);Example output:
ProcNetDev {
interface: [
InterfaceStats { name: "lo".to_string(), receive_bytes: 0, receive_packets: 0, receive_errors: 0, receive_drop: 0, receive_fifo: 0, receive_frame: 0, receive_compressed: 0, receive_multicast: 0, transmit_bytes: 0, transmit_packets: 0, transmit_errors: 0, transmit_drop: 0, transmit_fifo: 0, transmit_collisions: 0, transmit_carrier: 0, transmit_compressed: 0 },
InterfaceStats { name: "eth0".to_string(), receive_bytes: 151013652, receive_packets: 16736, receive_errors: 0, receive_drop: 0, receive_fifo: 0, receive_frame: 0, receive_compressed: 0, receive_multicast: 0, transmit_bytes: 816228, transmit_packets: 12257, transmit_errors: 0, transmit_drop: 0, transmit_fifo: 0, transmit_collisions: 0, transmit_carrier: 0, transmit_compressed: 0 }
]
}
(edited for readability)
If you want to change the path and/or file that is read for ProcNetDev, which is /proc/net/dev
by default, use:
use proc_sys_parser::{net_dev, net_dev::{ProcNetDev, Builder}};
let proc_net_dev = Builder::new().file_name("/myproc/net/dev").read();Structs§
- Builder pattern for
ProcNetDev - Struct for holding statistics of individual network interfaces
- Struct for holding
/proc/net/devstatistics
Functions§
- The main function for building a
ProcNetDevstruct with current data. This uses the Builder pattern, which allows settings such as the filename to specified.