[SERVER-30567] Break out serviceExecutorTaskStats by task type Created: 08/Aug/17  Updated: 30/Oct/23  Resolved: 20/Nov/17

Status: Closed
Project: Core Server
Component/s: Diagnostics
Affects Version/s: None
Fix Version/s: 3.6.4, 3.7.1

Type: Improvement Priority: Major - P3
Reporter: Bruce Lucas (Inactive) Assignee: Fiona Rowan
Resolution: Fixed Votes: 21
Labels: SWDI
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Related
related to SERVER-32351 The task-specific totalTimeSpentExecu... Closed
related to SERVER-31266 Treat queued task reporting for adapt... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v3.6
Sprint: Platforms 2017-09-11, Platforms 2017-10-23, Platforms 2017-11-13, Platforms 2017-12-04
Participants:

 Description   

ServiceExecutorAdaptive maintains count and execution time metrics for the tasks that it executes and reports them in serviceExecutorTaskStats. However it is a generic task executor for multiple populations of tasks with very different characteristics (counts, latencies) and different diagnostic significance. These metrics would be more useful if they were broken by task type, for example by relevant SSM state (State::Source, State::Process, maybe others).



 Comments   
Comment by Githook User [ 01/Mar/18 ]

Author:

{'email': 'fiona.rowan@mongodb.com', 'name': 'Fiona Rowan', 'username': 'fionaRowan'}

Message: SERVER-30567: make lock references const

(cherry picked from commit 69a17fc7d0546651c4229f246292086982441346)
Branch: v3.6
https://github.com/mongodb/mongo/commit/3f41ea76c10b4bc70d7a4c715235efb1d303d8ce

Comment by Githook User [ 01/Mar/18 ]

Author:

{'email': 'fiona.rowan@mongodb.com', 'name': 'Fiona Rowan', 'username': 'fionaRowan'}

Message: SERVER-30567: Break out serviceExecutorTaskStats by task type

(cherry picked from commit 9440092d53a069ecca6c81cdbdbbf80f2d0cf033)
Branch: v3.6
https://github.com/mongodb/mongo/commit/9e5877453619ab74319c7ebb44b4128cf709b48b

Comment by Githook User [ 17/Nov/17 ]

Author:

{'name': 'Fiona Rowan', 'username': 'fionaRowan', 'email': 'fiona.rowan@mongodb.com'}

Message: SERVER-30567: make lock references const
Branch: master
https://github.com/mongodb/mongo/commit/69a17fc7d0546651c4229f246292086982441346

Comment by Githook User [ 17/Nov/17 ]

Author:

{'name': 'Fiona Rowan', 'email': 'fiona.rowan@mongodb.com'}

Message: SERVER-30567: Break out serviceExecutorTaskStats by task type
Branch: master
https://github.com/mongodb/mongo/commit/9440092d53a069ecca6c81cdbdbbf80f2d0cf033

Comment by Bruce Lucas (Inactive) [ 11/Aug/17 ]

The ssm (currently) calls schedule in about four cases:

  • scheduleNext with State::Source
  • scheduleNext with State::Process
  • reschedule _sourceCallback
  • reschedule _sinkCallback

I hacked in some metrics to track these cases, and that has been helpful for understanding behavior. Maybe this could be done in a more principled way by adding a "cause" argument to schedule that identifies why the schedule was called. This could be a string that looks up the metrics in a map, or it could be an integer from an enumerated type.

Generated at Thu Feb 08 04:24:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.