numam-spdk/app/spdk_top
yidong0635 80d7bc3060 app/spdk_top: Include header file by case.
For compatible on different OS, need to using __has_include.
And this can't be simplified.

ncurses file is different on openSUSE.

Fixes issue #1400.

Signed-off-by: yidong0635 <dongx.yi@intel.com>
Change-Id: I612e7c37d054da90206499bcdfe8cc06cd8cc360
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2638
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-05-28 07:14:17 +00:00
..
.gitignore app: Initial patch for spdk_top application 2020-04-22 09:17:14 +00:00
Makefile spdk_top: Add sorting option to spdk_top 2020-04-22 09:17:14 +00:00
README spdk_top: Add README file 2020-04-22 19:03:18 +00:00
spdk_top.c app/spdk_top: Include header file by case. 2020-05-28 07:14:17 +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.