<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 05:58:46 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>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-63825] Report metrics for read/write queues</title>
                <link>https://jira.mongodb.org/browse/SERVER-63825</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Similarly to &lt;a href=&quot;https://github.com/10gen/mongo/blob/master/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp#L636-L653&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;what we do for read/write tickets.&lt;/a&gt;, we need to report metrics for the read/write queues:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Concurrency limit&lt;/li&gt;
	&lt;li&gt;Ops queued:
	&lt;ul&gt;
		&lt;li&gt;Total added&lt;/li&gt;
		&lt;li&gt;Total removed&lt;/li&gt;
		&lt;li&gt;Instantaneous number&lt;/li&gt;
		&lt;li&gt;Total time&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Ops being processed:
	&lt;ul&gt;
		&lt;li&gt;Total added&lt;/li&gt;
		&lt;li&gt;Total removed&lt;/li&gt;
		&lt;li&gt;Instantaneous number&lt;/li&gt;
		&lt;li&gt;Total time&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Total timed out operations&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="1986288">SERVER-63825</key>
            <summary>Report metrics for read/write queues</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="daniel.gomezferro@mongodb.com">Daniel Gomez Ferro</assignee>
                                    <reporter username="daniel.gomezferro@mongodb.com">Daniel Gomez Ferro</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Feb 2022 12:30:26 +0000</created>
                <updated>Sun, 29 Oct 2023 21:42:14 +0000</updated>
                            <resolved>Wed, 13 Apr 2022 14:36:58 +0000</resolved>
                                                    <fixVersion>6.0.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="4471793" author="xgen-internal-githook" created="Mon, 11 Apr 2022 09:49:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Daniel G&#243;mez Ferro&apos;, &apos;email&apos;: &apos;daniel.gomezferro@mongodb.com&apos;, &apos;username&apos;: &apos;dgomezferro&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-63825&quot; title=&quot;Report metrics for read/write queues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-63825&quot;&gt;&lt;del&gt;SERVER-63825&lt;/del&gt;&lt;/a&gt; Add metrics for read/write queues&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/ac3c13f7e6b641dea363dc12eb8cabc5eeb5daad&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/ac3c13f7e6b641dea363dc12eb8cabc5eeb5daad&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4383069" author="bruce.lucas@10gen.com" created="Tue, 1 Mar 2022 13:39:01 +0000"  >&lt;p&gt;That all sounds good to me, thanks.&lt;/p&gt;</comment>
                            <comment id="4382912" author="JIRAUSER1263153" created="Tue, 1 Mar 2022 11:42:02 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bruce.lucas&quot; class=&quot;user-hover&quot; rel=&quot;bruce.lucas&quot;&gt;bruce.lucas&lt;/a&gt;&#160;I updated the description with a new proposal, I like the idea of grouping metrics per lifecycle stage, I think there are only two stages: the operation is in a queue or being processed.&lt;/p&gt;

&lt;p&gt;For now we&apos;ve decided to remove the latency histogram to keep this simple, I&apos;ll open a new ticket to report the max latency in a rolling window interval.&lt;/p&gt;</comment>
                            <comment id="4369414" author="bruce.lucas@10gen.com" created="Tue, 22 Feb 2022 19:28:15 +0000"  >&lt;p&gt;Both of those metrics are a bit problematic because they are relative to the time interval they&apos;re measured over, so to include in FTDC you have to fix the time interval (1 sec? 1 min? Since the last serverStatus). By contrast averages can be computed from downstream tools (t2) from cumulative metrics over any desired time interval.&lt;/p&gt;

&lt;p&gt;Median usually doesn&apos;t add much that average doesn&apos;t tell you, so maybe not needed?&lt;/p&gt;

&lt;p&gt;99th %ile could be useful if you can accept the limitation I mentioned above. Computing it accurately might be expensive, but there&apos;s probably an efficient way to compute a useful approximation. Max might be just as useful (and that also can be computed over any time interval given max over every second).&lt;/p&gt;

&lt;p&gt;You could include a coarse histogram in FTDC if that would be useful. Alternatively some other projects have chosen to include a histogram in serverStatus to support targeted investigations, but exclude it from FTDC to save space.&lt;/p&gt;</comment>
                            <comment id="4366310" author="louis.williams" created="Mon, 21 Feb 2022 09:21:53 +0000"  >&lt;p&gt;Regarding histograms, the goal is just to understand tail latencies, so perhaps we can surface just median and 99th percentile latencies?&lt;/p&gt;</comment>
                            <comment id="4364187" author="bruce.lucas@10gen.com" created="Fri, 18 Feb 2022 16:05:58 +0000"  >&lt;p&gt;Thanks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Queue length: cumulative number of enqueued operations&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You didn&apos;t mean &quot;queue length&quot; for this did you? I assume &quot;enqueued&quot; and &quot;processed&quot; are two events in the lifecycle of an operation; maybe another one might be &quot;processing&quot;? Generally speaking, it could be useful to have 1) instantaneous number of operations in each phase of an operation lifecycle, and 2) cumulative time spent in each phase.&lt;/p&gt;</comment>
                            <comment id="4364005" author="JIRAUSER1263153" created="Fri, 18 Feb 2022 15:14:53 +0000"  >&lt;p&gt;Thanks &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bruce.lucas&quot; class=&quot;user-hover&quot; rel=&quot;bruce.lucas&quot;&gt;bruce.lucas&lt;/a&gt;, I&apos;ve updated the set of metrics based on your feedback.&lt;/p&gt;

&lt;p&gt;I&apos;ll check in with the rest of the team regarding histograms.&lt;/p&gt;</comment>
                            <comment id="4363748" author="bruce.lucas@10gen.com" created="Fri, 18 Feb 2022 13:46:09 +0000"  >&lt;p&gt;The general pattern for wait times in serverStatus is to report cumulative wait time (see various timeAcquiringMicros metrics). Downstream tooling (t2) then uses this to compute average queue lengths over any desired interval. This is a useful complement to instantaneous queue lengths, which can suffer from sampling artifacts.&lt;/p&gt;

&lt;p&gt;Averages shouldn&apos;t be reported directly in serverStatus as this will be less flexible because the period over which average is computed is fixed. Generally we avoid histograms in FTDC because they don&apos;t have much diagnostic value over and above averages, and take a lot of space.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="2000338">SERVER-64467</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                        <issuelink>
            <issuekey id="2025425">SERVER-65660</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2031009">SERVER-65890</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>8.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 18 Feb 2022 13:46:09 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 43 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16941"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1723</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 43 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>daniel.gomezferro@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>louis.williams@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0kodr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr25vo:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_22250" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Special Downgrade Instructions Required</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="23343"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="5812">Execution Team 2022-03-21</customfieldvalue>
    <customfieldvalue id="5813">Execution Team 2022-04-04</customfieldvalue>
    <customfieldvalue id="5814">Execution Team 2022-04-18</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i0kaj3:</customfieldvalue>

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