Trace Points' List Extended

From: John Sheldrake 

In article <32251DE6.1D6F@konstanz.netsurf.de>, Robert Weber  rambled on about
>Hi all,
>
>can anyone tell me, where I can get a list and a description of the 
>Ingres-Trace-Points. Some of them I found in the DBA-Guide, but I think
>there are a lot more.
>
>In the company I work, we are just trying to speed up performance and I 
>think with some trace points (for cache, rdf, etc....) you could check it 
>in a better way than the try-and-error-method.
>
>Thanks in advance
>Robert

You didn't get these from me.  Much joy may they bring you.  I cannot be 
responsible for any damage that results from using these.  Some of them 
intentionally crash the server.

DM001 - Same as SET LOCK_TRACE
DM010 - Same as SET IO_TRACE
dm0101 - Dump dmf memory pool (very useful but big)
dm0420 - Buffer manager performance statistics
dm0501 - Simple sort statistics
dm0600 - All
dm0601 - BTREE-Get
dm0602 - BTREE-Del
dm0603 - BTREE-Put
dm0604 - BTREE-Replace
dm0605 - BTREE-Split
dm0606 - BTREE-Merge
dm0607 - BTREE-Extend
dm0608 - BTREE-Allocate
dm0609 - BTREE-Search
dm0610 - BTREE-Build
dm0611-20 - Reserved for BTREE
dm0621 - HASH/ISAM/SEQ-Get
dm0622 - HASH/ISAM/SEQ-Del
dm0623 - HASH/ISAM/SEQ-Put
dm0624 - HASH/ISAM/SEQ-Replace
dm0625 - HASH/ISAM/SEQ-Extend
dm0626 - HASH/ISAM/SEQ-Allocate
dm0627 - HASH/ISAM/SEQ-Search
dm0628-40  - Reserved for HASH/ISAM/SEQ
dm750 - Verifydb trace
DM100 - Enable/disable stuff (?) eg DM11 
DM101 - Dump DMF stuff, like DM11 but doesn't need DM100.  
DM11 - Dump DMF control blocks to trace file  Needs DM100 turned
	on first
