<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:14:31 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-69831] Report on metrics gathered in the SessionWorkflow loop</title>
                <link>https://jira.mongodb.org/browse/SERVER-69831</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;&lt;b&gt;Context:&lt;/b&gt; &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55638&quot; title=&quot;Diagnostics for time spent sending responses to ingress queries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55638&quot;&gt;&lt;del&gt;SERVER-55638&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-63883&quot; title=&quot;Report operation latency from receiving request to sending response&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-63883&quot;&gt;SERVER-63883&lt;/a&gt; were both logged before our rework to SessionWorkflow started. They are both being closed in favor of an approach that consolidates the two implementations and allows for us to spend some time clarifying requirements with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bruce.lucas%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;bruce.lucas@mongodb.com&quot;&gt;bruce.lucas@mongodb.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Previous task:&lt;/b&gt; (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69830&quot; title=&quot;Capture metrics for the SessionWorkflow loop&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69830&quot;&gt;&lt;del&gt;SERVER-69830&lt;/del&gt;&lt;/a&gt;) ** At each stage of the SessionWorkflow, capture `timeSpent` and store it in an object associated 1:1 with each loop.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;This task:&lt;/b&gt; Report on these gathered metrics in a manner that&apos;s satisfactory to the requirements of stakeholders of the original tickets: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55638&quot; title=&quot;Diagnostics for time spent sending responses to ingress queries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55638&quot;&gt;&lt;del&gt;SERVER-55638&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-63883&quot; title=&quot;Report operation latency from receiving request to sending response&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-63883&quot;&gt;SERVER-63883&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Requirements should be discussed with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bruce.lucas%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;bruce.lucas@mongodb.com&quot;&gt;bruce.lucas@mongodb.com&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2141506">SERVER-69831</key>
            <summary>Report on metrics gathered in the SessionWorkflow loop</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="9">Done</resolution>
                                        <assignee username="matt.diener@mongodb.com">Matt Diener</assignee>
                                    <reporter username="matt.diener@mongodb.com">Matt Diener</reporter>
                        <labels>
                            <label>diagnostics</label>
                    </labels>
                <created>Tue, 20 Sep 2022 16:38:30 +0000</created>
                <updated>Wed, 2 Nov 2022 19:15:02 +0000</updated>
                            <resolved>Wed, 26 Oct 2022 18:07:51 +0000</resolved>
                                                    <fixVersion>6.2.0-rc0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="4916394" author="xgen-internal-githook" created="Thu, 20 Oct 2022 17:37:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Matt Diener&apos;, &apos;email&apos;: &apos;matt.diener@mongodb.com&apos;, &apos;username&apos;: &apos;mattdiener&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69831&quot; title=&quot;Report on metrics gathered in the SessionWorkflow loop&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69831&quot;&gt;&lt;del&gt;SERVER-69831&lt;/del&gt;&lt;/a&gt; Use slowQuery threshold for slow SessionWorkflow log&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5249027fda43443584bbabb3903a9f60db30301a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5249027fda43443584bbabb3903a9f60db30301a&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4858866" author="JIRAUSER1264675" created="Tue, 27 Sep 2022 15:53:50 +0000"  >&lt;p&gt;I have reason to believe that tracking all connections as they move through these states at this granularity will likely introduce some performance degradations that we don&apos;t want to take on, whereas a count of outliers is less likely to cause those problems. At that point FTDC doesn&apos;t seem much better than logging, from my perspective.&lt;/p&gt;

&lt;p&gt;The biggest question from my perspective pertains to configurability, and determining the threshold for &quot;slow&quot;. Can we use the same time threshold as slow queries or is there a reasonable case to be made for adding a 2nd value that can be configured?&lt;/p&gt;

&lt;p&gt;I&apos;m content if we use our best judgement for the rest.&lt;/p&gt;</comment>
                            <comment id="4858718" author="bruce.lucas@10gen.com" created="Tue, 27 Sep 2022 15:24:28 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=matt.diener%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;matt.diener@mongodb.com&quot;&gt;matt.diener@mongodb.com&lt;/a&gt; regarding the log lines, I think you&apos;re asking about the relative merits of a couple of design alternatives, but I can&apos;t quite follow what the alternatives are. Can you give a couple short examples of the alternatives to clarify?&lt;/p&gt;

