Megatest

Diff
Login

Differences From Artifact [f5e767ace5]:

To Artifact [4709c0e629]:


20
21
22
23
24
25
26

27
28
29
30
31
32
33
 *


(import 
  (chicken process-context)
  (chicken process)
  (chicken string)

  (chicken sort)
  (chicken io)
  srfi-69
  scheme
)

(define *numsamples* (or (and (> (length (argv)) 1)







>







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 *


(import 
  (chicken process-context)
  (chicken process)
  (chicken string)
  (chicken base)
  (chicken sort)
  (chicken io)
  srfi-69
  scheme
)

(define *numsamples* (or (and (> (length (argv)) 1)
59
60
61
62
63
64
65











66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
   (lambda (indat)
     (let ((pid (car indat))
           (usr (cadr indat))
           (cpu (list-ref indat 8)))
       (hash-table-set! ht usr (+ cpu (hash-table-ref/default ht usr 0)))))
   data))












)
(import whodunit srfi-69 (chicken sort))

(print "Getting " *numsamples* " samples of cpu usage data.")
(define data (cleanup-data (topdata)))
(define pidhash  (make-hash-table))
(define userhash (make-hash-table))
(sum-up data userhash)


(for-each
 (lambda (usr)
   (let* ((usage (inexact->exact (round (/ (hash-table-ref userhash usr) *numsamples*)))))
     (if (> usage 0)
	 (print usr (if (< (string-length usr) 8) "\t\t" "\t") usage))))
 (sort (hash-table-keys userhash)
       (lambda (a b)
         (> (hash-table-ref userhash a)
	    (hash-table-ref userhash b)))))








>
>
>
>
>
>
>
>
>
>
>









<
<
<
<
<
<
|
<
<
<
<
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86






87




   (lambda (indat)
     (let ((pid (car indat))
           (usr (cadr indat))
           (cpu (list-ref indat 8)))
       (hash-table-set! ht usr (+ cpu (hash-table-ref/default ht usr 0)))))
   data))

(define (print-results userhash)
  (for-each
   (lambda (usr)
     (let* ((usage (inexact->exact (round (/ (hash-table-ref userhash usr) *numsamples*)))))
       (if (> usage 0)
	   (print usr (if (< (string-length usr) 8) "\t\t" "\t") usage))))
   (sort (hash-table-keys userhash)
	 (lambda (a b)
           (> (hash-table-ref userhash a)
	      (hash-table-ref userhash b))))))
  
)
(import whodunit srfi-69 (chicken sort))

(print "Getting " *numsamples* " samples of cpu usage data.")
(define data (cleanup-data (topdata)))
(define pidhash  (make-hash-table))
(define userhash (make-hash-table))
(sum-up data userhash)







(print-results userhash)