<html><body><div style="font-family: lucida console,sans-serif; font-size: 12pt; color: #000000"><div><br></div><div>glusterfsiostat is a great idea! <br></div><div><br></div><div>I do wonder if the inclusion of rrd in the design is adding complication though. For example, does cifsiostat and nfsiostat do this? </div><div><br></div><div>As an admin, would I not just run the glusterfsiostat command with an interval/count - and if I want to see the stats over a time period, couldn't I just pipe it to a file and background the process? I could get the high level perf ctrs for any time period that way and not be bound to the fixed rrd file size.<br></div><div><br></div><div>For my money - longer term time series observations don't belong in rrd, but should be forwarded to a "management layer" - and in that context would we get the value out of the addtional integration work with rrd?<br></div><div><br></div><div>Just another point of view to consider <img src="cid:6052fa4dc1816615b006187ef756ca447f6e851d@zimbra" alt="Laughing" title="Laughing" border="0"><br></div><div><br></div><div><br></div><hr id="zwchr"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"Vipul Nayyar" &lt;nayyar_vipul@yahoo.com&gt;<br><b>To: </b>"Vijay Bellur" &lt;vbellur@redhat.com&gt;, "Paul Cuzner" &lt;pcuzner@redhat.com&gt;, "gluster-devel" &lt;gluster-devel@nongnu.org&gt;<br><b>Cc: </b>"Krishnan Parthasarathi" &lt;kparthas@redhat.com&gt;<br><b>Sent: </b>Wednesday, 12 February, 2014 3:54:10 AM<br><b>Subject: </b>Re: [Gluster-devel] New project on the Forge - gstatus<br><div><br></div><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10pt"><div>Hello,</div><div><br></div><div>I'm Vipul, a Computer Engg. student studying in New Delhi. I have some past experience in contributing to open source and I'm interested in contributing to Gluster along with learning from the community.</div><div><br></div><div>For the past couple of weeks, I've been in constant contact with Krishnan Parthasarathi, regarding building a tool named glusterfsiostat, an nfsiostat clone integrated with rrdtool(a data logging system)[1]. We believe that storing io-stats data in a database will be a great improvement over dumping it in a log file. Since it's a Round Robin database, so it's more suitable for our cause as we'll be generating time-series data and our window size would also be fixed. Plus, the data can be easily accessed from the db and
 processed/modified with a perl/bash script according to the consumer's requirement.</div><div><br></div><div>As for the issue of integrating the io-stats xlator code with rrdtool, Krish asked me to explore two aspects of it. First, compiling rrdtool code in io-stats optionally, only when the user provides a --enable-rrdtool like parameter during configure, can be done similar to how --disable-xml-output option is dealt with by configure and code compiled optionally by checking certain macros defined in confdefs.h.&nbsp;</div><div><br></div><div>On the second note, rrdtool provides a C API which works quite similar to the rrd comand line tool. So including the rrd C api in io-stats will do the work of storing stats in db. As written earlier, getting/displaying the data would just be a simple task of querying the rrd database.</div><div><br></div><div>Although I've spent some considerable time studying the io-stats code and the data structures being used,
 I think starting to work on a prototype along with everyone's criticism will help me a lot. Is there anywhere written, exactly what data is currently being logged and dumped in the log file ?? This will help me in identifying the important data structures and place the rrdtool code in the proper place, where it needs to be.</div><div><br></div><div>I know the draft above, seems quite simple and maybe it doesn't cover too many aspects that need to be dealt with beforehand, but that's where as an amateur contributor, I need the community's help.</div><div><br></div><div>I'll send a patch soon, your way, if you think that the direction in which I'm planning to tread is good for the community.</div><div><br></div><div>[1] http://oss.oetiker.ch/rrdtool/</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 13px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style:
 normal;">Hoping to hear your views soon.</div><div class="yui_3_13_0_ym1_6_1392125699955_19" style="background-color: transparent;"><br></div><div class="yui_3_13_0_ym1_6_1392125699955_21" style="background-color: transparent;">Regards</div><div><span></span></div><div class="yui_3_13_0_ym1_6_1392125699955_23" style="background-color: transparent;"><span style="background-color: transparent; line-height: 1.22;">Vipul Nayyar&nbsp;</span></div><div class="yahoo_quoted" style="display: block;"> <br> <br> <div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 10pt;"> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div dir="ltr"> <span style="font-family: Arial; font-size: small;" data-mce-style="font-family: Arial; font-size: small;" face="Arial" size="2"> On Monday, 10 February 2014 8:29 PM, Vijay Bellur &lt;vbellur@redhat.com&gt; wrote:<br> </span> </div>  <div class="y_msg_container">On 02/10/2014 02:00 AM, Paul Cuzner wrote:<br clear="none">&gt;<br clear="none">&gt; Hi,<br clear="none">&gt;<br clear="none">&gt; I've started a new project on the forge, called gstatus.- wiki page is<br clear="none">&gt; <a shape="rect" href="https://forge.gluster.org/gstatus/pages/Home" target="_blank">https://forge.gluster.org/gstatus/pages/Home</a><br clear="none">&gt;<br clear="none">&gt; The idea is to provide admins with a single command to assess the state<br clear="none">&gt; of the components of a cluster - nodes, bricks and volume states -<br clear="none">&gt; together with capacity information.<br clear="none">&gt;<br clear="none">&gt; It's the kind of feature that would be great (IMO) as a sub command of<br clear="none">&gt; gluster i.e. gluster status - but as a stop gap here's the python<br clear="none">&gt; project (we could even use this as a prototype!)<br clear="none">&gt;<br clear="none">&gt; On the wiki page, you'll find some additional volume status definitions<br clear="none">&gt; that I've
 dreamt up - online-degraded, online-partial, to describe the<br clear="none">&gt; effect brick down events have on a volume's data availability. There are<br clear="none">&gt; output examples on the wiki, but here's some examples to show you what<br clear="none">&gt; you currently get from the tool<br clear="none">&gt;<br clear="none">&gt; On my test 4-way cluster, this is what a healthy state looks like<br clear="none">&gt;<br clear="none">&gt; [<a shape="rect" href="mailto:root@rhs1-1" target="_blank">root@rhs1-1</a> gstatus]# ./gstatus.py<br clear="none">&gt; Analysis complete<br clear="none">&gt;<br clear="none">&gt; Cluster Summary:<br clear="none">&gt; Version - 3.4.0.44rhs Nodes - 4/ 4 Bricks - 4/ 4 Volumes - 1/ 1<br clear="none">&gt;<br clear="none">&gt; Volume Summary<br clear="none">&gt;&nbsp; &nbsp; myvol&nbsp; &nbsp;  ONLINE (4/4 bricks online) - Distributed-Replicate<br clear="none">&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
 &nbsp; Capacity: 64.53 MiB/19.97 GiB (used,total)<br clear="none">&gt;<br clear="none">&gt; Status Messages<br clear="none">&gt; Cluster is healthy, all checks successful<br clear="none">&gt;<br clear="none">&gt; And then if I take a *two nodes* down, that provide bricks to the *same<br clear="none">&gt; replica set*, I see;<br clear="none">&gt;<br clear="none">&gt; Analysis complete<br clear="none">&gt;<br clear="none">&gt;<br clear="none">&gt; Cluster Summary:<br clear="none">&gt; Version - 3.4.0.44rhs Nodes - 2/ 4 Bricks - 2/ 4 Volumes - 0/ 1<br clear="none">&gt;<br clear="none">&gt; Volume Summary<br clear="none">&gt; myvol&nbsp;  ONLINE_PARTIAL (2/4 bricks online) - Distributed-Replicate<br clear="none">&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Capacity: 32.27 MiB/9.99 GiB (used,total)<br clear="none">&gt;<br clear="none">&gt;<br clear="none">&gt; Status Messages<br clear="none">&gt;&nbsp; &nbsp; &nbsp; - rhs1-4 is down<br clear="none">&gt;&nbsp;
 &nbsp; &nbsp; - rhs1-2 is down<br clear="none">&gt;&nbsp; &nbsp; &nbsp; - Brick rhs1-4:/gluster/brick1 is down/unavailable<br clear="none">&gt;&nbsp; &nbsp; &nbsp; - Brick rhs1-2:/gluster/brick1 is down/unavailable<br clear="none">&gt;<br clear="none">&gt;<br clear="none">&gt;<br clear="none"><br clear="none"><br clear="none">This is great!<br clear="none"><br clear="none">I think adding one more for the client stack would be neat. A tool <br clear="none">similar to nfsstat/nfsiostat which can expose various counters in <br clear="none">iostats xlator and also status information like brick connectivity from <br clear="none">the client perspective. I also have a cool name for that - glusteriostat ;)<br clear="none"><br clear="none">Cheers,<br clear="none">Vijay<div class="yqt6968633811" id="yqtfd88736"><br clear="none"><br clear="none"><br clear="none">_______________________________________________<br clear="none">Gluster-devel mailing list<br clear="none"><a shape="rect" href="mailto:Gluster-devel@nongnu.org" target="_blank">Gluster-devel@nongnu.org</a><br clear="none"><a shape="rect" href="https://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">https://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br clear="none"></div><br><div><br></div></div>  </div> </div>  </div> </div></blockquote><div><br></div></div></body></html>