Removed DBG commands, issue #353

Closes #353
pull/433/head
René Cannaò 11 years ago
parent e36235aff3
commit 5a47c41c7e

@ -63,9 +63,6 @@ class MySQL_Session
void handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_STMT_PREPARE(PtrSize_t *);
void handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_STMT_EXECUTE(PtrSize_t *);
void handler___status_WAITING_SERVER_DATA___STATE_READING_COM_STMT_PREPARE_RESPONSE(PtrSize_t *);
#ifdef DEBUG
void handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_QUERY_debug(PtrSize_t *);
#endif /* DEBUG */
void handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_SET_OPTION(PtrSize_t *);
void handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_STATISTICS(PtrSize_t *);
bool handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_QUERY_qpo(PtrSize_t *);
@ -157,7 +154,6 @@ class MySQL_Session
void SQLite3_to_MySQL(SQLite3_result *, char *, int , MySQL_Protocol *);
void MySQL_Result_to_MySQL_wire(MYSQL *mysql, MYSQL_RES *result, MySQL_Protocol *myprot);
SQLite3_result * SQL3_Session_status();
unsigned int NumActiveTransactions();
unsigned long long IdleTime();

@ -185,7 +185,6 @@ class MySQL_Thread
//void myds_backend_pause_connect(MySQL_Data_Stream *myds);
//void myds_backend_first_packet_after_connect(MySQL_Data_Stream *myds, unsigned int n);
void listener_handle_new_connection(MySQL_Data_Stream *myds, unsigned int n);
SQLite3_result * SQL3_Thread_status(MySQL_Session *sess);
};
@ -301,7 +300,6 @@ class MySQL_Threads_Handler
MySQL_Threads_Handler();
~MySQL_Threads_Handler();
SQLite3_result * SQL3_Threads_status(MySQL_Session *);
char *get_variable_string(char *name);
uint8_t get_variable_uint8(char *name);

