<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:12:43 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-7880] add performance statistics to obd_statfs</title>
                <link>https://jira.whamcloud.com/browse/LU-7880</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In order to facilitate transfer of OST and MDT performance statistics for userspace applications, such as global NRS scheduling, SCR checkpoint scheduling, QOS and allocation decisions on the MDS, etc, it is useful to transport them via &lt;tt&gt;obd_statfs&lt;/tt&gt; to the clients.&lt;/p&gt;

&lt;p&gt;The statistics should include &amp;lt;peak, decaying average of current&amp;gt; &amp;lt;IOPS read, IOPS write, KiB/s read, KiB/s write&amp;gt;.&lt;/p&gt;

&lt;p&gt;The OSS and MDS already collect these statistics for presentation via &lt;tt&gt;/proc&lt;/tt&gt; and it should be possible to include them into &lt;tt&gt;struct obd_statfs&lt;/tt&gt; in newly-added fields at the end of the struct.&lt;/p&gt;

&lt;p&gt;The stats should be fetched and printed with &lt;tt&gt;lfs df --stats&lt;/tt&gt; command for all targets, but not necessarily for regular &lt;tt&gt;statfs()&lt;/tt&gt; requests. With &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10018&quot; title=&quot;MDT as a statfs proxy&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10018&quot;&gt;&lt;del&gt;LU-10018&lt;/del&gt;&lt;/a&gt; &quot;&lt;tt&gt;MDT as a statfs() proxy&lt;/tt&gt;&quot;, the &lt;tt&gt;MDT_STATFS&lt;/tt&gt; request now has an &lt;tt&gt;mdt_body&lt;/tt&gt; in the request which can be used to request different behaviour for the RPC.&lt;/p&gt;</description>
                <environment></environment>
        <key id="35343">LU-7880</key>
            <summary>add performance statistics to obd_statfs</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>medium</label>
                    </labels>
                <created>Tue, 15 Mar 2016 02:41:14 +0000</created>
                <updated>Wed, 4 Oct 2023 15:21:21 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="238447" author="bzzz" created="Wed, 12 Dec 2018 13:53:15 +0000"  >&lt;p&gt;do I understand correctly, that OFD should track performance on its own? something like a separate thread (or timer-driven callback) collecting stats from OSD and maintaining a history of average/peak throughput, RPC rate?&lt;/p&gt;

&lt;p&gt;AFAIU, we don&apos;t track average for last few seconds, just average since start or reset.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="245204" author="adilger" created="Wed, 3 Apr 2019 17:04:47 +0000"  >&lt;p&gt;We already track stats on the OST and MDT for RPCs, read/write calls with min/max duration, read_bytes/write_bytes with sums. It should be fairly straight forward to use the existing stats counters to generate peak performance and decaying average performance, either directly or by doing simple delta calculations when statfs is called (eg. save the last time and last stats and do a simple rate calculation over the past minute or whatever).  The MDS is already calling statfs in the background every 5s so that is often enough to keep this updated. &lt;/p&gt;</comment>
                            <comment id="388111" author="nrutman" created="Wed, 4 Oct 2023 15:21:21 +0000"  >&lt;p&gt;I suppose you can get instantaneous rates for the last 5 seconds if you only record the stats when called by the MDT. I think 60-second averages are more useful so we don&apos;t have to poll statfs so often; I suppose we could only record the stats if the timestamp of the last record is greater than 60 seconds, so we would effectively have 60-second epochs.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="48425">LU-10018</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="48585">LU-10070</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="10082">LU-9</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="48931">LU-10158</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzy4hj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>