<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:37:36 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-34722] Add new server status metrics about oplog application</title>
                <link>https://jira.mongodb.org/browse/SERVER-34722</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Ideas for improvements:&lt;br/&gt;
Counts of replSetUpdatePosition commands sent&lt;br/&gt;
Counts of heartbeats sent to each node&lt;br/&gt;
Counts of heartbeats received from each node&lt;br/&gt;
Counts getMores sent to sync source&lt;br/&gt;
Lag of the updatePositionLastAppliedOpTime that primaries use to commit oplog entries.&lt;br/&gt;
Count of elections run&lt;br/&gt;
Count of how often we choose a new sync source (even if it&apos;s the same one)&lt;br/&gt;
Liveness/state view of every other node in the replica set&lt;/p&gt;</description>
                <environment></environment>
        <key id="535337">SERVER-34722</key>
            <summary>Add new server status metrics about oplog application</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="judah.schvimer@mongodb.com">Judah Schvimer</assignee>
                                    <reporter username="judah.schvimer@mongodb.com">Judah Schvimer</reporter>
                        <labels>
                            <label>former-quick-wins</label>
                    </labels>
                <created>Fri, 27 Apr 2018 18:41:32 +0000</created>
                <updated>Sun, 29 Oct 2023 22:32:17 +0000</updated>
                            <resolved>Fri, 11 Oct 2019 17:45:40 +0000</resolved>
                                                    <fixVersion>4.3.1</fixVersion>
                    <fixVersion>4.2.7</fixVersion>
                                    <component>Diagnostics</component>
                    <component>Replication</component>
                                        <votes>1</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="3053303" author="xgen-internal-githook" created="Thu, 23 Apr 2020 19:22:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Judah Schvimer&apos;, &apos;email&apos;: &apos;judah.schvimer@10gen.com&apos;, &apos;username&apos;: &apos;judahschvimer&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34722&quot; title=&quot;Add new server status metrics about oplog application&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34722&quot;&gt;&lt;del&gt;SERVER-34722&lt;/del&gt;&lt;/a&gt; Add new server status metrics about oplog application&lt;/p&gt;

