การอ่านสถานะอุปกรณ์

เรามีฟังก์ชันที่เกี่ยวข้องกับการอ่านข้อมูลอุปกรณ์ ซึ่งใช้ในการรับสถานะการทำงานของอุปกรณ์ รวมถึงข้อมูลการทำงานแบบเรียลไทม์ของดิสก์, แบตเตอรี่, CPU, หน่วยความจำ, เครือข่าย และอื่นๆ เพื่อให้คุณสามารถเข้าใจข้อมูลสถานะปัจจุบันของอุปกรณ์ได้อย่างละเอียด

การรับอินสแตนซ์ของ Status

ก่อนที่จะเริ่มในส่วนถัดไป คุณต้องรับอินสแตนซ์ของ Status ก่อน เพื่อให้สามารถดำเนินการในขั้นตอนต่อไปได้ คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับอินสแตนซ์สำหรับอ่านสถานะอุปกรณ์

status = d.stub("Status")

การรับเวลาบูตเครื่อง

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับเวลาบูตเครื่องของอุปกรณ์ปัจจุบัน

status.get_boot_time()
>>> status.get_boot_time()
1234567890

การรับข้อมูลการใช้งานดิสก์

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูลการใช้งานดิสก์ของไดเรกทอรีที่เมาท์ (mount) ไว้โดยเฉพาะ

status.get_disk_usage(mountpoint="/data")
>>> status.get_disk_usage(mountpoint="/data")
disk_total: 117153181696
disk_used: 8111099904
disk_free: 108907864064
disk_percent: 6.900000095367432
>>> result = status.get_disk_usage(mountpoint="/data")
>>> print (result.disk_free)
108907864064

การรับข้อมูลแบตเตอรี่

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูลเกี่ยวกับพลังงานแบตเตอรี่และอุณหภูมิของอุปกรณ์ปัจจุบัน

status.get_battery_info()
>>> status.get_battery_info()
batt_charging: true
batt_percent: 100
batt_temperature: 26.899999618530273
>>> result = status.get_battery_info()
>>> print (result.batt_charging)
True

การรับข้อมูลการใช้งาน CPU

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูล CPU และสถานะการใช้งานของอุปกรณ์ปัจจุบัน

status.get_cpu_info()
>>> status.get_cpu_info()
cpu_percent: 20.799999237060547
cpu_count: 8
cpu_freq_current: 823.2000122070312
cpu_freq_max: 1929.5999755859375
cpu_freq_min: 614.4000244140625
cpu_times_user: 13.699999809265137
cpu_times_system: 5.800000190734863
cpu_times_idle: 79.80000305175781
>>> result = status.get_cpu_info()
>>> print (result.cpu_percent)
20.799999237060547

การรับข้อมูล I/O ของดิสก์

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูลการอ่าน/เขียนดิสก์โดยรวมของอุปกรณ์ปัจจุบัน

status.get_overall_disk_io_info()
>>> status.get_overall_disk_io_info()
disk_io_read_bytes: 11569016832
disk_io_read_count: 917667
disk_io_write_bytes: 6973407232
disk_io_write_count: 909946
disk_io_read_time: 364713
disk_io_write_time: 268013
disk_io_busy_time: 152621
>>> result = status.get_overall_disk_io_info()
>>> print (result.disk_io_write_bytes)
6973407232

การรับข้อมูล I/O ของดิสก์ (userdata)

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูลการอ่าน/เขียนดิสก์ในส่วน userdata ของอุปกรณ์ปัจจุบัน

status.get_userdata_disk_io_info()
>>> status.get_userdata_disk_io_info()
disk_io_read_bytes: 2899529728
disk_io_read_count: 115970
disk_io_write_bytes: 1815506944
disk_io_write_count: 45254
disk_io_read_time: 152239
disk_io_write_time: 120825
disk_io_busy_time: 49127
>>> result = status.get_userdata_disk_io_info()
>>> print (result.disk_io_read_bytes)
2899529728

การรับข้อมูลการรับ/ส่งข้อมูลเครือข่าย

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูลการรับ/ส่งข้อมูลเครือข่ายโดยรวมของอุปกรณ์ปัจจุบัน

status.get_overall_net_io_info()
>>> status.get_overall_net_io_info()
net_io_bytes_sent: 65296119
net_io_packets_sent: 78793
net_io_bytes_recv: 60046396
net_io_packets_recv: 80745
>>> result = status.get_overall_net_io_info()
>>> print (result.net_io_bytes_recv)
60046396

การรับข้อมูลการรับ/ส่งข้อมูลเครือข่าย (อินเทอร์เฟซเฉพาะ)

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูลการรับ/ส่งข้อมูลของอินเทอร์เฟซเครือข่ายที่ระบุของอุปกรณ์ปัจจุบัน

status.get_net_io_info("wlan0")
>>> status.get_net_io_info("wlan0")
net_io_bytes_sent: 36896321
net_io_packets_sent: 59869
net_io_bytes_recv: 58846862
net_io_packets_recv: 66759
>>> result = status.get_net_io_info("wlan0")
>>> print (result.net_io_bytes_recv)
58846862

การรับข้อมูลการใช้งานหน่วยความจำ

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อรับข้อมูลการใช้งานหน่วยความจำของอุปกรณ์ปัจจุบัน

status.get_mem_info()
>>> status.get_mem_info()
mem_total: 7823970304
mem_available: 3208761344
mem_percent: 59.0
mem_used: 4327931904
mem_free: 298639360
mem_active: 3535876096
mem_inactive: 1634873344
mem_buffers: 4243456
mem_cached: 3193155584
mem_shared: 34979840
mem_slab: 426651648
>>> result = status.get_mem_info()
>>> print (result.mem_total)
7823970304