summaryrefslogtreecommitdiff
path: root/lib/libdevstat/devstat.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert r330897:Eitan Adler2018-03-291-3/+1
| | | | | | | | | | | | | | | | | | | | This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code. Revert with prejudice. This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes. Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes. Requested by: gjb (re) Notes: svn path=/stable/11/; revision=331722
* Partial merge of the SPDX changesEitan Adler2018-03-141-1/+3
| | | | | | | | | | These changes are incomplete but are making it difficult to determine what other changes can/should be merged. No objections from: pfg Notes: svn path=/stable/11/; revision=330897
* New devstat metrics for devstat_compute_statistics():Mikolaj Golub2012-12-151-0/+6
| | | | | | | | | | | | DSM_TOTAL_DURATION DSM_TOTAL_DURATION_READ DSM_TOTAL_DURATION_WRITE DSM_TOTAL_DURATION_FREE DSM_TOTAL_DURATION_OTHER DSM_TOTAL_BUSY_TIME Notes: svn path=/head/; revision=244270
* The devstat(3) manpage claims that only <devstat.h> is needed as aJohn Baldwin2008-01-311-0/+1
| | | | | | | | | | | | prerequisite for using this interface. However, the 'statinfo' struct actually references CPUSTATES from <sys/resource.h>, so in fact it requires <sys/resource.h> to compile. Use a nested include of <sys/resource.h> to make the code match the docs. Reported by: Pietro Cerutti gahr | gahr.ch Notes: svn path=/head/; revision=175861
* Bump the shared library version number of all libraries that have notKen Smith2005-07-221-1/+1
| | | | | | | | | | been bumped since RELENG_5. Reviewed by: ru Approved by: re (not needed for commit check but in principle...) Notes: svn path=/head/; revision=148297
* ARGH!Poul-Henning Kamp2003-03-181-3/+3
| | | | | | | Pointy hat to: phk Notes: svn path=/head/; revision=112381
* Commit ken@' changes to this file: Bump version and append new entriesPoul-Henning Kamp2003-03-181-9/+9
| | | | | | | to stay backwards compatible. Notes: svn path=/head/; revision=112380
* Add more devstat calculations, mostly filling in holes, but also addingPoul-Henning Kamp2003-03-181-2/+13
| | | | | | | | | | | | | a couple of reqests: DSM_BUSY_PCT and DSM_QUEUE_LENGTH. I have no further plans for mutilating this API at this point in time, and will update the man-page to reflect current reality as the next thing. Reviewed by: ken Notes: svn path=/head/; revision=112373
* Run a revision of the devstat interface:Poul-Henning Kamp2003-03-151-27/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel: Change statistics to use the *uptime() timescale (ie: relative to boottime) rather than the UTC aligned timescale. This makes the device statistics code oblivious to clock steps. Change timestamps to bintime format, they are cheaper. Remove the "busy_count", and replace it with two counter fields: "start_count" and "end_count", which are updated in the down and up paths respectively. This removes the locking constraint on devstat. Add a timestamp argument to devstat_start_transaction(), this will normally be a timestamp set by the *_bio() function in bp->bio_t0. Use this field to calculate duration of I/O operations. Add two timestamp arguments to devstat_end_transaction(), one is the current time, a NULL pointer means "take timestamp yourself", the other is the timestamp of when this transaction started (see above). Change calculation of busy_time to operate on "the salami principle": Only when we are idle, which we can determine by the start+end counts being identical, do we update the "busy_from" field in the down path. In the up path we accumulate the timeslice in busy_time and update busy_from. Change the byte_* and num_* fields into two arrays: bytes[] and operations[]. Userland: Change the misleading "busy_time" name to be called "snap_time" and make the time long double since that is what most users need anyway, fill it using clock_gettime(CLOCK_MONOTONIC) to put it on the same timescale as the kernel fields. Change devstat_compute_etime() to operate on struct bintime. Remove the version 2 legacy interface: the change to bintime makes compatibility far too expensive. Fix a bug in systat's "vm" page where boot relative busy times would be bogus. Bump __FreeBSD_version to 500107 Review & Collaboration by: ken Notes: svn path=/head/; revision=112288
* Turn on WARNS?= 2 for libdevstat.Kenneth D. Merry2001-09-231-1/+1
| | | | | | | Submitted by: "Sergey A. Osokin" <osa@freebsd.org.ru> Notes: svn path=/head/; revision=83868
* Implement compute_stats() in terms of devstat_compute_statistics(). ThisKenneth D. Merry2001-08-181-0/+1
| | | | | | | | | | | | | | gets rid of the duplicated code in compute_stats(). Add a new DSM_SKIP statistic type for devstat_compute_statistics() that causes the subsequent variable argument to be skipped. Thanks to Sergey Osokin for coding up my idea/code fragment. Submitted by: "Sergey A. Osokin" <osa@freebsd.org.ru> Notes: svn path=/head/; revision=81883
* Add some features to libdevstat, and overhaul the interface a bit:Thomas Moestl2001-08-041-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | 1.) prefix all functions in the library with devstat_ (compatability functions are available for all functions that were chaned in an incompatible way, but are deprecated). 2.) Add a pointer to a kvm_t as the first argument to functions that used to get their information via sysctl; they behave the same as before when NULL is passed as this argument, otherwise, the information is obtained via libkvm using the supplied handle. 3.) Add a new function, devstat_compute_statistics(), that is intended to replace the old compute_stats() function. It offers more statistics data, and has a more flexible interface. libdevstat does now require libkvm; a library depedency is added, so that libkvm only needs to be explicitely specified for statically linked programs. The library major version number is bumped. Submitted by: Sergey A. Osokin <osa@freebsd.org.ru>, ken (3) Reviewed by: ken Notes: svn path=/head/; revision=81133
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50476
* Change the devstat generation number from an int to a long. The int-sizedKenneth D. Merry1998-09-201-5/+5
| | | | | | | | | | | | | generation was causing unaligned access faults on the Alpha. I have incremented the devstat version number, since this is an interface change. You'll need to recompile libdevstat, systat, iostat, vmstat and rpc.rstatd along with your kernel. Partially Submitted by: Andrew Gallatin <gallatin@cs.duke.edu> Notes: svn path=/head/; revision=39498
* Device statistics library. Used by iostat, vmstat, and systat toJustin T. Gibbs1998-09-151-0/+115
format and analyze the output of the new device statistics sysctls. Submitted by: "Kenneth D. Merry" <ken@FreeBSD.org> Notes: svn path=/head/; revision=39211