Saturday, July 7, 2012

Useful logging information for cm and dm_oracle

Logging settings for cm and dm_oracle

1) For logging the time taken by opcode in the cm.pinlog
    Add the following lines in $PIN_HOME/sys/cm/pin.conf

     - cm enable_pcm_op_call_stack 1
     - cm max_pcm_op_call_stack_entries 256


This will start displaying the opcode time as below:
cm_pcm_op_call_stack
                Seconds Type  Opcode (flags, notes)
            0.000000000 Enter PCM_OP_READ_OBJ (0x0)
            0.000348000 .Enter PCM_OP_READ_OBJ (0x0)
            0.478129000 .Exit  PCM_OP_READ_OBJ (0x0) - from DM 0.0.0.1
            0.502946000 Exit  PCM_OP_READ_OBJ (0x0)


2) For setting the cm to debug level

    - cm cm_loglevel 3

3) For logging the PCM_OP_SEARCH input and output flist
    Add the following lines in $PIN_HOME/sys/cm/pin.conf

    - cm CMAP_DEBUG 0xFFFFFFFF
    - cm CM_DEBUG 0xFFFFFFFF

This should be used with cm in debug level.

4) Setting the cm log level to debug when cm is running

cat cm_debug3
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "CM"
0 PIN_FLD_LOGLEVEL INT [0] 3
XXX
#
xop PCM_OP_INFMGR_SET_LOGLEVEL 0 1
#


run the below command from $PIN_HOME/test
testnap cm_debug3

5) Setting the cm log level to error when cm is running

cat cm_debug1
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "CM"
0 PIN_FLD_LOGLEVEL INT [0] 1
XXX
#
xop PCM_OP_INFMGR_SET_LOGLEVEL 0 1
#

run the below command from $PIN_HOME/test
testnap cm_debug1

5) Setting the dm_oracle log level to debug when cm and dm are running

cat dm_debug3
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "DM"
0 PIN_FLD_DEBUG_FLAG ARRAY [1] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG"
1     PIN_FLD_FLAGS INT [0] 255
0 PIN_FLD_DEBUG_FLAG ARRAY [2] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG2"
1     PIN_FLD_FLAGS INT [0] 4090
0 PIN_FLD_DEBUG_FLAG ARRAY [3] allocated 20, used 2
1    PIN_FLD_NAME STR [0] "DM_DEBUG3"
1    PIN_FLD_FLAGS INT [0] 65535
XXX
#

run the below command from $PIN_HOME/test
testnap dm_debug3

6) Setting the dm_oracle log level to normal when cm and dm are running

cat dm_debug1
r << XXX  1
0 PIN_FLD_POID POID [0] 0.0.0.1 /account 1 1
0 PIN_FLD_COMPONENT STR [0] "DM"
0 PIN_FLD_DEBUG_FLAG ARRAY [1] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG"
1     PIN_FLD_FLAGS INT [0] 255
0 PIN_FLD_DEBUG_FLAG ARRAY [2] allocated 20, used 2
1     PIN_FLD_NAME STR [0] "DM_DEBUG2"
1     PIN_FLD_FLAGS INT [0] 0
0 PIN_FLD_DEBUG_FLAG ARRAY [3] allocated 20, used 2
1    PIN_FLD_NAME STR [0] "DM_DEBUG3"
1    PIN_FLD_FLAGS INT [0] 0
XXX
#
xop PCM_OP_INFMGR_SET_LOGLEVEL 0 1
#

 run the below command from $PIN_HOME/test
testnap dm_debug1

7) Setting the dm_oracle to debug level

Add the following lines in $PIN_HOME/sys/dm_oracle/pin.conf
- dm dm_debug 0xff
- dm dm_debug2 0xffa
- dm dm_debug3 0xffff


You can find the SQL statements as below in dm_oracle.pinlog file:
SQL_STMT do_sql_update: cmd="update account_t set poid_rev = poid_rev + 1, mod_t = :mod_t, cust_seg_list=:cust_seg_list, currency=:currency, currency_secondary=:currency_secondary where poid_id0 = :poid_id0"
There will be lot more useful information in dm_oracle.log file