diff --git a/lib/bdev/rpc/bdev_rpc.c b/lib/bdev/rpc/bdev_rpc.c index c49ba7ebf..1c80fb3b0 100644 --- a/lib/bdev/rpc/bdev_rpc.c +++ b/lib/bdev/rpc/bdev_rpc.c @@ -31,6 +31,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "spdk/env.h" #include "spdk/log.h" #include "spdk/rpc.h" #include "spdk/string.h" @@ -75,6 +76,20 @@ spdk_rpc_get_bdevs_iostat_cb(struct spdk_bdev *bdev, spdk_json_write_name(w, "num_write_ops"); spdk_json_write_uint64(w, stat->num_write_ops); + spdk_json_write_name(w, "read_latency_ticks"); + spdk_json_write_uint64(w, stat->read_latency_ticks); + + spdk_json_write_name(w, "write_latency_ticks"); + spdk_json_write_uint64(w, stat->write_latency_ticks); + + if (spdk_bdev_get_qd_sampling_period(bdev)) { + spdk_json_write_name(w, "queue_depth_polling_period"); + spdk_json_write_uint64(w, spdk_bdev_get_qd_sampling_period(bdev)); + + spdk_json_write_name(w, "queue_depth"); + spdk_json_write_uint64(w, spdk_bdev_get_qd(bdev)); + } + spdk_json_write_object_end(w); } @@ -153,6 +168,11 @@ spdk_rpc_get_bdevs_iostat(struct spdk_jsonrpc_request *request, spdk_json_write_array_begin(w); + spdk_json_write_object_begin(w); + spdk_json_write_name(w, "tick_rate"); + spdk_json_write_uint64(w, spdk_get_ticks_hz()); + spdk_json_write_object_end(w); + if (bdev != NULL) { stat = calloc(1, sizeof(struct spdk_bdev_io_stat)); if (stat == NULL) {