Hi All,

I am trying to get guest VM's disk statistics using a libvirt python library as follows:
---
raw_xml = domain.XMLDesc(0)
for disk in doc.getElementsByTagName('disk'):
  disk_data = disk.getElementsByTagName('target')
---

The above code is yielding the following stats for two disks inside the VM:
--
disk_name=sda read_req=34137,read_bytes=445358592,write_req=2405970,write_bytes=24943391744
disk_name=sdb read_req=34357,read_bytes=450754048,write_req=2405984,write_bytes=24943465472
---

The write_bytes divided by 1024 yields 24358853 kB.
But when I compare the above statistics from the iostat data shown from inside the VM, I see a stark difference between the two results as shown below:

---
root@sample:~# iostat
Linux 4.15.0-101-generic (sample) 12/21/2022 _x86_64_ (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.27    0.00    0.03    0.02    0.01   99.68

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.24         0.04        11.87     400052  121844120
sdb               0.00         0.00         1.19       5269   12223752
----

Why is there a huge difference in the number of bytes read and written for the two disks as reported by libvirt ?  Please explain.

Thanks
Kumar