Understanding of temporal threading pools

Hello,

This is regarding the various thread pools which are created internally. Do we have any docs on each of the thread pools significance.

1. workflow-thread-15
2. Workflow Poller taskQueue="DefaultTaskQueue", namespace="default": 5
3. workflow-method-xxxxx
4. Workflow Executor taskQueue="DefaultTaskQueue", namespace="default": 9
5. Activity Poller taskQueue="DefaultTaskQueue", namespace="default": 5
6. Activity Executor taskQueue="DefaultTaskQueue", namespace="default": 9

Pollers (workflow tasks, activity tasks):
WorkerOptions->setMaxConcurrentWorkflowTaskPollers/setMaxConcurrentActivityTaskPollers (default 5 for reach)
Your workers create by default 10 long-poll connections to service that service can dispatch workflow and activity tasks to. Each connection uses a thread from created poller pool.

Executors (for workflow tasks, activity tasks):
WorkerOptions->setMaxConcurrentWorkflowTaskExecutionSize/setMaxConcurrentActivityExecutionSize (default 200 for each)
Pollers deliver tasks to executors that are responsible for executing the workflow and activity tasks. Each executor slot uses thread from executors pool.

WorkerFactoryOptions->MaxWorkflowThreadCount (default 600) number of threads available for workflow executions across all workers created from this factory (includes cached workflows)

Thank you @tihomir

@tihomir what is the difference in terms of their roles between the thread named “Workflow Executor”, the thread named “workflow-method” and the thread named “workflow-thread-x”?