Overview
Comment: | More clean up after big refactor |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dashboard-refactor |
Files: | files | file ages | folders |
SHA1: |
7d7dc1bc5bf213f682026572234fe3b1 |
User & Date: | matt on 2016-07-01 18:27:26 |
Other Links: | branch diff | manifest | tags |
Context
2016-07-02
| ||
16:29 | cleanup check-in: 7ae4d472e8 user: matt tags: dashboard-refactor | |
2016-07-01
| ||
18:27 | More clean up after big refactor check-in: 7d7dc1bc5b user: matt tags: dashboard-refactor | |
15:07 | Fixed silly bug check-in: 56b8241a02 user: mrwellan tags: v1.61 | |
14:59 | dashboard refactor check-in: d0aed42247 user: mrwellan tags: dashboard-refactor | |
Changes
Modified dashboard.scm from [a9b6b109c6] to [0db3118df2].
︙ | ︙ | |||
1017 1018 1019 1020 1021 1022 1023 | ))) ;;====================================================================== ;; S U M M A R Y ;;====================================================================== ;; ;; General info about the run(s) and megatest area | | | 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 | ))) ;;====================================================================== ;; S U M M A R Y ;;====================================================================== ;; ;; General info about the run(s) and megatest area (define (dashboard:summary alldat) (let* ((rawconfig (read-config (conc *toppath* "/megatest.config") #f #f))) ;; changed to #f since I want #{} to be expanded by [system ...] to NOT be expanded. WAS: 'return-string))) (iup:vbox (iup:split #:value 500 (iup:frame #:title "General Info" (iup:vbox |
︙ | ︙ | |||
1046 1047 1048 1049 1050 1051 1052 | (iup:vbox (dcommon:section-matrix rawconfig "server" "Varname" "Value") ;; (iup:frame ;; #:title "Disks Areas" (dcommon:section-matrix rawconfig "disks" "Disk area" "Path")))) (iup:frame #:title "Run statistics" | | | 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 | (iup:vbox (dcommon:section-matrix rawconfig "server" "Varname" "Value") ;; (iup:frame ;; #:title "Disks Areas" (dcommon:section-matrix rawconfig "disks" "Disk area" "Path")))) (iup:frame #:title "Run statistics" (dcommon:run-stats alldat))))) ;;====================================================================== ;; R U N ;;====================================================================== ;; ;; display and manage a single run at a time |
︙ | ︙ | |||
1549 1550 1551 1552 1553 1554 1555 | " -runname " runname " -testpatt " test-name " -preclean -clean-cache")))) (iup:menu-item "Start xterm" #:action (lambda (obj) | | | | | | | 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 | " -runname " runname " -testpatt " test-name " -preclean -clean-cache")))) (iup:menu-item "Start xterm" #:action (lambda (obj) (let* ((cmd (conc (car (argv)) " -xterm " run-id "," test-id "&"))) (system cmd)))) (iup:menu-item "Edit testconfig" #:action (lambda (obj) (let* ((all-tests (tests:get-all)) (editor-rx (or (configf:lookup *configdat* "setup" "editor-regex") "\\b(vim?|nano|pico)\\b")) (editor (or (configf:lookup *configdat* "setup" "editor") (get-environment-variable "VISUAL") (get-environment-variable "EDITOR") "vi")) (tconfig (conc (hash-table-ref all-tests test-name) "/testconfig")) (cmd (conc (if (string-search editor-rx editor) (conc "xterm -e " editor) editor) " " tconfig " &"))) (system cmd)))) )))) (define (make-dashboard-buttons alldat nruns ntests keynames runs-sum-dat new-view-dat) (let* ((nkeys (length keynames)) (runsvec (make-vector nruns)) (header (make-vector nruns)) (lftcol (make-vector ntests)) (keycol (make-vector ntests)) (controls '()) (lftlst '()) (hdrlst '()) (bdylst '()) (result '()) (i 0)) ;; controls (along bottom) (set! controls (dboard:make-controls alldat)) ;; create the left most column for the run key names and the test names (set! lftlst (list (iup:hbox (iup:label) ;; (iup:valuator) (apply iup:vbox (map (lambda (x) (let ((res (iup:hbox #:expand "HORIZONTAL" (iup:label x #:size "x15" #:fontsize "10" #:expand "HORIZONTAL") (iup:textbox #:size "x15" #:fontsize "10" #:value "%" #:expand "HORIZONTAL" #:action (lambda (obj unk val) (mark-for-update) (update-search alldat x val)))))) (set! i (+ i 1)) res)) keynames))))) (let loop ((testnum 0) (res '())) (cond ((>= testnum ntests) ;; now lftlst will be an hbox with the test keys and the test name labels (set! lftlst (append lftlst (list (iup:hbox #:expand "HORIZONTAL" (iup:valuator #:valuechanged_cb (lambda (obj) (let ((val (string->number (iup:attribute obj "VALUE"))) (oldmax (string->number (iup:attribute obj "MAX"))) (newmax (* 10 (length *alltestnamelst*)))) (dboard:alldat-please-update-set! alldat #t) (dboard:alldat-start-test-offset-set! alldat (inexact->exact (round (/ val 10)))) (debug:print 6 *default-log-port* "(dboard:alldat-start-test-offset alldat) " (dboard:alldat-start-test-offset alldat) " val: " val " newmax: " newmax " oldmax: " oldmax) (if (< val 10) (iup:attribute-set! obj "MAX" newmax)) )) #:expand "VERTICAL" #:orientation "VERTICAL" |
︙ | ︙ | |||
1726 1727 1728 1729 1730 1731 1732 | ;; (data (dboard:alldat-init (make-d:data))) (tabs (iup:tabs #:tabchangepos-cb (lambda (obj curr prev) (dboard:alldat-please-update-set! alldat #t) (dboard:alldat-curr-tab-num-set! alldat curr)) (dashboard:summary alldat) runs-view | | | 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 | ;; (data (dboard:alldat-init (make-d:data))) (tabs (iup:tabs #:tabchangepos-cb (lambda (obj curr prev) (dboard:alldat-please-update-set! alldat #t) (dboard:alldat-curr-tab-num-set! alldat curr)) (dashboard:summary alldat) runs-view (dashboard:one-run alldat runs-sum-dat) ;; (dashboard:new-view db data new-view-dat) (dashboard:run-controls alldat) (dashboard:run-times alldat) ))) ;; (set! (iup:callback tabs tabchange-cb:) (lambda (a b c)(print "SWITCHED TO TAB: " a " " b " " c))) (iup:attribute-set! tabs "TABTITLE0" "Summary") (iup:attribute-set! tabs "TABTITLE1" "Runs") |
︙ | ︙ | |||
1781 1782 1783 1784 1785 1786 1787 | (define *monitor-db-path* #f) (define *last-monitor-update-time* 0) ;; Force creation of the db in case it isn't already there. (tasks:open-db) | | | | 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 | (define *monitor-db-path* #f) (define *last-monitor-update-time* 0) ;; Force creation of the db in case it isn't already there. (tasks:open-db) (define (dashboard:get-youngest-run-db-mod-time alldat) (handle-exceptions exn (begin (debug:print 0 *default-log-port* "WARNING: error in accessing databases in get-youngest-run-db-mod-time: " ((condition-property-accessor 'exn 'message) exn)) (current-seconds)) ;; something went wrong - just print an error and return current-seconds (apply max (map (lambda (filen) (file-modification-time filen)) (glob (conc (dboard:alldat-dbdir alldat) "/*.db")))))) (define (dashboard:run-update x alldat) (let* ((modtime (dashboard:get-youngest-run-db-mod-time alldat)) ;; (file-modification-time (dboard:alldat-dbfpath alldat))) (monitor-modtime (if (file-exists? *monitor-db-path*) (file-modification-time *monitor-db-path*) -1)) (run-update-time (current-seconds)) (recalc (dashboard:recalc modtime (dboard:alldat-please-update alldat) (dboard:alldat-last-db-update alldat)))) (if (and (eq? (dboard:alldat-curr-tab-num alldat) 0) (or (> monitor-modtime *last-monitor-update-time*) |
︙ | ︙ | |||
1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 | (load debugcontrolf))) (define (main) (common:exit-on-version-changed) (let* ((runs-sum-dat (dboard:alldat-make-data)) ;; init (make-d:data))) ;; data for run-summary tab (new-view-dat runs-sum-dat) ;; (dboard:alldat-make-data)) ;; init (make-d:data))) (alldat runs-sum-dat)) (dboard:setup-num-rows alldat) ;; Move this stuff to db.scm? I'm not sure that is the right thing to do... ;; (dboard:alldat-last-db-update-set! alldat (file-modification-time (dboard:alldat-dbfpath alldat))) ;; (conc *toppath* "/db/main.db"))) (set! *monitor-db-path* (conc (dboard:alldat-dbdir alldat) "/monitor.db")) (cond ((args:get-arg "-run") (let ((runid (string->number (args:get-arg "-run")))) | > | 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 | (load debugcontrolf))) (define (main) (common:exit-on-version-changed) (let* ((runs-sum-dat (dboard:alldat-make-data)) ;; init (make-d:data))) ;; data for run-summary tab (new-view-dat runs-sum-dat) ;; (dboard:alldat-make-data)) ;; init (make-d:data))) (alldat runs-sum-dat)) (dboard:setup-alldat alldat) (dboard:setup-num-rows alldat) ;; Move this stuff to db.scm? I'm not sure that is the right thing to do... ;; (dboard:alldat-last-db-update-set! alldat (file-modification-time (dboard:alldat-dbfpath alldat))) ;; (conc *toppath* "/db/main.db"))) (set! *monitor-db-path* (conc (dboard:alldat-dbdir alldat) "/monitor.db")) (cond ((args:get-arg "-run") (let ((runid (string->number (args:get-arg "-run")))) |
︙ | ︙ | |||
1918 1919 1920 1921 1922 1923 1924 | (dboard:alldat-updating-set! alldat #f) (mutex-unlock! (dboard:alldat-update-mutex alldat))))) 1)))) (let ((th1 (make-thread (lambda () (thread-sleep! 1) (dboard:alldat-please-update-set! alldat #t) | | | 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 | (dboard:alldat-updating-set! alldat #f) (mutex-unlock! (dboard:alldat-update-mutex alldat))))) 1)))) (let ((th1 (make-thread (lambda () (thread-sleep! 1) (dboard:alldat-please-update-set! alldat #t) (dashboard:run-update 1 alldat)) "update buttons once")) (th2 (make-thread iup:main-loop "Main loop"))) (thread-start! th1) (thread-start! th2) (thread-join! th2)))) (main) |