summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzhaolei <zhaolei>2007-10-11 08:20:39 +0000
committerzhaolei <zhaolei>2007-10-11 08:20:39 +0000
commitabb3d720eaf5691d8f20237f8832a7ed22d9aead (patch)
tree5803a4bd3315a586df388aac95a599e91b17dbe3
parent6ff8c5cc81c6a7a843c20061e9a9b50d5b0a051f (diff)
downloadsystemtap-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/ChangeLog10
-rw-r--r--tapset/queue_stats.stp6
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
}