#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
244270 |
|
15-Dec-2012 |
trociny |
New devstat metrics for devstat_compute_statistics():
DSM_TOTAL_DURATION DSM_TOTAL_DURATION_READ DSM_TOTAL_DURATION_WRITE DSM_TOTAL_DURATION_FREE DSM_TOTAL_DURATION_OTHER DSM_TOTAL_BUSY_TIME
|
#
175861 |
|
31-Jan-2008 |
jhb |
The devstat(3) manpage claims that only <devstat.h> is needed as a 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
|
#
148297 |
|
22-Jul-2005 |
kensmith |
Bump the shared library version number of all libraries that have not been bumped since RELENG_5.
Reviewed by: ru Approved by: re (not needed for commit check but in principle...)
|
#
112381 |
|
18-Mar-2003 |
phk |
ARGH!
Pointy hat to: phk
|
#
112380 |
|
18-Mar-2003 |
phk |
Commit ken@' changes to this file: Bump version and append new entries to stay backwards compatible.
|
#
112373 |
|
18-Mar-2003 |
phk |
Add more devstat calculations, mostly filling in holes, but also adding 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
|
#
112288 |
|
15-Mar-2003 |
phk |
Run a revision of the devstat interface:
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
|
#
83868 |
|
23-Sep-2001 |
ken |
Turn on WARNS?= 2 for libdevstat.
Submitted by: "Sergey A. Osokin" <osa@freebsd.org.ru>
|
#
81883 |
|
18-Aug-2001 |
ken |
Implement compute_stats() in terms of devstat_compute_statistics(). This 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>
|
#
81133 |
|
04-Aug-2001 |
tmm |
Add some features to libdevstat, and overhaul the interface a bit:
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
|
#
50476 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
39498 |
|
19-Sep-1998 |
ken |
Change the devstat generation number from an int to a long. The int-sized 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>
|
#
39211 |
|
15-Sep-1998 |
gibbs |
Device statistics library. Used by iostat, vmstat, and systat to format and analyze the output of the new device statistics sysctls.
Submitted by: "Kenneth D. Merry" <ken@FreeBSD.org>
|