Spdk/app/spdk_top
Jim Harris d132ee3531 build: use DEPDIRS variables to build SPDK_LIB_LIST
All of our Makefiles duplicate huge lists of libraries
in SPDK_LIB_LIST.  We have a very precise and accurate
accounting of the library dependencies in
mk/spdk.lib_deps.mk which can be used to generate
the full list if the app specifies the modules and
subsystem libraries it wishes to link.

I did a first pass through all of the existing
Makefiles to take advantage of this new functionality.
There may be more optimizations we can make later but
don't want to hold up this patch for all of them.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Icdaf6f749a6908df2c2ce2db22631a4af4ff3a9e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5553
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-12-18 09:40:01 +00:00
..
.gitignore app: Initial patch for spdk_top application 2020-04-22 09:17:14 +00:00
Makefile build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
README spdk_top: Add README file 2020-04-22 19:03:18 +00:00
spdk_top.c app/spdk_top: check NULL pointer after use newwin or new_panel 2020-11-11 01:02:31 +00: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.