dm1100 - Not used
dm1101 - BTREE-Delete Secondary index, Crash before leaf written
dm1102 - BTREE-Delete Secondary index, Crash before return
dm1103 - BTREE-Delete, Crash before leaf written
dm1104 - BTREE-Delete, Crash before return
dm1105 - BTREE-Put, Crash after writing data but before writing leaf
dm1106 - BTREE-Put, Crash before return
dm1107 - BTREE-Replace, Crash after delete, before insert
dm1108 - BTREE-Replace, Crash before return
dm1109 - BTREE-Replace Secondary Index, Crash after delete, before insert
dm1110 - Not used
dm1111 - BTREE-Allocate, crash after splits
dm1112 - BTREE-File extend, Crash during extend
dm1113 - BTREE-File extend, Crash before chaining of pages
dm1114 - BTREE-File extend, Crash during chaining of pages
dm1115 - BTREE-File extend, Crash before log write
dm1116 - BTREE-File extend, Crash after header written
dm1117 - BTREE-File extend, Crash during freeing of page
dm1118 - BTREE-Split, Crash before commit of root split
dm1119 - BTREE-Split, Crash during split before log write
dm1120 - BTREE-Split, Crash during split, middle of writing page
dm1121 - BTREE-Split, Crash during split prior to commit
dm1122 - BTREE-Root split, Crash during split before page unfixed
dm1123 - BTREE-Root split, Crash during split after page unfixed
dm1124-40 - Reserved for BTREE
dm1141 - HASH/ISAM/SEQ(HEAP)-File extend, Crash during extend
dm1142 - HASH/ISAM/SEQ(HEAP)-File extend, Crash before link
dm1143-50 - Reserved for HASH/ISAM/SEQ
dm1151-99 - Not used
dm1200 - All
dm1202 - Call return status
dm1203 - Call input parameters
dm1204 - Call output parameters
dm1210 - Call timing enable
dm1211 - Call timing display
dm1212 - Call histogram timing display
dm1213 - Call timing display
dm1220 - Call memory checking
dm1301 - Print stats for fast commit thread
dm1302 - Print stats for write behind thread
dm1303 - Print stats for time taken to execute consistency point
DM1305 - Force a consistency point
DM1440 - Show work (ie, sort) locations 
DM420 - Display buffer manager performance stats (Use "set trace output
	'filename'" first)
DM421 - Flush DMF buffer cache 
DM501 - Simple sort statistics
DM612 - (6.4) BTREE internal error additions, server wide, slight perf penalty
DM614 - (6.4) Dump page to II_DBMS_LOG if corruption detected, server wide
DM615 - (6.4) [baseId] [indexId] Dump index to II_DBMS_LOG.  Get ids
	from iifile_info; baseId is enuf if btree base table
DM801 - DMF will skip bad rows (eg to allow modify of corrupted table)
DM802 - DMF will return garbage for bad rows (eg to allow deleting them)
op129 - Dump the query tree on entry to the OPF
OP130 - Dump the var map on entry (prior to update) of the query node
OP131 - Show variable map after equivalence updating
OP132 - Causes flattening of subselects to occur, with slight variations
	from correct results but with large performance gains
OP133 - Forces query flattening Workaround for DB procedure subquery
	bug, see 6.3/02 rel notes.
OP134 - Print message when about to begin processing an aggregate for a query
OP135 - Print the name of the source range variable for the aggregate
	about to be processed
OP136 - Print a message if a simple aggregate is found
op137 - Print the query subtree associated with the aggregate to be processed
OP138 - Print message when a new variable is created e.g. when an
	aggregate function is replaced by a new source variable
op139 - Trace the processing which decides that aggregates can be
computed together
op140 - Trace the replacement in the query tree of the result of an aggregate
OP141 - This flag affects semantics - if TRUE - do not project bydoms
	thus the default case is to project bydoms
OP142 - Print the time reqd to perform the optimization
OP143 - Print info about aggregates which will be executed together
op145 - Print the best tree (used by QEP)
OP146 - Dump query trees at start of aggregate processing
OP147 - Code to trace the checking of whether an aggregate can be
	combined with another aggregate in the query
OP148 - Print message when global range table variable is created
OP149 - Trace function attribute
OP150 - Trace a full QEF_QB_CB struct in OPC, useful for debugging OPC problems
OP151 - Suppress query compilation phase of optimiser so no query plan
	is produced - good for determining if problem is in OPF or OPC
OP152 - Equivalent to SET NOTIMEOUT  (ie look for very best plan)
OP153 - Print the key qualification
OP154 - Print the full OPC keying information
OP155 - Print the FUSED OPC keying info
OP156 - print all the joinop tables
OP157 - Print map of equivalence classes for which histograms are
	required as calculated by opn_sm1
op158 - Use the new sqlda2 structure with names
OP159 - Send warning messages to the user
OP160 - Optimize but do not execute this query (ie set optimizeonly)
op161 - Trace the data structs that opf passes to OPC
OP165 - Disables use of statistics for this session
OP166 - Enables a fake distributed optimizer
op167  - Enables a fake multi site query plan compilation
OP255  [] - Timeout optimisation after
	 has been evaluated.  If [] is specified,
	then timeout on  only for that subquery
ps016  - pst_header print queue
ps018  - pst_node
ps020  - pst_norml
ps021  - pst_resolve
ps050 
ps051  - pst_permit
ps070  - pst_show_tab
ps071  - pst_print
ps072  - disable validation of integrity
PS100  - Looks like repeated query trace - eg try "help" from sql.
QE90   - Dsiplay ACTUAL resources consumed - show diff between estimated and 
	 actual tuples, disk, cpu at each query execution node (best used with
	 set qep)
qs001  - Dump the object queue on session termination
qs002  - Announce entry and exit of all qsf calls
qs003  - Do consistency checks on session CB list
qs004  - Dump the object queue after each object has been created
qs005  - Do consistency checks on QSF's object queue
qs006  - When set all object queue dumps will be in long format
qs007  - Dump the queue only after a named object is created
qs008  - Show info when trying to clear an object from the object queue
qs009  - Generate a mem-pool map whenever an object queue is dumped
QS1001 - Send all info requests to the log file as well as the user
qs1002 - For each call to qsf_hash() for named objects show object ID
	and hash bucket
qs1003 - For all calls to qsf_hash()show object ID and hash bucket
QS501  - Display QSF pool stats - memleft, total, %used
QS502  - Display number of objects in QSF
QS503  - Display hash bucket stats
qs504  - display session stats
QS505  - Display LRU stats
QS506  - Flush the QSF pool & procedure cache (not recommended for a busy
	 production server)
QS510  - says it outputs ULM map but the code is dummied out in iimerge
rd001  - Dump whole information table block
rd002  - dump the relation info only
rd003  - dump the attributes info only
rd004  - dump the index info only
rd005  - dump the integrity tuples only
rd006  - dump the protection tuples only
rd007  - dump stats information only
RD111 -- Dump all RDR_INFO information (ie,do dumps 112 thru 122)
RD112 -- Dump the relation information.
RD113 -- Dump the attributes information.
RD114 -- Dump the indexes information.
RD115 -- Dump integrity tuples.
RD116 -- Dump protection tuples.
RD117 -- Dump the statistics information.
RD118 -- Dump attribute hash table information.
RD119 -- Dump primary key information.
RD120 -- Dump iirule tuples.
RD121 -- Dump view information.
RD122 -- Dump RDR_INFO strcuture (high level RDF info)
SC0     Print query text - use SET PRINTQRY
SC1     Trace extraordinary events *** NOTWORK?
SC1000  SCF trace point help
SC2     Print user alert events - use SET PRINTEVENTS
SC3     Log user alert events - use SET LOGEVENTS
SC4     Log SCE requests (from QEF)
SC5     Trace alert notifications to terminal
SC6     Trace alert state transitions to terminal
SC900   Declare exception handler for each utility service
SC901   Check SCF memory pool on each memory op
SC902   Write error messages to trace log  
SC903   Send all logged messages to the client 
SC904   Trace memory allocations to trace file
SC906   Log session startup and shutdown 
SC908 - Crash the server (my, how useful!)
SC909 - Dump server statistics (Use "set trace output 'filename'" first)
SC911   Dump server memory info 
SC921   Dump local server event memory 
SC922   Dump cross server event memory 
SC923   Alter SCE event processing - (help = 1000)

-----------------------------------------------------------------------
AJ Sheldrake -          |   There are 3 kinds of people in the world, |  
ajs@zedajs.demon.co.uk  |   those who can count and those who can't.  |
-----------------------------------------------------------------------
Ingres Q & A
To William's Home Page

© William Yuan 2000

Email William