diff options
author | zhaolei <zhaolei> | 2007-10-11 08:20:39 +0000 |
---|---|---|
committer | zhaolei <zhaolei> | 2007-10-11 08:20:39 +0000 |
commit | abb3d720eaf5691d8f20237f8832a7ed22d9aead (patch) | |
tree | 5803a4bd3315a586df388aac95a599e91b17dbe3 | |
parent | 6ff8c5cc81c6a7a843c20061e9a9b50d5b0a051f (diff) | |
download | systemtap-steved-abb3d720eaf5691d8f20237f8832a7ed22d9aead.tar.gz systemtap-steved-abb3d720eaf5691d8f20237f8832a7ed22d9aead.tar.xz systemtap-steved-abb3d720eaf5691d8f20237f8832a7ed22d9aead.zip |
2007-10-11 Zhaolei <zhaolei@cn.fujitsu.com>
* queue_stats.stp (qsq_utilization): Update queue account datas
before calculate.
(qsq_blocked): Ditto.
(qsq_wait_queue_length): Ditto.
(qsq_service_time): Ditto.
(qsq_wait_time): Ditto.
(qsq_throughput): Ditto.
-rw-r--r-- | tapset/ChangeLog | 10 | ||||
-rw-r--r-- | tapset/queue_stats.stp | 6 |
2 files changed, 16 insertions, 0 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 4058ea04..72dca971 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,5 +1,15 @@ 2007-10-11 Zhaolei <zhaolei@cn.fujitsu.com> + * queue_stats.stp (qsq_utilization): Update queue account datas + before calculate. + (qsq_blocked): Ditto. + (qsq_wait_queue_length): Ditto. + (qsq_service_time): Ditto. + (qsq_wait_time): Ditto. + (qsq_throughput): Ditto. + +2007-10-11 Zhaolei <zhaolei@cn.fujitsu.com> + From Cai Fei <caifei@cn.fujitsu.com> * nfs_proc.stp (__nfs_write_data_info): Add data-access code for count, valid and timestamp. diff --git a/tapset/queue_stats.stp b/tapset/queue_stats.stp index 9d89903c..5cf24c40 100644 --- a/tapset/queue_stats.stp +++ b/tapset/queue_stats.stp @@ -70,35 +70,41 @@ function qsq_start (qname) { # reset statistics for new baseline # fraction of time that any request was being serviced function qsq_utilization (qname, scale) { + _qs_update (qname) elapsed = qs_time() - qs_stime[qname] return (scale * qs_rtime[qname]) / elapsed } # fraction of time that any request was blocked in the wait queue function qsq_blocked (qname, scale) { + _qs_update (qname) elapsed = qs_time() - qs_stime[qname] return (scale * qs_wtime[qname]) / elapsed } # length of wait queue function qsq_wait_queue_length (qname, scale) { + _qs_update (qname) elapsed = qs_time() - qs_stime[qname] return (scale * qs_wlentime[qname]) / elapsed } # service time (amount of time per request service) function qsq_service_time (qname, scale) { + _qs_update (qname) return (scale * qs_rlentime[qname]) / qs_dcount[qname] } # wait time (amount of time in queue + service per request) function qsq_wait_time (qname, scale) { + _qs_update (qname) return (scale * (qs_rlentime[qname] + qs_wlentime[qname])) / qs_dcount[qname] } # service rate (number of requests served per unit time) function qsq_throughput (qname, scale) { + _qs_update (qname) elapsed = qs_time() - qs_stime[qname] return (scale * qs_dcount[qname]) / elapsed } |