maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #06249
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