
Eugene Kirpichov
2011/3/17 Ferenc Wagner
: Eugene Kirpichov
writes: 2010/12/17 Henning Thielemann
: Eugene Kirpichov schrieb:
I've published a large presentation about two Haskell-based tools of mine - tplot and splot.
Their motto is "visualize system behavior from logs with a shell one-liner". Based on my experience, they usually seem to live up to this motto.
http://www.slideshare.net/jkff/two-visualization-tools
[attention attractor: the presentation has *really a lot* of pictures]
... and complete TeX code attached! :-) However can I also view a simple PDF document of the presentation?
You can download the PDF here - http://www.slideshare.net/jkff/two-visualization-tools/download (however one has to be logged in to Slideshare, for example with a facebook acct., for this link to work)
Just in case, I'm also attaching a PDF of the current version to this email, but visiting the link is preferable, since I'll be updating the contents.
Please, if at all possible, link an up-to-date downloadable PDF from the documentation (http://hackage.haskell.org/package/timeplot) or from the homepage (http://haskell.org/haskellwiki/Timeplot) to make our life easier!
Anyway, your tools look very interesting, I gave tplot a shot. Unfortunately, I hit various strange failures:
$ head -4 or.log Mar 8 18:55:11 =overrun 1 Mar 8 18:55:13 =overrun 6 Mar 8 18:55:15 =overrun 13 Mar 8 18:55:16 =overrun 3
$ wc -l or.log 466 or.log
$ ls -l or.log overruns466.log lrwxrwxrwx 1 wferi wferi 15 Mar 17 14:45 or.log -> overruns466.log -rw-rw-r-- 1 wferi wferi 12587 Mar 17 14:35 overruns466.log
$ tplot -if or.log -tf 'date %b %e %T' -o overruns.png -k 'overrun' 'sum 10'
This worked just fine. However, when given the same file with a longer name, tplot does not terminate:
$ tplot -if overruns466.log -tf 'date %b %e %T' -o overruns.png -k 'overrun' 'sum 10' ^C
while doing the same the other way around still works:
$ cat overruns466.log | tplot -if - -tf 'date %b %e %T' -o overruns.png -k 'overrun' 'sum 10'
Choosing any other extension (svg, pdf or ps) also results in nontermination (or at least unbearable runtime and memory consumption).
Adding a simple no-op statement, like:
diff -ur ../timeplot-0.2.19/Tools/TimePlot.hs ./Tools/TimePlot.hs --- ../timeplot-0.2.19/Tools/TimePlot.hs 2011-03-09 11:36:24.000000000 +0100 +++ ./Tools/TimePlot.hs 2011-03-17 16:42:57.247625607 +0100 @@ -627,6 +627,7 @@ when (null args || args == ["--help"]) $ showHelp >> exitSuccess case (readConf args) of Conf conf -> do + putStr "" let render = case (outFormat conf) of { PNG -> \c w h f -> const () `fmap` renderableToPNGFile c w h f; PDF -> renderableToPDFFile ;
also results in nontermination, even in the previously working case. Something is clearly wrong here, seemingly in the runtime IO system. [...]
Thank you for reporting the bug - it's very curious, I will look into it in the nearest couple of days.
Great, thanks!
Could you please send me privately the actual input file on which the program crashes?
Well, it compresses to 1511 bytes, so I risk attaching it here for simplicity.
I have added a downloadable link to the presentation to all places where the slideshare link was present (finally making some use of my hosting...). Here it is: http://jkff.info/presentations/two-visualization-tools.pdf
Wonderful, thanks a lot! -- Regards, Feri.