&lt;p&gt;(cherry picked from commit 9b3801e457c4952e36f2a13d45387d647c301e03)&lt;br/&gt;
Branch: v4.2&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f776f6c33b6e4a871c760dc416fac73d3bf910fc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f776f6c33b6e4a871c760dc416fac73d3bf910fc&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2478310" author="xgen-internal-githook" created="Fri, 11 Oct 2019 17:39:55 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;judahschvimer&apos;, &apos;email&apos;: &apos;judah.schvimer@10gen.com&apos;, &apos;name&apos;: &apos;Judah Schvimer&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-34722&quot; title=&quot;Add new server status metrics about oplog application&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-34722&quot;&gt;&lt;del&gt;SERVER-34722&lt;/del&gt;&lt;/a&gt; Add new server status metrics about oplog application&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/9b3801e457c4952e36f2a13d45387d647c301e03&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/9b3801e457c4952e36f2a13d45387d647c301e03&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2432985" author="thomas.schubert" created="Wed, 25 Sep 2019 15:45:52 +0000"  >&lt;p&gt;I think that&apos;s sufficient. Thanks!&lt;/p&gt;</comment>
                            <comment id="2417238" author="judah.schvimer" created="Wed, 11 Sep 2019 22:04:16 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Counts getMores sent to sync source&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kelsey.schubert&quot; class=&quot;user-hover&quot; rel=&quot;kelsey.schubert&quot;&gt;kelsey.schubert&lt;/a&gt;, How is this different from &lt;a href=&quot;https://docs.mongodb.com/manual/reference/command/serverStatus/#serverstatus.metrics.repl.network.getmores.num&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;&quot;metrics.repl.network.getmores.num&quot;&lt;/a&gt;?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Lag of the updatePositionLastAppliedOpTime that primaries use to commit oplog entries.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I think what this is referring to is &lt;a href=&quot;https://docs.mongodb.com/manual/reference/command/replSetGetStatus/#replSetGetStatus.optimes.appliedOpTime&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;this &quot;appliedOpTime&quot; field&lt;/a&gt; in &lt;tt&gt;replSetGetStatus&lt;/tt&gt;. Do we want this in &lt;tt&gt;serverStatus&lt;/tt&gt; too, or is that sufficient?&lt;/p&gt;</comment>
                            <comment id="2129750" author="bruce.lucas@10gen.com" created="Mon, 28 Jan 2019 20:01:15 +0000"  >&lt;p&gt;Average parallelism for each batch, updated at end of each batch, could be useful: sum of times spent by individual worker threads applying ops divided by total time for batch.&lt;/p&gt;</comment>
                            <comment id="2129724" author="judah.schvimer" created="Mon, 28 Jan 2019 19:42:20 +0000"  >&lt;p&gt;Another metric to consider is how well we are using parallelism in secondary oplog application. I&apos;m not sure of the best way to capture this, but somehow checking if each worker thread on a secondary has a similar number of ops or is working for a similar amount of time per batch. Idle worker threads mean we&apos;re not being efficient with our parallelism.&lt;/p&gt;</comment>
                            <comment id="2050620" author="judah.schvimer" created="Fri, 2 Nov 2018 19:37:52 +0000"  >&lt;p&gt;Two things to add:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Number of ops applied incremented at batch boundaries rather than incremented per op&lt;/li&gt;
	&lt;li&gt;command op counter (opsCounterRepl command) on secondaries appears to not be updated&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="2048527" author="thomas.schubert" created="Thu, 1 Nov 2018 02:25:02 +0000"  >&lt;p&gt;I think I&apos;m most interested in:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Counts getMores sent to sync source
	&lt;ul&gt;
		&lt;li&gt;especially helpful for subtracting from load on the sync source to better understand application usage&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Lag of the updatePositionLastAppliedOpTime that primaries use to commit oplog entries.&lt;/li&gt;
	&lt;li&gt;Counts of replSetUpdatePosition commands sent&lt;/li&gt;
	&lt;li&gt;Count of how often we choose a new sync source (even if it&apos;s the same one)
	&lt;ul&gt;
		&lt;li&gt;Same one is hard with current metrics, so could be helpful addition to focus on interesting periods in the logs&lt;/li&gt;
		&lt;li&gt;We&apos;ve started recently capturing sync source id so changing is easy to spot&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Less sure about:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Count of elections run (would this just be term #?) or would we include about dry runs?&lt;/li&gt;
	&lt;li&gt;Counts of heartbeats, I doubt there will be new diagnostic information that isn&apos;t contained by the heartbeat lags metrics&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Already have (unless I&apos;m misunderstanding):&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Liveness/state view of every other node in the replica set&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="2045324" author="bruce.lucas@10gen.com" created="Mon, 29 Oct 2018 18:37:58 +0000"  >&lt;p&gt;Those metrics sound useful.&lt;/p&gt;</comment>
                            <comment id="1876505" author="judah.schvimer" created="Fri, 27 Apr 2018 18:42:45 +0000"  >&lt;p&gt;CC &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kelsey.schubert&quot; class=&quot;user-hover&quot; rel=&quot;kelsey.schubert&quot;&gt;kelsey.schubert&lt;/a&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;, please add any other metrics you think would be helpful and the best format for metrics.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10420">
                    <name>Backports</name>
                                            <outwardlinks description="backported by">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1307711">SERVER-47403</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="967695">DOCS-13094</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="926141">SERVER-43318</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="628595">SERVER-37910</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="628640">SERVER-37915</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_12450" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Backport Requested</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16775"><![CDATA[v4.2]]></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>Mon, 15 Oct 2018 18:21:02 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        3 years, 41 weeks, 6 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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Added 5 server status metrics:&lt;br/&gt;
repl.syncSource.numSelections: The number of times a node attempted to choose a node to sync from among the available sync source options. This occurs if we re-evaluate our sync source, receive an error from the source, or step down.&lt;br/&gt;
repl.syncSource.numTimesChoseSame: The number of times a node kept it&amp;#39;s original sync source after re-evaluating if its current sync source was optimal.&lt;br/&gt;
repl.syncSource.numTimesChoseDifferent: The number of times a node chose a new sync source after re-evaluating if its current sync source was optimal.&lt;br/&gt;
repl.syncSource.numTimesCouldNotFind: The number of times a node could not find a sync source when choosing a node to sync from among the available options.&lt;br/&gt;
repl.network.replSetUpdatePosition.num: The number of replSetUpdatePosition commands a node sent to its sync source.</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_17050" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Downstream Team Attention</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16942"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1421</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>
                            3 years, 41 weeks, 6 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>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>judah.schvimer@mongodb.com</customfieldvalue>
            <customfieldvalue>kelsey.schubert@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrjrif:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr8iev:</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_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="3106">Repl 2019-08-12</customfieldvalue>
    <customfieldvalue id="3200">Repl 2019-08-26</customfieldvalue>
    <customfieldvalue id="3201">Repl 2019-09-09</customfieldvalue>
    <customfieldvalue id="3202">Repl 2019-09-23</customfieldvalue>
    <customfieldvalue id="3260">Repl 2019-10-07</customfieldvalue>
    <customfieldvalue id="3261">Repl 2019-10-21</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_17051" key="com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes">
                        <customfieldname>Teams Impacted</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16944"><![CDATA[Docs]]></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|htw9if:</customfieldvalue>

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