← Back to team overview

maria-developers team mailing list archive

Re: MDEV-5019 - THREADPOOL - Create Information Schema Table for Threadpool

 

Hi Roberto,
 
The structures you need are in sql/threadpool_unix.cc
Global all_groups array contains  all thread groups . Every thread_group_t
has list of waiting threads , called "waiting_threads",  and queue of not
yet handled requests, called "queue" (request is represented by connection_t
), a listener  etc.
 
"Active" connections, i.e connections that currently are executing queries ,
can neither  be found in threadpool's waiting_threads, nor there is a
different "active" list for them. So you may want to introduce special
handling for those (i.e iterate the global "threads" list looking for active
connections, get corresponding connection_t* struct from
thd->event_scheduler.data, and do something with it, e.g look which thread
group it belongs)
 
On Windows,  I doubt you can implement any information_schema plugin for the
threadpool. This is because threadpool is native OS threadpool, and OS
structure representing it  PTP_POOL structure is opaque, and there is not
much info you can extract from it (well, maybe you can , if you debug with a
kernel debugger, but not otherwise)
 
Wlad
 
From: Maria-developers
[mailto:maria-developers-bounces+wlad=montyprogram.com@xxxxxxxxxxxxxxxxxxx]
On Behalf Of Roberto Spadim
Sent: Montag, 16. September 2013 21:20
To: maria-developers@xxxxxxxxxxxxxxxxxxx
Subject: [Maria-developers] MDEV-5019 - THREADPOOL - Create Information
Schema Table for Threadpool
 
Hi guys!
I openned a new MDEV https://mariadb.atlassian.net/browse/MDEV-5019 the idea
is expose the threadpool group information like oracle thread pool (more
information about oracle thread pool here:
<http://mikaelronstrom.blogspot.com.br/2011_10_01_archive.html>
http://mikaelronstrom.blogspot.com.br/2011_10_01_archive.html)
 
I can help, but i don't know how access the threadpool at
scheduler.h/scheduler.c from a information schema plugin
 
1) lock important mutex and others mdl
2) acess variables 
3) write information schema based on variables
 
1 and 2 i don't know how to do :( 
can anyone help ? :)
 
thanks guys :)
 
-- 
Roberto Spadim

Follow ups

References