[Haskell-cafe] tplot and splot - analyst's swiss army knifes for visualizing log files

Ferenc Wagner wferi at niif.hu
Fri Mar 18 12:37:08 CET 2011


Eugene Kirpichov <ekirpichov at gmail.com> writes:

> 2011/3/17 Ferenc Wagner <wferi at niif.hu>:
>> Eugene Kirpichov <ekirpichov at gmail.com> writes:
>>
>>> 2010/12/17 Henning Thielemann <schlepptop at henning-thielemann.de>:
>>>
>>>> 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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: overruns466.log.gz
Type: application/octet-stream
Size: 1511 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110318/ce0de518/attachment.obj>


More information about the Haskell-Cafe mailing list