diff options
author | unknown <serg@serg.mylan> | 2006-02-14 22:36:11 +0100 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2006-02-14 22:36:11 +0100 |
commit | d3ee9abf2a15d96b6779b33ebe7606e7d53b8cd1 (patch) | |
tree | 1fd1c53fca7673d384fa493bf7a237ffa408bf38 /dbug/readme.prof | |
parent | 8017e9c4e726f8ab6b8b2c71f81e0e0036c21fcd (diff) | |
download | mariadb-git-d3ee9abf2a15d96b6779b33ebe7606e7d53b8cd1.tar.gz |
dbug changes:
1. dbug state is now local to a thread
2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL,
DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF
3. macros are do{}while(0) wrapped
4. incremental modifications to the dbug state (e.g. "+d,info:-t")
5. dbug code cleanup, style fixes
6. _db_on_ and DEBUGGER_ON/OFF removed
7. rest of MySQL code fixed because of 3 (missing ;) and 6
8. dbug manual updated
9. server variable @@debug (global and local) to control dbug from SQL!
a. -#T to print timestamps in the log
BitKeeper/deleted/.del-readme.prof~2f3bae1550a0038d:
Delete: dbug/readme.prof
client/mysqlslap.c:
typo fixed
configure.in:
test for sleep() too
dbug/dbug.c:
thread local dbug settings
DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
style changes to be more in line with MySQL code
cleanup (many mallocs removed)
incremental modification of dbug state (e.g. DBUG_PUSH("+t:-d,info"))
DBUG_SET, _db_explain_
-#T
dbug/monty.doc:
obsolete and duplicate docs removed
dbug/user.r:
new features documented
include/my_dbug.h:
correct do{}while wrapping
thread local dbug settings
DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
DBUG_EVALUATE,DBUG_EVALUATE_IF
libmysql/libmysql.c:
remove _db_on_ and DEBUGGER_ON/OFF
mysys/my_init.c:
missed DBUG_RETURN
mysys/my_thr_init.c:
bugfix - transaction id's are unsigned
mysys/testhash.c:
remove _db_on_ and DEBUGGER_ON/OFF
sql/ha_myisammrg.cc:
missed ;
sql/ha_ndbcluster.cc:
remove _db_on_ and DEBUGGER_ON/OFF
missed ;
sql/ha_ndbcluster_binlog.cc:
remove _db_on_ and DEBUGGER_ON/OFF
missed ;
sql/item_cmpfunc.cc:
missed ;
sql/lock.cc:
missed DBUG_RETURN
sql/log_event.cc:
missed ;
sql/mysqld.cc:
remove _db_on_ and DEBUGGER_ON/OFF
missed ;
DBUG_SET_INITIAL
sql/opt_range.cc:
remove _db_on_ and DEBUGGER_ON/OFF
sql/set_var.cc:
class sys_var_thd_dbug and "debug" server variable
sql/set_var.h:
class sys_var_thd_dbug and "debug" server variable
sql/slave.cc:
missed ;
sql/sql_cache.cc:
missed ;
sql/sql_plugin.cc:
missed ;
sql/sql_select.cc:
remove _db_on_ and DEBUGGER_ON/OFF
storage/heap/hp_test2.c:
remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_eval.c:
remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_test1.c:
remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_open.c:
remove _db_on_ and DEBUGGER_ON/OFF
missed ;
storage/myisam/mi_test1.c:
remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test2.c:
remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test3.c:
remove _db_on_ and DEBUGGER_ON/OFF
storage/ndb/src/ndbapi/DictCache.cpp:
missed ;
storage/ndb/src/ndbapi/NdbTransaction.cpp:
missed ;
tests/mysql_client_test.c:
remove _db_on_ and DEBUGGER_ON/OFF
Diffstat (limited to 'dbug/readme.prof')
-rw-r--r-- | dbug/readme.prof | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/dbug/readme.prof b/dbug/readme.prof deleted file mode 100644 index cfffe376857..00000000000 --- a/dbug/readme.prof +++ /dev/null @@ -1,70 +0,0 @@ -Hi, - -I'm sending you the modifications I made to your Dbug routines to -allow profiling in a (relatively) machine independent fashion. -I use your Dbug routines fairly extensively. Unfortunately, it's -a royal pain to have to keep profiled versions of various libraries -around. The modifications allow profiling without the need for this. - -How it works. ------------- - -Basically, I just added code in the dbug routines to write out a file -called dbugmon.out (by default). This is an ascii file containing lines -of the form: - -<function-name> E <time-entered> -<function-name> X <time-exited> - -A second program (analyze) reads this file, and produces a report on -standard output. - -Profiling is enabled through the `g' flag. It can take a list of -procedure names for which profiling is enabled. By default, it -profiles all procedures. - -The code in ``dbug.c'' opens the profile file for appending. This -is in order that one can run a program several times, and get the -sum total of all the times, etc. - -The only system dependent part that I'm aware of is the routine -Clock() at the end of dbug.c. This returns the elapsed user time -in milliseconds. The version which I have is for 4.3 BSD. As I -don't have access to other systems, I'm not certain how this would -change. - -An example of the report generated follows: - - Profile of Execution - Execution times are in milliseconds - - Calls Time - ----- ---- - Times Percentage Time Spent Percentage -Function Called of total in Function of total Importance -======== ====== ========== =========== ========== ========== -factorial 5 83.33 30 100.00 8333 -main 1 16.67 0 0.00 0 -======== ====== ========== =========== ========== -Totals 6 100.00 30 100.00 - - -As you can see, it's quite self-evident. The ``Importance'' column is a -metric obtained by multiplying the percentage of the calls and the percentage -of the time. Functions with higher 'importance' benefit the most from -being sped up. - -I'm really not certain how to add support for setjmp/longjmp, or for -child processes, so I've ignored that for the time being. In most of -the code that I write, it isn't necessary. If you have any good ideas, -feel free to add them. - -This has been very useful to me. If you can use it as part of your -dbug distribution, please feel free to do so. - -Regards, - - Binayak Banerjee - {allegra | astrovax | bpa | burdvax}!sjuvax!bbanerje - bbanerje%sjuvax.sju.edu@relay.cs.net - July 9, 1987 |