Commit Graph

25 Commits

Author SHA1 Message Date
Maxim Sobolev
d065b3eb9e In the endless batch mode (-B), terminate if and when stdout is closed.
That mode is useful to call gstat from other app, however kinda useless
since gstat won't exit and stay running forever when its parent process
has long gone.

MFC after:	2 weeks
2020-08-24 16:45:23 +00:00
Marcelo Araujo
0b9079bf95 - Add CSV output to gstat via -C flag.
Add a -C option, similar to -B, that allows gstat to produce basic CSV output
with absolute timestamps (ISO 8601, nearly.) Multiple devices are handled by
way of a single-pivot CSV table with duplicated timestamps for each object
output.

Submitted by:	Nick Principe <nap__ixsystems.com>
Reviewed by:	myself, imp@, asomers (earlier verison), bcr (manpages)
Sponsored by:	iXsystems Inc.
Differential Revision:	https://reviews.freebsd.org/D16151
2018-08-21 11:22:49 +00:00
Pedro F. Giffuni
1de7b4b805 various: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.
2017-11-27 15:37:16 +00:00
Marcelo Araujo
712a6ae66e Add flag -B which does the same like batch mode but without exiting after
print. Also add a new flag -s that add blocks size to statistics.

PR:		198347, 212726
Submitted by:	Ben RUBSON <ben.rubson@gmail.com>
Tested by:	pi
MFC After:	2 weeks.
2016-11-09 07:31:39 +00:00
Alan Somers
3185f0f02b Fix gstat's interactive f and q commands
curses and libedit don't play well together. After last year's libedit
upgrade in head, they play even less well together. This change resets some
curses settings after they get screwed up by libedit calls. Without it,
gstat's interactive commands require an extra "enter", screw up the terminal
on exit, and screw up the display if the user enters an invalid filter
string.

PR:		204852
Submitted by:	Keith White
Reviewed by:	pfg
Approved by:	re (gjb)
MFC after:	4 weeks
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D6934
2016-06-23 23:13:14 +00:00
Xin LI
2d0fc14c63 Use strlcpy() in favor of strncpy() as it's defined to have a nul character
at the end of string buffer, and the code context do expects this to behave
correctly (e.g. strchr).

Note that we do not believe there is real-world impact for gstat(8)'s usage
because the strings are length checked, and the on-stack buffer belongs to
main() and we can expect to have zeros in them.

MFC after:	2 weeks
2015-09-11 06:52:57 +00:00
Xin LI
f7317857be Add an option, -p, which makes gstat(8) to only display physical providers
(those with rank of 1).

MFC after:	2 weeks
2014-07-03 21:48:19 +00:00
Alexander Motin
16f6e71505 Add -o option to gstat to display "other" operatins (e.g. BIO_FLUSH).
MFC after:	1 week
2014-05-17 15:26:08 +00:00
Maxim Konovalov
62bc2068ec o Turn the batch mode on if stdout is not tty.
Submitted by:	vsevolod
MFC after:	1 week
2009-03-12 13:17:46 +00:00
Ulf Lilleengen
a0312e48c1 - Allow gstat to print values to different kind of outputs.
- Introduce batch mode, where gstat will collect the numbers, print them, and
  exit.
- Document batch mode in the gstat man page.

Submitted by:	anders
2008-10-07 10:25:27 +00:00
Poul-Henning Kamp
0c5de885eb When the ms/req fields exceed 1 second, drop the fractions to fit more digits.
This is unfortunately necessary with some flash based devices which can
get hundreds of seconds behind with softupdates enabled.
2008-01-06 12:12:44 +00:00
Dag-Erling Smørgrav
c8113770e8 Deterministically set the default refresh interval to one second.
Approved by:	phk
MFC after:	1 week
2007-03-29 07:23:49 +00:00
Simon L. B. Nielsen
711385c9d0 - Add support for filtering the the list of providers by a regular
expression, which makes it possible to only see interesting
  providers.  "f" is used inside gstat to set a filter, "F" is used to
  remove current filter.
- Do not print some uninteresting values in the gstat title line.
- Do not print past the end of the screen.
- Read multiple keystrokes per "wait" when gstat is running.
- Remove a redundant != check, right after check of NULL against the
  same variable ("gid").
- Use sysexits.h.
- Do not link against libkvm and libsbuf, they are not actually used.
- Fix a few style(9) issues where I had to touch nearby code anyway.

Approved by:	cperciva (mentor)
MFC after:	2 weeks
2006-05-20 19:17:47 +00:00
Lukas Ertl
4c985f4a06 Add forgotten -a to the usage() message. 2005-01-05 18:41:54 +00:00
Lukas Ertl
be75dba724 Add an '-a' switch to only display providers that are at least
0.1% busy.

OK'ed by:  phk
2004-10-10 16:13:11 +00:00
Ruslan Ermilov
0c436cdf34 Added forgotten -d to the usage(). 2004-06-04 19:29:09 +00:00
Stefan Farfeleder
a752604477 Remove spurious semicolons. Outside of functions they are actually errors but
GCC doesn't warn about them without -pedantic.

Approved by:	das (mentor)
PR:		56649
Reviewed by:	md5
2004-05-16 22:08:17 +00:00
Matthew N. Dodd
8ebcdbf707 Correct a typo in column header.
Submitted by:	 phk
Obtained from:	 BSDCan
2004-05-15 16:06:59 +00:00
John Baldwin
ccac9da43b Make libgeom usable by C++ programs:
- Add DECL wrappers to libgeom.h.
- Rename structure members in libgeom.h to use a lg_ prefix for member
  names.  This is required because a few structures had members named
  'class' which made g++ very unhappy.
- Catch gstat(8) and gconcat(8) up to these API changes.

Reviewed by:	phk
2004-03-09 21:14:18 +00:00
Poul-Henning Kamp
fbbe961c41 Add -d flag to monitor BIO_DELETE operations too 2004-02-15 09:34:08 +00:00
Giorgos Keramidas
6bf611a72d Make -c only set flag_c and not a toggle. With flag_c disabled by
default, this makes the behavior of gstat more predictable when -c is
specified multiple times on the command line.
2003-03-22 09:47:02 +00:00
Giorgos Keramidas
ab42be1fbf Add & use a usage() function. 2003-03-22 09:39:52 +00:00
Giorgos Keramidas
4fe8c1b67b Add error and range checking to strtoul() to avoid ending up with a
delay time of ULONG_MAX when -I is passed a non-numeric arg.
2003-03-22 09:23:29 +00:00
Giorgos Keramidas
dfb085cc35 Call endwin() to restore terminal state just before exiting.
Approved by:	phk
2003-03-21 09:34:23 +00:00
Poul-Henning Kamp
54a8adabd3 Add a rudimentary gstat(8) to the system.
This is a small curses based program which shows the diskactivity
inside GEOM.
2003-03-20 20:48:41 +00:00