Spdk/scripts
GangCao e28e247954 RPC/Bdev: display the per channel IO statistics for required Bdev
Add a new parameter "-c" to display the per channel IO statistics
for required Bdev

./scripts/rpc.py bdev_get_iostat -b Malloc0 -h
usage: rpc.py [options] bdev_get_iostat [-h] [-b NAME] [-c]

optional arguments:
  -h, --help            show this help message and exit
  -b NAME, --name NAME  Name of the Blockdev. Example: Nvme0n1
  -c, --per-channel     Display per channel IO stats for specified device

This could give more intuitive information on each channel's processing
of the IOs with the associated thread on the same Bdev.

Please also be aware that the IO statistics are collected from SPDK
thread's related channel's information. So that it is more relating
to the SPDK thread. And in the dynamic scheduling case, different
SPDK thread could be running on the same Core.

In this case, any seperate channel's IO statistics are returned to
the RPC call and if needed, further parse of the data is needed to
get the per Core information although usually there is one thread
per Core.

On the other hand, user could run the framework_get_reactors RPC
method to get the relationship of the thread and CPU Cores so as
to get the precise information of IO runnings on each thread and
each Core for the same Bdev.

Change-Id: I39d6a2c9faa868e3c1d7fd0fb6e7c020df982585
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13011
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
2022-10-28 06:51:19 +00:00
..
bash-completion trace: update trace help inside SPDK target 2022-09-27 19:41:17 +00:00
bpf bpf: avoid "BEGIN {" being commented out 2022-09-26 11:51:02 +00:00
ceph spelling: scripts 2021-12-03 08:13:04 +00:00
perf scripts/perf_nvmf: fix Kernel Initiator regex issue 2022-09-23 10:03:33 +00:00
pkgdep pkgdep: bump liburing to v2.2 2022-10-03 08:43:53 +00:00
vagrant autobuild: tiny version 2022-10-17 10:50:40 +00:00
ar-xnvme-fixer test: Enable xnvme in autotest builds 2022-08-29 11:40:08 +00:00
arm_cross_compile.sh scripts: ARM64 Cross-Compilation Support 2021-09-09 20:26:59 +00:00
bpftrace.sh scripts/bpftrace: use SO names in bpftrace scripts 2021-10-20 23:39:59 +00:00
check_format.sh check_format: Update a hint for Darwin tools 2022-10-19 07:47:58 +00:00
common.sh scripts/common: Adjust handling of the pciconf output under FreeBSD 13.x 2022-06-10 07:56:27 +00:00
core-collector.sh test/common: don't specify output dir for core_pattern in command line 2022-06-08 17:29:08 +00:00
detect_cc.sh check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
dpdk_mem_info.py scripts/dpdk_mem_info: fix line break during print 2022-09-27 06:27:41 +00:00
eofnl scripts/check_format: check trailing whitespace 2017-10-24 17:35:23 -04:00
fio-wrapper scripts/fio-wrapper: Simplify check for bdev devices 2022-07-18 13:00:17 +00:00
gdb_macros.py scripts: Fix a clerical error in gdb_macros.py 2022-10-13 13:51:21 +00:00
gen_ftl.sh check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
gen_nvme.sh scripts/gen_nvme: Add option to define number of local bdevs to use 2022-07-28 06:56:05 +00:00
genconfig.py genconfig.py: allow numbers in config option names 2020-02-20 14:40:19 +00:00
get-pmr pkgdep/git: Bump vanilla qemu to v6.0.0 2021-05-11 11:51:01 +00:00
histogram.py histograms: add script for parsing histogram data 2019-01-24 14:14:32 +00:00
iostat.py scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
lspci scripts/rpc: option to format framework_get_pci_devices for use with lspci 2021-12-14 09:08:59 +00:00
pc_libs.sh build: generate pkg-config files for SPDK 2021-01-21 09:46:32 +00:00
pc_modules.sh build: generate pkg-config files for SPDK 2021-01-21 09:46:32 +00:00
pc.sh configure: Allow to define custom libdir location 2022-07-04 07:25:39 +00:00
pkgdep.sh scripts/pkgdep.sh: install DAOS bdev build dependencies 2022-06-21 07:53:12 +00:00
posix.txt build: Automatically detect use of POSIX includes 2017-05-08 13:20:37 -07:00
prep_benchmarks.sh check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
qat_setup.sh qat_setup: Don't use absolute path to igb_uio driver 2021-12-02 08:08:10 +00:00
rpc_http_proxy.py scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
rpc.py RPC/Bdev: display the per channel IO statistics for required Bdev 2022-10-28 06:51:19 +00:00
rxe_cfg_small.sh test/nvmf: Use rxe_cfg to get rxe-enabled net devices 2021-04-12 09:41:20 +00:00
setup.sh scripts/setup: Always cleanup target directories 2022-10-27 09:24:38 +00:00
sma-client.py sma: loading out-of-tree plugins in sma-client 2022-05-18 07:24:06 +00:00
sma.py sma: initial crypto definitions 2022-09-19 19:43:35 +00:00
spdk-gpt.py scripts/spdk-gpt: Fix path lookup of the target device 2022-01-25 08:13:40 +00:00
spdkcli.py scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
spdx.sh Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
sync_dev_uevents.sh scripts/sync_dev_uevents: Adjust termination of the udevadm 2022-10-27 09:24:17 +00:00