<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><span class="Apple-style-span" style="font-family: Times; ">Given the fact that Swift programs describe the structure of computations, we should be able to compress logs considerably, by reference to the program. E.g., the program:</span></div><div><font class="Apple-style-span" face="Times"><br></font></div><div><font class="Apple-style-span" face="Times">f() {</font></div><div><font class="Apple-style-span" face="Times"><span class="Apple-tab-span" style="white-space:pre">     </span>g();<br></font></div><div><font class="Apple-style-span" face="Times"><span class="Apple-tab-span" style="white-space:pre">    </span>h();<br></font></div><div><font class="Apple-style-span" face="Times">}</font></div><div><font class="Apple-style-span" face="Times"><br></font></div><div><font class="Apple-style-span" face="Times">with no arguments will always (ignoring errors) execute g and h if f is called. So we could just record that f() has been called.</font></div><div><font class="Apple-style-span" face="Times"><br></font></div><div><font class="Apple-style-span" face="Times">I can imagine taking ideas of that sort quite a long way.</font></div><div><font class="Apple-style-span" face="Times"><br></font></div><div><font class="Apple-style-span" face="Times">Now if f() has arguments, things get more complex. But one could record subsets of argument information maybe?</font></div><div><font class="Apple-style-span" face="Times"><br></font></div><div><font class="Apple-style-span" face="Times">Ian.</font></div><div><br></div><br><div><div>On Apr 21, 2009, at 7:28 AM, Michael Wilde wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>My perhaps uninformed and random observation on logging:<br><br>the debug log seems very noisy, and it seems whats needed for provenance (ie, the major events, not all the minor ones) could be made much more compact.<br><br>I think ultimately we want 2 control bits on logging:<br><br>- debug level<br>- provenance (on/off) but maybe a level as well.<br><br>Its possible these should go to separate channels, or be separable by a clear descriptor on the log line (for space management)<br><br>It seems that while Swift is stll a young system, having debug on all the time is useful, so that error info gets captured without having to do re-runs. It seems that for most work we can afford the time overhead of these logs; the space overhead may become burdensome.<br><br>Is the provenance logging making the size of the log unmanageable?<br><br>On 4/21/09 3:06 AM, Ben Clifford wrote:<br><blockquote type="cite">As I work on provenance, the amount of log output for that becomes larger.<br></blockquote><blockquote type="cite">Two things are probably interesting wrt that:<br></blockquote><blockquote type="cite">  i) make logging of provenance stuff switchable to on/off<br></blockquote><blockquote type="cite"> ii) move the provenance related log information to a separate file<br></blockquote><blockquote type="cite">Comments.<br></blockquote>_______________________________________________<br>Swift-devel mailing list<br><a href="mailto:Swift-devel@ci.uchicago.edu">Swift-devel@ci.uchicago.edu</a><br>http://mail.ci.uchicago.edu/mailman/listinfo/swift-devel<br></div></blockquote></div><br></body></html>