6
私はMySQL 5.5のソースコードを読んでいて、プロジェクト全体の多くのソースファイルに現れているマクロHAVE_PSI_INTERFACEで混乱しています。例えばHAVE_PSI_INTERFACEマクロは何のために使用されていますか?
は、ソースファイルの保存/例/ ha_example.ccでは、次のコードがあります:
#ifdef HAVE_PSI_INTERFACE
static PSI_mutex_key ex_key_mutex_example, ex_key_mutex_EXAMPLE_SHARE_mutex;
static PSI_mutex_info all_example_mutexes[]=
{
{ &ex_key_mutex_example, "example", PSI_FLAG_GLOBAL},
{ &ex_key_mutex_EXAMPLE_SHARE_mutex, "EXAMPLE_SHARE::mutex", 0}
};
static void init_example_psi_keys()
{
const char* category= "example";
int count;
if (PSI_server == NULL)
return;
count= array_elements(all_example_mutexes);
PSI_server->register_mutex(category, all_example_mutexes, count);
}
#endif
のでHAVE_PSI_INTERFACEが何を意味するのでしょうか?具体的には、PSIは何を表していますか?そして、HAVE_PSI_INTERFACEマクロは何のために使われていますか?
ありがとうございました。
ありがとう(コメント付き)psi.hファイルhereを見つけることができます。私は最近Instrumentationに精通しています。 – lulyon