@ -421,27 +421,6 @@ __get_pkts_from_client:
switch ((enum_mysql_command)c) {
case _MYSQL_COM_QUERY:
__sync_add_and_fetch(&thread->status_variables.queries,1);
#ifdef DEBUG
if (mysql_thread___session_debug) {
if ((pkt.size>9) && strncasecmp("dbg ",(const char *)pkt.ptr+sizeof(mysql_hdr)+1,4)==0) {
CurrentQuery.begin((unsigned char *)pkt.ptr,pkt.size,true);
// if (mysql_thread___commands_stats==true) {
// CurrentQuery.init((unsigned char *)pkt.ptr,pkt.size,true);
// CurrentQuery.start_time=thread->curtime;
// CurrentQuery.query_parser_init();
// CurrentQuery.query_parser_command_type();
// }
handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_QUERY_debug(&pkt);
CurrentQuery.end();
// if (mysql_thread___commands_stats==true) {
// CurrentQuery.end_time=thread->curtime;
// CurrentQuery.query_parser_update_counters();
// CurrentQuery.query_parser_free();
// }
break;
}
}
#endif /* DEBUG */
if (admin==false) {
bool rc_break=false;
if (session_fast_forward==false) {
@ -1755,54 +1734,6 @@ void MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_C
}
}
#ifdef DEBUG
void MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_QUERY_debug(PtrSize_t *pkt) {
proxy_debug(PROXY_DEBUG_MYSQL_COM, 5, "Got ProxySQL dbg packet\n");
//SQLite3_result * result = SQL3_Session_status();
SQLite3_result * result=NULL;
char *query=NULL;
unsigned int query_length=pkt->size-sizeof(mysql_hdr);
query=(char *)l_alloc(query_length);
memcpy(query,(char *)pkt->ptr+sizeof(mysql_hdr)+1,query_length-1);
query[query_length-1]=0;
char *query_no_space=(char *)l_alloc(query_length);
memcpy(query_no_space,query,query_length);
/*unsigned int query_no_space_length=*/remove_spaces(query_no_space);
if (!strcasecmp(query_no_space,"DBG THREAD STATUS")) {
result = thread->SQL3_Thread_status(this);
goto __exit_from_debug;
}
if (!strcasecmp(query_no_space,"DBG THREADS STATUS")) {
result = GloMTH->SQL3_Threads_status(this);
goto __exit_from_debug;
}
if (!strcasecmp(query_no_space,"DBG SESSION STATUS")) {
result = SQL3_Session_status();
goto __exit_from_debug;
}
__exit_from_debug:
l_free(query_length,query);
l_free(query_length,query_no_space);
l_free(pkt->size,pkt->ptr);
client_myds->setDSS_STATE_QUERY_SENT_NET();
if (result) {
// SQLite3_result * result = thread->SQL3_Thread_status(this);
SQLite3_to_MySQL(result,NULL,0,&client_myds->myprot);
delete result;
} else {
client_myds->myprot.generate_pkt_ERR(true,NULL,NULL,1,1045,(char *)"#28000",(char *)"Command not supported");
}
client_myds->DSS=STATE_SLEEP;
}
#endif /* DEBUG */
void MySQL_Session::handler___status_WAITING_CLIENT_DATA___STATE_SLEEP___MYSQL_COM_INIT_DB(PtrSize_t *pkt) {
proxy_debug(PROXY_DEBUG_MYSQL_COM, 5, "Got COM_INIT_DB packet\n");
@ -2133,76 +2064,6 @@ void MySQL_Session::SQLite3_to_MySQL(SQLite3_result *result, char *error, int af
}
}
SQLite3_result * MySQL_Session::SQL3_Session_status() {
proxy_debug(PROXY_DEBUG_MYSQL_CONNECTION, 4, "Dumping MySQL Session status\n");
SQLite3_result *result=new SQLite3_result(4);
result->add_column_definition(SQLITE_TEXT,"ThreadID");
result->add_column_definition(SQLITE_TEXT,"Thread_ptr");
result->add_column_definition(SQLITE_TEXT,"Session_ptr");
result->add_column_definition(SQLITE_TEXT,"Status");
char buf[1024];
char **pta=(char **)malloc(sizeof(char *)*4);
long long int thread_id=syscall(SYS_gettid);
itostr(pta[0],thread_id);
pta[1]=(char *)malloc(32);
sprintf(pta[1],"%p",this->thread);
pta[2]=(char *)malloc(32);
sprintf(pta[2],"%p",this);
std::string status_str;
status_str.reserve(10000);
status_str = "\n";
status_str+= "============\n";
status_str+= "MySQL Thread\n";
status_str+= "============\n";
status_str+= "ThreadID: ";
status_str.append(pta[0]);
status_str+= "\n";
status_str+="\ndefault_schema : "; status_str.append(mysql_thread___default_schema);
status_str+="\nserver_version : "; status_str.append(mysql_thread___server_version);
sprintf(buf,"\ncapabilities : %d\npoll_timeout : %d\n", mysql_thread___server_capabilities, mysql_thread___poll_timeout);
status_str.append(buf);
status_str+= "\n";
sprintf(buf, "Proxy_Polls: %p , len: %d , loops: %lu\n", &thread->mypolls, thread->mypolls.len, thread->mypolls.loops);
status_str.append(buf);
for (unsigned int i=0; i < thread->mypolls.len; i++) {
MySQL_Data_Stream *_myds=thread->mypolls.myds[i];
sprintf(buf, "myds[%d]: %p = { fd=%d , events=%d , revents=%d } , type=%d , dss=%d , sess=%p , conn=%p\n", i, _myds , thread->mypolls.fds[i].fd , thread->mypolls.fds[i].events , thread->mypolls.fds[i].revents , _myds->myds_type , _myds->DSS , _myds->sess , _myds->myconn);
status_str.append(buf);
}
status_str+= "\n";
sprintf(buf, "MySQL Sessions: %p, len: %d\n", thread->mysql_sessions, thread->mysql_sessions->len);
status_str.append(buf);
for (unsigned int i=0; i < thread->mysql_sessions->len; i++) {
MySQL_Session *s=(MySQL_Session *)thread->mysql_sessions->pdata[i];
MySQL_Connection_userinfo *ui=s->client_myds->myconn->userinfo;
sprintf(buf, "session[%d] = %p :\n\tuserinfo={%s,%s} , status=%d , myds={%p,%p} , HG={d:%d,c:%d}\n\tLast query= ", i, s, ui->username, ui->schemaname, s->status, s->client_myds, s->mybe->server_myds, s->default_hostgroup, s->current_hostgroup);
status_str.append(buf);
if (mysql_thread___commands_stats==true) {
if (s->CurrentQuery.QueryLength && s->CurrentQuery.MyComQueryCmd!=MYSQL_COM_QUERY___NONE) {
status_str.append((char *)s->CurrentQuery.QueryPointer);
}
}
status_str+= "\n";
}
pta[3]=(char *)status_str.c_str();
result->add_row(pta);
for (int i=0; i<3; i++)
free(pta[i]);
free(pta);
return result;
}
void MySQL_Session::set_unhealthy() {
proxy_debug(PROXY_DEBUG_MYSQL_CONNECTION, 5, "Sess:%p\n", this);
healthy=0;

@ -1723,110 +1723,6 @@ void MySQL_Thread::listener_handle_new_connection(MySQL_Data_Stream *myds, unsig
}
}
SQLite3_result * MySQL_Thread::SQL3_Thread_status(MySQL_Session *sess) {
proxy_debug(PROXY_DEBUG_MYSQL_CONNECTION, 4, "Dumping MySQL Session status\n");
SQLite3_result *result=new SQLite3_result(4);
result->add_column_definition(SQLITE_TEXT,"ThreadID");
result->add_column_definition(SQLITE_TEXT,"Thread_ptr");
result->add_column_definition(SQLITE_TEXT,"Session_ptr");
result->add_column_definition(SQLITE_TEXT,"Status");
char buf[1024];
char buf2[1024];
char **pta=(char **)malloc(sizeof(char *)*4);
long long int thread_id=syscall(SYS_gettid);
itostr(pta[0],thread_id);
pta[1]=(char *)malloc(32);
sprintf(pta[1],"%p",this);
pta[2]=(char *)malloc(32);
sprintf(pta[2],"%p",sess);
std::string status_str;
status_str.reserve(10000);
status_str = "\n";
status_str+= "============\n";
status_str+= "MySQL Thread\n";
status_str+= "============\n";
status_str+= "ThreadID: ";
status_str.append(pta[0]);
status_str+= "\n";
status_str+="\ndefault_schema : "; status_str.append(mysql_thread___default_schema);
status_str+="\nserver_version : "; status_str.append(mysql_thread___server_version);
char *_tmp=GloMTH->get_variable_string((char *)"interfaces");
status_str+="\ninterfaces : "; status_str.append(_tmp);
free(_tmp);
sprintf(buf,"\ncapabilities : %d\npoll_timeout : %d\ncharset : %d\n", mysql_thread___server_capabilities, mysql_thread___poll_timeout, mysql_thread___default_charset);
status_str.append(buf);
status_str+= "\n";
int _c=curtime/1000000;
sprintf(buf, "Proxy_Polls: %p , len: %d , loops: %lu { %d , %d , %d , %d , %d }\n", &mypolls, mypolls.len, mypolls.loops, mypolls.loop_counters->sum(_c,1) , mypolls.loop_counters->sum(_c-1,1) , mypolls.loop_counters->sum(_c-2,1) , mypolls.loop_counters->sum(_c-3,1) , mypolls.loop_counters->sum(_c-4,1) );
status_str.append(buf);
for (unsigned int i=0; i < mypolls.len; i++) {
MySQL_Data_Stream *_myds=mypolls.myds[i];
if (_myds && _myds->myconn && _myds->myconn->parent) {
sprintf(buf2," = { HG=%d , addr=%s , port=%d }", _myds->myconn->parent->myhgc->hid , _myds->myconn->parent->address , _myds->myconn->parent->port );
}
if (_myds)
sprintf(buf, "myds[%d]: %p = { fd=%d , events=%d , revents=%d } , type=%d , dss=%d , sess=%p , trx=%d , conn=%p%s\n", i, _myds , mypolls.fds[i].fd , mypolls.fds[i].events , mypolls.fds[i].revents , _myds->myds_type , _myds->DSS , _myds->sess , _myds->active_transaction , _myds->myconn, ( (_myds->myconn && _myds->myconn->parent ) ? buf2 : "" ) );
status_str.append(buf);
}
status_str+= "\n";
sprintf(buf, "MySQL Sessions: %p, len: %d\n", mysql_sessions, mysql_sessions->len);
status_str.append(buf);
for (unsigned int i=0; i < mysql_sessions->len; i++) {
MySQL_Session *s=(MySQL_Session *)mysql_sessions->pdata[i];
if (s->client_myds) {
MySQL_Connection_userinfo *ui=s->client_myds->myconn->userinfo;
sprintf(buf, "session[%d] = %p : COM counters { %d , %d , %d , %d , %d , %d , %d , %d , %d , %d }\n\tuserinfo={%s,%s} , status=%d , myds={%p,%p} , HG={d:%d,c:%d}\n\tLast query= ", i, s, s->command_counters->sum(_c-0,1), s->command_counters->sum(_c-1,1), s->command_counters->sum(_c-2,1), s->command_counters->sum(_c-3,1), s->command_counters->sum(_c-4,1), s->command_counters->sum(_c-5,1), s->command_counters->sum(_c-6,1), s->command_counters->sum(_c-7,1), s->command_counters->sum(_c-8,1), s->command_counters->sum(_c-9,1), ui->username, ui->schemaname, s->status, s->client_myds, ( s->mybe ? s->mybe->server_myds : NULL ) , s->default_hostgroup, s->current_hostgroup);
status_str.append(buf);
if (s->CurrentQuery.QueryLength && s->CurrentQuery.MyComQueryCmd!=MYSQL_COM_QUERY___NONE) {
status_str.append((char *)s->CurrentQuery.QueryPointer);
}
status_str+= "\n";
}
}
pta[3]=(char *)status_str.c_str();
result->add_row(pta);
for (int i=0; i<3; i++)
free(pta[i]);
free(pta);
return result;
}
SQLite3_result * MySQL_Threads_Handler::SQL3_Threads_status(MySQL_Session *sess) {
proxy_debug(PROXY_DEBUG_MYSQL_CONNECTION, 4, "Dumping MySQL Threads Handler status\n");
SQLite3_result *result=new SQLite3_result(1);
result->add_column_definition(SQLITE_TEXT,"Status");
//char buf[1024];
unsigned int i;
for (i=0;i<num_threads;i++) {
MySQL_Thread *thr=(MySQL_Thread *)mysql_threads[i].worker;
if (thr!=sess->thread) spin_wrlock(&thr->thread_mutex);
}
//sleep(1);
for (i=0;i<num_threads;i++) {
MySQL_Thread *thr=(MySQL_Thread *)mysql_threads[i].worker;
if(thr!=sess->thread) spin_wrunlock(&thr->thread_mutex);
}
char **pta=(char **)malloc(sizeof(char *)*1);
std::string status_str;
status_str.reserve(10000);
status_str = "\n";
status_str+= "=====================\n";
status_str+= "MySQL Threads Handler\n";
status_str+= "=====================\n";
pta[0]=(char *)status_str.c_str();
result->add_row(pta);
free(pta);
return result;
}
SQLite3_result * MySQL_Threads_Handler::SQL3_GlobalStatus() {
const int colnum=2;
char buf[256];

Loading…
Cancel
Save