2013-08-05 9 views
6

Ho letto codice sorgente MySQL 5.5 e sono stato confuso dalla macro HAVE_PSI_INTERFACE, che è presente in molti file sorgente dell'intero progetto.Per che cosa viene utilizzata la macro HAVE_PSI_INTERFACE?

Per esempio, nella memoria file sorgente/es/ha_example.cc, c'è il seguente codice:

#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 

Che cosa vuol dire il HAVE_PSI_INTERFACE? In particolare, cosa significa la PSI? E a cosa serve la macro HAVE_PSI_INTERFACE?

Grazie.

risposta

3

PSI sta per: Interfaccia strumentazione schema prestazioni.

È possibile trovare un file psi.h here (con commenti)

+0

Grazie. Ho avuto più familiarità con la strumentazione di recente. – lulyon

Problemi correlati