Overview
Comment: | Got crude data on run-tests-matrix |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.65-real-new-runs-view |
Files: | files | file ages | folders |
SHA1: |
d6715426e7e3bc093f62da2a99f976e7 |
User & Date: | matt on 2021-02-22 23:33:35 |
Other Links: | branch diff | manifest | tags |
Context
2021-02-23
| ||
10:57 | basic new view updates check-in: 5a82492081 user: mrwellan tags: v1.65-real-new-runs-view | |
2021-02-22
| ||
23:33 | Got crude data on run-tests-matrix check-in: d6715426e7 user: matt tags: v1.65-real-new-runs-view | |
15:56 | Added gendeps.scm check-in: 70d50dde62 user: mrwellan tags: v1.65-real-new-runs-view | |
Changes
Modified dashboard-new-runs-view.scm from [3d8dfdd127] to [69777e7e2c].
︙ | ︙ | |||
57 58 59 60 61 62 63 | numruns)) ;;====================================================================== ;; The "new" runs browser, this one sets up the view and registers the ;; updater ;; (define (dashboard:runs-browse commondat tabdat #!key (tab-num 5)) | | > > > > | > | | < | | < > | 57 58 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 86 87 88 89 90 91 92 93 94 95 | numruns)) ;;====================================================================== ;; The "new" runs browser, this one sets up the view and registers the ;; updater ;; (define (dashboard:runs-browse commondat tabdat #!key (tab-num 5)) (let* ((rdat (make-dboard:rdat)) (runsmtx (dboard:runs-new-matrix commondat rdat)) (itemsmtx (dboard:runs-new-matrix commondat rdat))) (dboard:rdat-runs-mtx-set! rdat runsmtx) (dboard:rdat-items-mtx-set! rdat itemsmtx) (dboard:commondat-add-updater commondat (lambda () (dashboard:new-runs-updater commondat tabdat rdat)) tab-num: tab-num) (iup:split #:orientation "VERTICAL" #:value 100 #:shrink "YES" (iup:vbox (dboard:runs-tree-new-view-browser commondat rdat)) (iup:split #:orientation "VERTICAL" #:value 100 (iup:vbox runsmtx) (iup:vbox (iup:split #:orientation "VERTICAL" #:value 500 itemsmtx (dboard:test-info-matrix commondat rdat) )))))) (define (dashboard:new-runs-updater commondat tabdat rdat) (let* ((runnum (dboard:rdat-runnum rdat)) (start-time (current-milliseconds)) (tot-runs #f)) |
︙ | ︙ | |||
101 102 103 104 105 106 107 | (dboard:rdat-runnum-set! rdat newrn) (if (> newrn 0) (loop newrn))))) (if (>= (dboard:rdat-runnum rdat) tot-runs) (dboard:rdat-runnum-set! rdat 0)) ;; (dboard:rdat-runnum-set! rdat rn))) ;; not needed as it is set above ;; (dboard:rdat-last-update-set! rdat (- (current-seconds) 10)) | < < < < < < < < < < < < < < < | | > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > | | | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | (dboard:rdat-runnum-set! rdat newrn) (if (> newrn 0) (loop newrn))))) (if (>= (dboard:rdat-runnum rdat) tot-runs) (dboard:rdat-runnum-set! rdat 0)) ;; (dboard:rdat-runnum-set! rdat rn))) ;; not needed as it is set above ;; (dboard:rdat-last-update-set! rdat (- (current-seconds) 10)) (dashboard:update-new-runs-view-runs-matrix commondat rdat) '())) ;; NOTE: runnum is NOT the run-id, it is a pointer into the runsbynum vector ;; (define (dashboard:update-run-data runnum rdat) (let* ((curr-time (current-seconds)) (runrec (vector-ref (dboard:rdat-runsbynum rdat) runnum)) (run-id (simple-run-id runrec)) (last-update (sparse-vector-ref (dboard:rdat-last-updates rdat) run-id)) ;; filters (testname-sql-filt (dboard:rdat-testname-sql-filt rdat)) ;; (itempath-sql-filt (dboard:rdat-itempath-sql-filt rdat)) (test-state-sql-filt (dboard:rdat-test-state-sql-filt rdat)) ;; not used yet (test-status-sql-filt (dboard:rdat-test-status-sql-filt rdat)) ;; not used yet (tests (rmt:get-tests-for-run-state-status run-id testname-sql-filt last-update ;; last-update ))) (debug:print 0 *default-log-port* "tests: " tests) (sparse-vector-set! (dboard:rdat-last-updates rdat) run-id (- curr-time 1)) (sparse-vector-set! (dboard:rdat-run-tests rdat) run-id (delete-duplicates (append tests (sparse-vector-ref (dboard:rdat-run-tests rdat) run-id)) (lambda (a b) (eq? (vector-ref a 0)(vector-ref b 0))))) ;; de-duplicate based on test id (debug:print 0 *default-log-port* "Got " (length tests) " tests for run-id " run-id " testname-sql-filt " testname-sql-filt " and last-update " last-update " first test info: " tests) ;; (if (not (null? tests))(car tests) '())) (length tests))) (define (dashboard:update-new-runs-view-runs-matrix commondat rdat) (let* ((run-tests-data (dboard:rdat-run-tests rdat)) ;; from dbmod.scm (define-record simple-run target id runname state status owner event_time) (run-tests-mtx (dboard:rdat-runs-mtx rdat)) (runs-by-num (dboard:rdat-runsbynum rdat)) ;; this is the sequence num ) (let loop ((col-num 0)) (let* ((runrec (vector-ref runs-by-num col-num)) (run-id (simple-run-id runrec)) (run-tests (sparse-vector-ref run-tests-data run-id))) (if (null? run-tests) ;; empty run (if (< col-num 10) ;; NOT CORRECT (loop (+ col-num))) (let testloop ((row-num 0) (tail run-tests)) (let* ((test-dat (car run-tests)) (tname (db:test-get-testname test-dat))) (iup:attribute-set! run-tests-mtx (conc col-num ":" row-num) tname) (if (not (null? tail)) (testloop (+ row-num 1)(cdr tail)) (if (< col-num 10) (loop (+ col-num 1))))))))))) (define (dboard:runs-new-matrix commondat rdat) (iup:matrix #:alignment1 "ALEFT" #:expand "YES" ;; "HORIZONTAL" #:scrollbar "YES" #:numcol 100 #:numlin 200 #:numcol-visible 3 ;; (min 8) #:numlin-visible 10 #:widthdef 20 #:click-cb (lambda (obj row col status) (let* ((cell (conc row ":" col))) #f)) )) |
︙ | ︙ | |||
182 183 184 185 186 187 188 | '(("Test Meta Data" . 1) ("Author" . 2) ("Owner" . 3) ("Reviewed" . 4) ("Tags" . 5) ("Description" . 6))) (remhost-run-info-fields | | | > > > > > | | < | > | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | '(("Test Meta Data" . 1) ("Author" . 2) ("Owner" . 3) ("Reviewed" . 4) ("Tags" . 5) ("Description" . 6))) (remhost-run-info-fields '(("Host/run info" . 1) ("Hostname" . 2) ("Disk free" . 3) ("CPU Load" . 4) ("Run duration" . 5) ("Logfile" . 6) ("Process ID" . 7) ("Machine info" . 8))) (mk-matrix (lambda (cfgdat) (let ((mtx (iup:matrix #:alignment1 "ALEFT" ;; #:expand "YES" ;; "HORIZONTAL" #:scrollbar "YES" #:numcol 1 #:numlin (length cfgdat) #:numcol-visible 1 ;; (min 8) #:numlin-visible (length cfgdat) #:widthdef 50 #:width0 50 #:click-cb (lambda (obj row col status) (let* ((cell (conc row ":" col))) #f))))) (for-each (lambda (finfo) (match finfo ((fieldname . rownum) (iup:attribute-set! mtx (conc rownum":0") fieldname)) (else (debug:print 0 *default-log-port* "ERROR: bad finfo "finfo)))) cfgdat) mtx))) (runmtx (mk-matrix run-fields)) (testmtx (mk-matrix test-fields)) (metamtx (mk-matrix test-meta-fields)) (remhostmtx (mk-matrix remhost-run-info-fields))) ;; (dboard:rdat-runs-mtx-set! rdat runmtx) ;; (dboard:rdat-items-mtx-set! rdat testmtx) ;; ( (iup:vbox #:expandchildren #t #:expand #f runmtx testmtx metamtx remhostmtx ))) ;; browse runs as a tree. Used in both "Runs" tab and ;; in the runs control panel. ;; ;; THIS IS THE NEW ONE ;; (define (dboard:runs-tree-new-view-browser commondat rdat) |
︙ | ︙ | |||
242 243 244 245 246 247 248 | (if b (dboard:rdat-targ-sql-filt-set! rdat (string-split b "/"))) #;(dashboard:update-run-command tabdat)) "command-testname-selector tb action")) ;; #:value (dboard:test-patt->lines ;; This seems like it was wrong, BUG in code where it was copied from? ;; (dboard:tabdat-test-patts-use tabdat)) #:expand "HORIZONTAL" | | | | 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | (if b (dboard:rdat-targ-sql-filt-set! rdat (string-split b "/"))) #;(dashboard:update-run-command tabdat)) "command-testname-selector tb action")) ;; #:value (dboard:test-patt->lines ;; This seems like it was wrong, BUG in code where it was copied from? ;; (dboard:tabdat-test-patts-use tabdat)) #:expand "HORIZONTAL" ;; #:size "10x" )) (tb (iup:treebox #:value 0 #:title "Runs" ;; was #:name -- iup 3.19 changed ;; this... "Changed: [DEPRECATED ;; REMOVED] removed the old attribute ;; NAMEid from IupTree to avoid ;; conflict with the common attribute ;; NAME. Use the TITLEid attribute." #:expand "YES" #:addexpanded "YES" #:size "120x" #:selection-cb (lambda (obj id state) (debug:catch-and-dump (lambda () (let* ((run-path (tree:node->path obj id)) (run-id (new-tree-path->run-id rdat (cdr run-path)))) ;; (dboard:tabdat-view-changed-set! tabdat #t) ;; ?? |
︙ | ︙ |
Modified dashboard.scm from [c8787aa02d] to [793e75a79e].
︙ | ︙ | |||
71 72 73 74 75 76 77 | (declare (uses dbmod)) (import dbmod) ;; (declare (uses dbmod.import)) (declare (uses servermod)) (import servermod) | < < < > > > | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | (declare (uses dbmod)) (import dbmod) ;; (declare (uses dbmod.import)) (declare (uses servermod)) (import servermod) (include "common_records.scm") (include "db_records.scm") (include "run_records.scm") (include "task_records.scm") (include "megatest-version.scm") ;; (include "megatest-fossil-hash.scm") (include "vg_records.scm") ;; This is the new runs view (include "dashboard-new-runs-view.scm") (define help (conc "Megatest Dashboard, documentation at http://www.kiatoa.com/fossils/megatest version " megatest-version " license GPL, Copyright (C) Matt Welland 2012-2017 Usage: dashboard [options] -h : this help |
︙ | ︙ | |||
197 198 199 200 201 202 203 | ;; (begin ;; (debug:print-info 0 *default-log-port* "Forcing db-cache mode due to read-only access to megatest.db") ;; (hash-table-set! args:arg-hash "-use-db-cache" #t)));;;) ;;) ;; data common to all tabs in dboard:commondat struct moved to dcommonmod ;; data from sql db | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | ;; (begin ;; (debug:print-info 0 *default-log-port* "Forcing db-cache mode due to read-only access to megatest.db") ;; (hash-table-set! args:arg-hash "-use-db-cache" #t)));;;) ;;) ;; data common to all tabs in dboard:commondat struct moved to dcommonmod ;; data from sql db ;; (keys (rmt:get-keys)) ;; to be removed when targets handling is r ;; RA => returns the tabdat stored at hashkey passed in commondat-tabdats table (e.g. 0 gives summary) ;; (define (dboard:common-get-tabdat commondat #!key (tab-num #f)) (let* ((tnum (or tab-num (dboard:commondat-curr-tab-num commondat) 0)) ;; tab-num value is curr-tab-num value in passed commondat |
︙ | ︙ | |||
2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 | (vector-set! testvec testnum butn) (loop runnum (+ testnum 1) testvec (cons butn res)))))) ;; now assemble the hdrlst and bdylst and kick off the dialog (iup:show (iup:dialog #:title (conc "Megatest dashboard " (current-user-name) ":" *toppath*) #:menu (dcommon:main-menu) (let* ((runs-view (iup:vbox (iup:split #:orientation "VERTICAL" ;; "HORIZONTAL" #:value 100 (dboard:runs-tree-browser commondat runs-dat) (iup:split #:value 100 | > | 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 | (vector-set! testvec testnum butn) (loop runnum (+ testnum 1) testvec (cons butn res)))))) ;; now assemble the hdrlst and bdylst and kick off the dialog (iup:show (iup:dialog #:title (conc "Megatest dashboard " (current-user-name) ":" *toppath*) #:menu (dcommon:main-menu) #:shrink "YES" (let* ((runs-view (iup:vbox (iup:split #:orientation "VERTICAL" ;; "HORIZONTAL" #:value 100 (dboard:runs-tree-browser commondat runs-dat) (iup:split #:value 100 |
︙ | ︙ | |||
2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 | (sort (hash-table-keys views-cfgdat) (lambda (a b) (let ((order-a (or (any->number (configf:lookup views-cfgdat a "order")) 999)) (order-b (or (any->number (configf:lookup views-cfgdat b "order")) 999))) (> order-a order-b))))) result)) (tabs (apply iup:tabs #:tabchangepos-cb (lambda (obj curr prev) (debug:catch-and-dump (lambda () (let* ((tab-num (dboard:commondat-curr-tab-num commondat)) (tabdat (dboard:common-get-tabdat commondat tab-num: tab-num))) (dboard:tabdat-layout-update-ok-set! tabdat #f)) (dboard:commondat-curr-tab-num-set! commondat curr) | > | 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 | (sort (hash-table-keys views-cfgdat) (lambda (a b) (let ((order-a (or (any->number (configf:lookup views-cfgdat a "order")) 999)) (order-b (or (any->number (configf:lookup views-cfgdat b "order")) 999))) (> order-a order-b))))) result)) (tabs (apply iup:tabs #:shrink "YES" #:tabchangepos-cb (lambda (obj curr prev) (debug:catch-and-dump (lambda () (let* ((tab-num (dboard:commondat-curr-tab-num commondat)) (tabdat (dboard:common-get-tabdat commondat tab-num: tab-num))) (dboard:tabdat-layout-update-ok-set! tabdat #f)) (dboard:commondat-curr-tab-num-set! commondat curr) |
︙ | ︙ |
Modified dcommonmod.scm from [77dffd46cc] to [7f31d1edbb].
︙ | ︙ | |||
187 188 189 190 191 192 193 | ;; view related items (runnum 0) ;; which column we are processing, index into runsbynum, we sweep across all these runs then start over (leftcol 0) ;; number of the leftmost visible column (toprow 0) ;; topmost visible row (numcols 24) ;; number of columns visible (numrows 20) ;; number of rows visible | | | > | | | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | ;; view related items (runnum 0) ;; which column we are processing, index into runsbynum, we sweep across all these runs then start over (leftcol 0) ;; number of the leftmost visible column (toprow 0) ;; topmost visible row (numcols 24) ;; number of columns visible (numrows 20) ;; number of rows visible ;; efactored <=== merge detritus (runs (make-sparse-vector #f)) ;; id => runrec (run-tests (make-sparse-vector '())) ;; id => list of tests (runsbynum (make-vector 100 #f)) ;; vector num => runrec (targ-runid (make-hash-table)) ;; area/target/runname => run-id ;; not sure this will be needed (tests (make-hash-table)) ;; test[/itempath] => list of test rec ;; run sql filters (targ-sql-filt "%") (runname-sql-filt "%") (run-state-sql-filt "%") (run-status-sql-filt "%") |
︙ | ︙ | |||
217 218 219 220 221 222 223 | (tests (make-hash-table)) ;; test[/itempath] => (vector columnnum => test rec) ;; various (prev-run-ids '()) ;; push previously looked at runs on this (view-changed #f) ;; widgets | | > > > | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | (tests (make-hash-table)) ;; test[/itempath] => (vector columnnum => test rec) ;; various (prev-run-ids '()) ;; push previously looked at runs on this (view-changed #f) ;; widgets (runs-tree #f) ;; (runs-mtx #f) ;; runs displayed here (items-mtx #f) ;; items displayed here ;; info widgets here ) (define (dboard:rdat-push-run-id rdat run-id) (dboard:rdat-prev-run-ids-set! rdat (cons run-id (dboard:rdat-prev-run-ids rdat)))) (defstruct dboard:runrec id |
︙ | ︙ |