<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:32:29 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-33155] Export/report lock-held time statistics</title>
                <link>https://jira.mongodb.org/browse/SERVER-33155</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;tt&gt;serverStatus&lt;/tt&gt; includes stats for lock acquisitions and deadlocks, but doesn&apos;t report lock held time.  It would be good if it included these, since that information is useful for diagnosing problematic nodes.  I can provide a patch that we&apos;ve been running in production for several months if useful.&lt;/p&gt;</description>
                <environment></environment>
        <key id="493591">SERVER-33155</key>
            <summary>Export/report lock-held time statistics</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="kelsey.schubert@mongodb.com">Kelsey Schubert</assignee>
                                    <reporter username="bartle">David Bartley</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Feb 2018 02:20:33 +0000</created>
                <updated>Wed, 21 Mar 2018 04:32:47 +0000</updated>
                            <resolved>Wed, 21 Feb 2018 17:14:20 +0000</resolved>
                                                                    <component>Storage</component>
                                        <votes>0</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="1811778" author="thomas.schubert" created="Wed, 21 Feb 2018 17:14:20 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bartle&quot; class=&quot;user-hover&quot; rel=&quot;bartle&quot;&gt;bartle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&apos;m closing this ticket in favor of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33156&quot; title=&quot;Report lock statistics per collection in collstats&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-33156&quot;&gt;&lt;del&gt;SERVER-33156&lt;/del&gt;&lt;/a&gt; as we have some concerns about including collection specific lock metrics in serverstatus, and including it in collstats would server your needs.&lt;/p&gt;

&lt;p&gt;Kind regards,&lt;br/&gt;
Kelsey &lt;/p&gt;</comment>
                            <comment id="1800287" author="bartle" created="Fri, 9 Feb 2018 00:24:56 +0000"  >&lt;p&gt;Since WiredTiger supports document-level locking, we typically find that lock held time is a pretty good proxy for operation time (lock acquiring time is usually negligible).  If mongo wanted to support per-collection/per-db operation times, we&apos;d collect those metrics, but I think we&apos;d still opt to collect more detailed lock information as well, as it&apos;s always better to over-collect metrics &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;I think it&apos;d be fine to report per-collection information via &lt;tt&gt;collStats&lt;/tt&gt; and &lt;tt&gt;dbStats&lt;/tt&gt;, though we&apos;ve been fine with having that information reported via &lt;tt&gt;serverStatus&lt;/tt&gt; (it means that our metrics collector only needs to issue a single command, vs one per collection, which tends to be fairly slow).  Since &lt;tt&gt;serverStatus&lt;/tt&gt; already supports a mechanism to limit section output, one could imagine adding an &lt;tt&gt;extendedLocks&lt;/tt&gt; section, that would be disabled by default?&lt;/p&gt;</comment>
                            <comment id="1800030" author="bruce.lucas@10gen.com" created="Thu, 8 Feb 2018 21:08:47 +0000"  >&lt;p&gt;Hi David,&lt;/p&gt;

&lt;p&gt;Currently we have global operation count and operation latency metrics which give some related information. I think your request differs from this in two ways:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;You&apos;re asking for metrics regarding lock times. This is similar except 1) it excludes time spent queued, and 2) it can distinguish between different kinds of lock, and 3) a single operation can release and acquire locks multiple times. Would operation latency counts and metrics fill your needs?&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;You are asking for per-collection information. Generally per-collection information is something we wouldn&apos;t add to serverStatus as it could be quite large, but we could possibly add it to for example collection stats. Would this work for your use case?&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Thanks,&lt;br/&gt;
Bruce&lt;/p&gt;</comment>
                            <comment id="1799967" author="bartle" created="Thu, 8 Feb 2018 20:29:47 +0000"  >&lt;p&gt;We&apos;ve only found them useful in conjunction with &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-33156&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-33156&lt;/a&gt;; with that, there&apos;s a few ways we&apos;ve seen this be useful:&lt;br/&gt;
1) At a quick glance, it tells us which collections are &quot;busiest&quot;, both in terms of reads and writes&lt;br/&gt;
2) When we see CPU spike on a node, we can almost always correlate that with an increase in read lock to a specific collection, which helps narrow our debugging efforts&lt;br/&gt;
3) When we do version upgrades, we use these as a coarse way of determining if some pathological queries got worse (e.g. we saw changes between versions around specific collections that were effectively being used to contain global counters, where we do lots of findAndModifies)&lt;/p&gt;</comment>
                            <comment id="1799957" author="thomas.schubert" created="Thu, 8 Feb 2018 20:24:10 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bartle&quot; class=&quot;user-hover&quot; rel=&quot;bartle&quot;&gt;bartle&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Thanks for the feature request; we&apos;d be interested in reviewing your patch - would you be willing to open a pull request?&lt;/p&gt;

&lt;p&gt;Could you also speak to the types of issues you are using these the metrics to diagnose? I suspect that this information would be helpful to have, but additional context would help us as we consider how we can most effectively report these types of metrics.&lt;/p&gt;

&lt;p&gt;Please note that for us to consider a pull request, we would need you to sign the &lt;a href=&quot;https://www.mongodb.com/legal/contributor-agreement&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;contributor agreement&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks again,&lt;br/&gt;
Kelsey &lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="393939">SERVER-29632</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="493592">SERVER-33156</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>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 7 Feb 2018 02:25:10 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        5 years, 51 weeks 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_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>backlog-server-pm</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            5 years, 51 weeks ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>bartle</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|htpsfj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hthasn:</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_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>
                                    <customfieldvalue><![CDATA[kelsey.schubert@mongodb.com]]></customfieldvalue>
    

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

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