summaryrefslogtreecommitdiff
path: root/dbug/readme.prof
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2006-02-14 22:36:11 +0100
committerunknown <serg@serg.mylan>2006-02-14 22:36:11 +0100
commitd3ee9abf2a15d96b6779b33ebe7606e7d53b8cd1 (patch)
tree1fd1c53fca7673d384fa493bf7a237ffa408bf38 /dbug/readme.prof
parent8017e9c4e726f8ab6b8b2c71f81e0e0036c21fcd (diff)
downloadmariadb-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.prof70
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