2013-08-05 22 views
6

MySQL 5.5 kaynak kodunu okudum ve tüm projenin birçok kaynak dosyasında yer alan makro HAVE_PSI_INTERFACE ile kafam karıştı.HAVE_PSI_INTERFACE makrosu ne için kullanılır?

#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 

Yani HAVE_PSI_INTERFACE ne anlama gelir:

Örneğin, kaynak dosya depolama/example/ha_example.cc içinde, aşağıdaki kod var mı? Özellikle, PSI ne anlama geliyor? Ve HAVE_PSI_INTERFACE makrosu ne için kullanılıyor?

Teşekkürler.

cevap

3

PSI şu anlama gelir: Performans şeması enstrümantasyon arabirimi.

Sen

+0

teşekkür ederiz (yorumlarla) bir psi.h dosyasını here bulabilirsiniz. Yakın zamanda Enstrümantasyona daha aşina oldum. – lulyon

İlgili konular