<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 16, 2020 at 9:12 AM George Hope <<a href="mailto:george@1w1g.com">george@1w1g.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u><div><div style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10pt"><div><blockquote style="border-left:1px solid rgb(204,204,204);padding-left:6px;margin:0px 0px 0px 5px"><div><div style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10pt"><div style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10pt"><div><div><span style="font-size:10pt">what should I do to avoid this performance loss when loglevel  is debug?</span></div></div></div></div></div></blockquote></div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Don't log excessively at the debug level.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Debug logging is for development, and for enabling in a subsystem when you think something is off. It is quite costly in a fast application, or one which logs a lot. You can often move a lot of debug logging into metrics of the more quantitative kind by using counters, histograms, gauges, ...</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">If you have something odd, use dynamic tracing instead. It tends to be more effective at figuring out what is going wrong in a piece of code.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Erlang is an introspective environment where you can dig into a running system. You usually don't need a lot of debug information. Especially not if you treat errors as values in your program.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div>-- <br><div dir="ltr" class="gmail_signature">J.</div></div>