Spdk/app/spdk_top
Michael Piszczek a23359be22 spdk_top: fixed incorrect poller stats when pollers are duplicated
Issue: spdk_top tracked pollers by the poller name string and the
thread_id they are running on. This shows incorrect stats when
multiple pollers exist on the same thread with the same name.
Solution: Updated spdk_top to track pollers by thread_id and
poller_id.

Signed-off-by: Michael Piszczek <mpiszczek@ddn.com>
Change-Id: Ifd4a286d1982659c71f1f5410de53103257cef2b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9096
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
2022-06-30 13:32:27 -04:00
..
.gitignore app: Initial patch for spdk_top application 2020-04-22 09:17:14 +00:00
Makefile ARM64: Cross-Compilation Support 2021-07-13 08:58:42 +00:00
README spdk_top: Add README file 2020-04-22 19:03:18 +00:00
spdk_top.c spdk_top: fixed incorrect poller stats when pollers are duplicated 2022-06-30 13:32:27 -04:00

Contents
========

- Overview
- Installation
- Usage


Overview
========

This application provides SPDK live statistics regarding usage of cores,
threads, pollers, execution times, and relations between those. All data
is being gathered from SPDK by calling appropriate RPC calls. Application
consists of three selectable tabs providing statistics related to three
main topics:

- Threads
- Pollers
- Cores


Installation
============

spdk_top requires Ncurses library (can by installed by running
spdk/scripts/pkgdep.sh) and is compiled by default when SPDK compiles.



Usage
=====

To run spdk_top:

sudo spdk_top [options]

options:
 -r <path>  RPC listen address (optional, default: /var/tmp/spdk.sock)
 -h         show help message

Application consists of:
- Tabs list (on top)
- Statistics window (main windows in the middle)
- Options window (below statistics window)
- Page indicator / Error status

Tabs list shows available tabs and highlights currently selected tab.
Statistics window displays current statistics. Available statistics
depend on which tab is currently selected. All time and run counter
related statistics are relative - show elapsed time / number of runs
since previous data refresh. Options windows provide hotkeys list
to change application settings. Available options are:

- [q] Quit - quit the application
- [1-3] TAB selection - select tab to be displayed
- [PgUp] Previous page - go to previous page
- [PgDown] Next page - go to next page
- [c] Columns - select which columns should be visible / hidden:
  Use arrow up / down and space / enter keys to select which columns
  should be visible. Select 'CLOSE' to confirm changes and close
  the window.
- [s] Sorting - change data sorting:
  Use arrow up / down to select based on which column data should be
  sorted. Use enter key to confirm or esc key to exit without
  changing current sorting scheme.
- [r]  Refresh rate - change data refresh rate:
  Enter new data refresh rate value. Refresh rate accepts value
  between 0 and 255 seconds. Use enter key to apply or escape key
  to cancel.

Page indicator show current data page. Error status can be displayed
on bottom right side of the screen when the application encountered
an error.