<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 26, 2017 at 3:14 PM, Krutika Dhananjay <span dir="ltr"><<a href="mailto:kdhananj@redhat.com" target="_blank">kdhananj@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>Hi,<br><br></div>debug/io-stats and debug/trace are immensely useful for isolating translators that are performance bottlenecks and those that are causing iatt inconsistencies, respectively.<br><br></div>There are other translators too under xlators/debug such as error-gen, which are useful for debugging/testing our code.<br><br></div><div>The trick is to load these above and below one or more suspect translators, run the test and analyse the output they dump and debug your problem.<br></div><div><br></div>Unfortunately, there is no way to load these at specific points in the graph using the volume-set CLI as of today. Our only option is to manually edit the volfile and restart the process and be super-careful not to perform *any* volume-{reset,set,profile} operation and graph switch operations in general that could rewrite the volfile, wiping out all previous edits to it.<br><br></div>I propose the following CLI for achieving the same:<br><br></div># gluster volume set <VOL> {debug.trace, debug.io-stats, debug.error-gen} <xl-name><br><br></div>where <xl-name> represents the name of the translator above which you want this translator loaded (as parent).<br><br></div>For example, if i have a 2x2 dis-rep volume named testvol and I want to load trace above and below first child of DHT, I execute the following commands:<br><br></div># gluster volume set <VOL> debug.trace testvol-replicate-0<br></div># gluster volume set <VOL> debug.trace testvol-client-0<br></div># gluster volume set <VOL> debug.trace testvol-client-1<br><br></div><div>The corresponding debug/trace translators will be named testvol-replicate-0-trace-<wbr>parent, testvol-client-0-trace-parent, testvol-client-1-trace-parent and so on.<br><br></div><div>To revert the change, the user simply uses volume-reset CLI:<br><br></div><div># gluster volume reset <VOL> testvol-replicate-0-trace-<wbr>parent<br></div><div># gluster volume reset <VOL> testvol-client-0-trace-parent<br></div><div># gluster volume reset <VOL> testvol-client-1-trace-parent<br><br></div><div>What should happen when the translator with a trace/io-stat/error-gen parent gets disabled?<br></div><div>Well glusterd should be made to take care to remove the trace xl too from the graph.<br><br><br></div></div></blockquote><div><br>These features are very very useful. I recommend you to sync-up with Kaushal/Prashant Pai and Aravinda, who are working on glusterd2 to discuss the possibility of these. They already have some plan for such templates where changing these things is part of template, instead of code change.<br><br></div><div>I am not sure how much of the effort it is with current glusterd-volgen.c file, it looked very confusing to me last time I checked. Samikshan you want to comment on how we can achieve this in glusterd right now?<br><br></div><div>Over all, these features are 'very' important for sure. So, please go ahead and open a github issue for this RFE, so it doesn't end up as just a mail thread.<br><br></div><div>-Amar<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Comments and suggestions welcome.<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888"><div>-Krutika<br></div></font></span></div>
<br>______________________________<wbr>_________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-devel</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Amar Tumballi (amarts)<br></div></div></div></div></div>
</div></div>