# name : microsec_process.patch # introduced : 11 or before # maintainer : Yasufumi # #!!! notice !!! # Any small change to this file in the main branch # should be done or reviewed by the maintainer! --- /dev/null +++ b/patch_info/microsec_process.info @@ -0,0 +1,8 @@ +File=microsec_process.patch +Name=Adds INFOMATION_SCHEMA.PROCESSLIST with TIME_MS column +Version=1.0 +Author=Percona +License=GPL +Comment= +2010-01 +Ported to 5.1.42 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1890,7 +1890,8 @@ TABLE *table= tables->table; CHARSET_INFO *cs= system_charset_info; char *user; - time_t now= my_time(0); + time_t now; + ulonglong now_utime= my_micro_time_and_time(&now); DBUG_ENTER("fill_process_list"); user= thd->security_ctx->master_access & PROCESS_ACL ? @@ -1974,6 +1975,10 @@ } mysql_mutex_unlock(&tmp->LOCK_thd_data); + /* TIME_MS */ + table->field[8]->store(((tmp->start_utime ? + now_utime - tmp->start_utime : 0)/ 1000)); + if (schema_table_store_record(thd, table)) { mysql_mutex_unlock(&LOCK_thread_count); @@ -7464,6 +7469,8 @@ {"STATE", 64, MYSQL_TYPE_STRING, 0, 1, "State", SKIP_OPEN_TABLE}, {"INFO", PROCESS_LIST_INFO_WIDTH, MYSQL_TYPE_STRING, 0, 1, "Info", SKIP_OPEN_TABLE}, + {"TIME_MS", MY_INT64_NUM_DECIMAL_DIGITS, MYSQL_TYPE_LONGLONG, + 0, 0, "Time_ms", SKIP_OPEN_TABLE}, {0, 0, MYSQL_TYPE_STRING, 0, 0, 0, SKIP_OPEN_TABLE} };