MySQL 26.7.0
Source Code Documentation
thread_pool_psi.h
Go to the documentation of this file.
1// Copyright (c) 2026, Oracle and/or its affiliates.
2//
3// This program is free software; you can redistribute it and/or modify
4// it under the terms of the GNU General Public License, version 2.0,
5// as published by the Free Software Foundation.
6//
7// This program is designed to work with certain software (including
8// but not limited to OpenSSL) that is licensed under separate terms,
9// as designated in a particular file or component or in included license
10// documentation. The authors of MySQL hereby grant you an additional
11// permission to link the program and your derivative works with the
12// separately licensed software that they have either included with
13// the program or referenced in the documentation.
14//
15// This program is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18// GNU General Public License, version 2.0, for more details.
19//
20// You should have received a copy of the GNU General Public License
21// along with this program; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
23
24#ifndef MYSQL_SCHEDULER_THREAD_POOL_PSI_H
25#define MYSQL_SCHEDULER_THREAD_POOL_PSI_H
26
31
32namespace mysql::scheduler {
33
34/// @brief Thread_pool instrumentation parameters, packed into this
35/// structure to simplify construction of a Thread_pool class instance and
36/// prevent mistakes when passing a lot of integer parameters into the
37/// class constructor
39 /// thread: worker thread key
41 /// stage: waiting for work
43 /// stage: executing task
45 /// stage: thread stopped
47 /// memory: memory instrumentation object (thread pool queue)
49};
50
51} // namespace mysql::scheduler
52
53#endif // MYSQL_SCHEDULER_THREAD_POOL_PSI_H
Polymorphism-free memory resource class with custom allocator and deallocator functions.
Definition: memory_resource.h:88
Class that wraps resources in a polymorphic manner.
PSI_stage_key Stage_key
Definition: stage_srv.h:35
PSI_thread_key Thread_key
Definition: thread_srv.h:43
Definition: base_dependency_tracker.h:41
Thread_pool instrumentation parameters, packed into this structure to simplify construction of a Thre...
Definition: thread_pool_psi.h:38
concurrency::Stage_key key_stage_stopped
stage: thread stopped
Definition: thread_pool_psi.h:46
allocators::Memory_resource memory_resource
memory: memory instrumentation object (thread pool queue)
Definition: thread_pool_psi.h:48
concurrency::Stage_key key_stage_executing
stage: executing task
Definition: thread_pool_psi.h:44
concurrency::Stage_key key_stage_waiting
stage: waiting for work
Definition: thread_pool_psi.h:42
concurrency::Thread_key key_thread_worker
thread: worker thread key
Definition: thread_pool_psi.h:40