summaryrefslogtreecommitdiff
path: root/lib/libdevstat/devstat.h
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/6.0.0_cvscvs2svn2005-11-031-1/+1
| | | | | | 'RELENG_6_0_0_RELEASE'. This commit was manufactured to restore the state of the 6.0-RELEASE image.
* Insta-MFC of the shared library version bump. All shared librariesKen Smith2005-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | whose version has not already been bumped since RELENG_5 are being bumped. Revisions of files being MFC-ed: > Path Revision > src/gnu/lib/libdialog/Makefile 1.43 > src/gnu/lib/libg2c/Makefile 1.16 > src/gnu/lib/libobjc/Makefile 1.27 > src/gnu/lib/libreadline/Makefile.inc 1.12 > src/gnu/lib/libregex/Makefile 1.32 > src/gnu/lib/libstdc++/Makefile 1.56 > src/kerberos5/lib/Makefile.inc 1.7 > src/lib/Makefile.inc 1.3 > src/lib/libalias/Makefile 1.31 > src/lib/libarchive/Makefile 1.37 > src/lib/libbegemot/Makefile 1.3 > src/lib/libbluetooth/Makefile 1.2 > src/lib/libbsnmp/Makefile.inc 1.6 > src/lib/libbz2/Makefile 1.6 > src/lib/libc_r/Makefile 1.42 > src/lib/libcrypt/Makefile 1.36 > src/lib/libdevstat/Makefile 1.15 > src/lib/libdevstat/devstat.h 1.11 > src/lib/libedit/Makefile 1.29 > src/lib/libexpat/Makefile 1.5 > src/lib/libfetch/Makefile 1.45 > src/lib/libftpio/Makefile 1.14 > src/lib/libgpib/Makefile 1.2 > src/lib/libipsec/Makefile 1.17 > src/lib/libkiconv/Makefile 1.3 > src/lib/libmagic/Makefile 1.7 > src/lib/libmp/Makefile 1.10 > src/lib/libncp/Makefile 1.6 > src/lib/libncurses/Makefile 1.79 > src/lib/libnetgraph/Makefile 1.11 > src/lib/libngatm/Makefile 1.6 > src/lib/libopie/Makefile 1.21 > src/lib/libpam/Makefile.inc 1.17 > src/lib/libpthread/Makefile 1.54 > src/lib/libradius/Makefile 1.12 > src/lib/libsdp/Makefile 1.4 > src/lib/libsmb/Makefile 1.8 > src/lib/libtacplus/Makefile 1.7 > src/lib/libthr/Makefile 1.14 > src/lib/libthread_db/Makefile 1.6 > src/lib/libugidfw/Makefile 1.7 > src/lib/libusbhid/Makefile 1.10 > src/lib/libutil/Makefile 1.57 > src/lib/libvgl/Makefile 1.11 > src/lib/libwrap/Makefile 1.17 > src/lib/libypclnt/Makefile 1.13 > src/lib/msun/Makefile 1.72 > src/secure/lib/libcrypto/Makefile 1.74 > src/secure/lib/libssh/Makefile 1.35 > src/secure/lib/libssl/Makefile 1.22 > src/usr.sbin/bsnmpd/modules/Makefile.inc 1.10 Reviewed by: ru Approved by: re (scottl) Notes: svn path=/stable/6/; revision=148300
* 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