&lt;p&gt;Generally speaking, I think the requirement is to log when sending a response (or receiving a request, I think) is slow, as this causes the client to see a slow response, whereas given the current logging we don&apos;t see any indication of that slowness. Ideally it should be possible to tie this slow response back to details of the query in some way. I &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-55638&quot; title=&quot;Diagnostics for time spent sending responses to ingress queries&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-55638&quot;&gt;&lt;del&gt;SERVER-55638&lt;/del&gt;&lt;/a&gt; I mentioned a couple of options.&lt;/p&gt;

&lt;p&gt;Regarding FTDC, I think it would be useful to have some information in FTDC. Generally the kind of information that&apos;s useful is number of connections in a particular state, and/or cumulative time spent between particular state transitions. I think there was some discussion in the design doc regarding some useful metrics of this type. I&apos;m not sure what metrics you have in mind to replace.&lt;/p&gt;

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

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="4845788" author="JIRAUSER1264675" created="Wed, 21 Sep 2022 16:57:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bruce.lucas%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;bruce.lucas@mongodb.com&quot;&gt;bruce.lucas@mongodb.com&lt;/a&gt; &#8211; some detailed questions that were not answered in the design:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;We&apos;re worried about changing when/how often the slow query log outputs because of tooling that is currently being built off of that log. It seems like the kind of thing which could have unforeseen downstream impact and cause more trouble than the change merits. Is that intuition reasonable?
	&lt;ul&gt;
		&lt;li&gt;If so, our plan is to have a 2nd log that&apos;s just tied to the SessionWorkflow loop (the loop that does &lt;tt&gt;receiveMessage -&amp;gt; processMessage -&amp;gt; sendMessageIfNeeded&lt;/tt&gt;). We&apos;ll measure each individual step, and the entirety of the flow where the server is not idling in the session.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;We were weighing configurability vs. simplicity in the log output of these diagnostics. Is it reasonable to use the same configured slow query timer to decide whether we want to log? Does it make sense to add a new configurable threshold or will that just make it harder to do configuration?
	&lt;ul&gt;
		&lt;li&gt;Our thoughts are that if we use the slow query log threshold, this log will always appear (its total elapsed time includes the entirety of the slow query&apos;s elapsed time). If the slowness associated with a query happens to land outside of the work captured by the slow query log, only this log will appear.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Do you see value in any FTDC reporting over all of these metrics? The design only calls out operation latency.
	&lt;ul&gt;
		&lt;li&gt;If so, should they be a replacement to existing metrics?&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ol&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2141498">SERVER-69830</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                        <issuelink>
            <issuekey id="2167706">DOCS-15705</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                                        </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2173480">SERVER-71029</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>4.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="10011"><![CDATA[Minor Change]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 27 Sep 2022 15:24:28 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 15 weeks, 6 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/SERVER-69830'>SERVER-69830</a></s>]]></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>A new log reports on the &amp;quot;session workflow&amp;quot; loop time if time taken exceeds the existing slowMs config. The session workflow includes all of the work captured by the slow query log, and more. We capture how long it took to:&lt;br/&gt;
1) Receive a message&lt;br/&gt;
2) Process that message into a work item (effectively a command)&lt;br/&gt;
3) Do the work (effectively the same time frame as slow query)&lt;br/&gt;
4) Send the response&lt;br/&gt;
5) Do any cleanup after sending a response&lt;br/&gt;
&lt;br/&gt;
We log if the time from steps 2-5 was slow (step 1 is not an indication of slowness because we are waiting for a client to send us a message).&lt;br/&gt;
&lt;br/&gt;
Note: this does not do sampling like the slow query log.</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-2398</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>matt.diener@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 15 weeks, 6 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>105.0</customfieldvalue>

                        </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>matt.diener@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i1b28v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0trh6:</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="6574">Service Arch 2022-10-03</customfieldvalue>
    <customfieldvalue id="6575">Service Arch 2022-10-17</customfieldvalue>
    <customfieldvalue id="6576">Service Arch 2022-10-31</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|i1aoe7:</customfieldvalue>

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