-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
64 lines (57 loc) · 3.29 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Watchdog
========
1.0
---
* logs output to a file and rotates then properly, separate or combined for stderr & stdout?
* move ~/.watchdog.xml to ~/.watchdog/watchdog.xml
* increase summary to 6 lines to get BUILD SUCCESSFUL for maven commands
* change the title of Output to Summary of output when it summarizes.
* convert seconds to a legible time in hours/minutes/seconds
* write summary to stderr not stdout so it doesn't get in the way of redirecting output to a file.
* performance enhancements... it's very slow with large outputs, even after it's done, probably summarization.
* performance enhancements... maybe use blocking io like select() before calling readlines()... is necessary with ruby?
* performance enhancements... it's a freakin' memory hog, probably because I'm keeping a reference to every line in the output or something dumb like that.
Future
------
* config to limit the number and/or age of log files kept
* somehow magically process the backspace characters properly so that log files don't end up with long streams of junk
from the progress bar magic that some commands do... this may amount to implementing a terminal, which would kinda suck.
* don't line-buffer, anymore, do incremental buffering so that things like maven download progress bars work properly
* coverage test metrics to play with rcov and see if I've left out any useful tests.
* switch away from an xml config file? or at least allow a yml or rb config file as well?
* split barkers into separate files
* remove duplication in arguments passed to bark()
* configure smtp barker and try it out
* extract formatting logic into a formatting class?
* configurable summary head and tail and '...' elipsis
* don't combine stderr and stdout but manages them properly
* set growl options, sticky, icon, priority, host, port
* watchdog that barks via text message (email?)
* configure Jabber connection details to make it work with an SSL'd jabber server
* automate TODO.txt and create a CHANGELOG and use that info as the commit message when doing rake move-on.
* automate some interactive tests, so execution is automatic but assertions are from manual input
* bark via jabber & growl at a fixed interval with a few lines... i.e., every 10 minutes with 5 lines. means I need
to track duration of execution for bark_lines
* switch to simultaneously calling bark_line on each barker
use a threadpool or something so I don't create a too many threads (# lines * line-by-line barkers)
* report on how long it usually takes to run commands based on logs... so that I can watch for things like svn or mvn install
taking longer than it should over time
* magically let watchdog run ruby commands in the same ruby process with exec("-")?
* add syntax highlighting to stdout lines
.watchdog/ Layout
-----------------
.watchdog/
watchdog.xml
logs/
svn/
output-2007-02-11-02-01-31.combined <=== maybe.. based on configuration?
output-2007-02-11-02-01-31.stderr <=== maybe
output-2007-02-11-02-01-31.stdout <=== maybe
output-2007-02-11-03-12-31
output-2007-02-11-03-12-31
output-2007-02-11-15-18-31
mvn/
output-2007-02-11-02-01-31
output-2007-02-11-03-12-31
output-2007-02-11-03-12-31
output-2007-02-11-15-18-31