<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:20:05 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-15642] restore server read/write latency measurements </title>
                <link>https://jira.whamcloud.com/browse/LU-15642</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The patch &lt;a href=&quot;https://review.whamcloud.com/46075&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46075&lt;/a&gt; &quot;&lt;tt&gt;&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-12585&quot; title=&quot;obdfilter read_bytes stat reports requested read bytes and not actual read bytes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-12585&quot;&gt;&lt;del&gt;LU-12585&lt;/del&gt;&lt;/a&gt; obdfilter: Use actual I/O bytes in stats&lt;/tt&gt;&quot; changed the measurement of the read/write latency stats, so that they now contain the network round-trip time, while they previously only contained the local filesystem IO time. This caused the reported latency with 46076 applied to be much higher (tens or hundreds of &lt;em&gt;milli&lt;/em&gt;seconds) than the pre-patch latency (hundreds of &lt;em&gt;micro&lt;/em&gt;seconds for flash).&lt;/p&gt;

&lt;p&gt;While it may be necessary to account for the actual read/write bytes after the RPC transfer is complete, the code should account for the IO latency after the IO is complete, as it did before, rather than after the RPC is complete.  The RPC stats at the OST level and on the client will include the full RPC latency, and the ofd stats should only account for the storage latency.&lt;/p&gt;</description>
                <environment></environment>
        <key id="69087">LU-15642</key>
            <summary>restore server read/write latency measurements </summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</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="paf0186">Patrick Farrell</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                    </labels>
                <created>Sat, 12 Mar 2022 05:11:02 +0000</created>
                <updated>Thu, 11 May 2023 00:42:45 +0000</updated>
                                            <version>Lustre 2.15.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="329200" author="JIRAUSER16704" created="Mon, 14 Mar 2022 23:29:49 +0000"  >&lt;p&gt;&amp;gt; While it may be necessary to account for the actual read/write bytes after the RPC transfer is complete, the code should account for the IO latency after the IO is complete, as it did before, rather than after the RPC is complete. The RPC stats at the OST level and on the client will include the full RPC latency, and the ofd stats should only account for the storage latency.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;I don&apos;t know how much work this is, or if this is the best way to do things, but I think it might be useful to have both sets of counters (including for metadata operations):&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;I/O completion&lt;/li&gt;
	&lt;li&gt;I/O completion + after RPC completion (&amp;lt;countername&amp;gt;_rtt, or maybe an extra field that needs to be enabled via a tunable?)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;You can certainly collect the per client counters (via llite), but it&apos;s a lot more difficult to collect/munge/etc all of the client data than having an overall average server side for general use, such as identifying network congestion outside of the Lustre servers&apos; control.&#160;&lt;/p&gt;</comment>
                            <comment id="329332" author="adilger" created="Wed, 16 Mar 2022 03:20:24 +0000"  >&lt;p&gt;Steve, there are already stats that include the RPC network transfer time:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;# lctl get_param obdfilter.*.stats| egrep &quot;read|write|=&quot;
obdfilter.testfs-OST0003.stats=
read_bytes                26 samples [bytes] 1048576 4194304 104857600 433207581343744
write_bytes               25 samples [bytes] 4194304 4194304 104857600 439804651110400
read                      26 samples [usecs] 269 34432 83969 2362054419
write                     25 samples [usecs] 546 23458 87802 1197733848
# lctl get_param ost.OSS.ost_io.stats | egrep &quot;read|write&quot;
ost_read                  26 samples [usec] 2238 101196 469557 22435172467
ost_write                 25 samples [usec] 6709 106630 774811 36953324201
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="329340" author="gerrit" created="Wed, 16 Mar 2022 07:12:30 +0000"  >&lt;p&gt;&quot;Andreas Dilger &amp;lt;adilger@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46833&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46833&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15642&quot; title=&quot;restore server read/write latency measurements &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15642&quot;&gt;LU-15642&lt;/a&gt; obdclass: use consistent stats units&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a171d269253076d7c6c3e827ce116cab142add83&lt;/p&gt;</comment>
                            <comment id="329341" author="adilger" created="Wed, 16 Mar 2022 07:14:01 +0000"  >&lt;p&gt;Note  above patch does not fix the IO latency stats, just some improvements while I was looking at this code.&lt;/p&gt;</comment>
                            <comment id="345303" author="gerrit" created="Thu, 1 Sep 2022 05:53:49 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/46833/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46833/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15642&quot; title=&quot;restore server read/write latency measurements &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15642&quot;&gt;LU-15642&lt;/a&gt; obdclass: use consistent stats units&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: b515c6ec2ab84598c77c65eb78f1afd5e67b1ede&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="72739">LU-16231</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="56481">LU-12585</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="72029">LU-16110</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|i02kq7:</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>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>