TNPM/dccmd

From neil.tappsville.com
Jump to navigationJump to search

Datachannel state queries

Show # of files waiting in the output directory of each component (on the current box), useful to see if the next component is falling behind (usually a UBA from a BLB)

find /appl/proviso/data/datachannel/*/output | cut -d "/" -f 6 | sort | uniq -c

Datachannel debug Commands

Start-up / Shutdown components, I'm always explict when specifying the components

dccmd start -pattern CHANNEL.UBA.2.251
dccmd start -pattern '''.DISC.'''
dccmd start -pattern CHANNEL.*.2.251

Dump ALL datachannel config (as read from the current topology file in the DB)

dccmd debug CMGR "self dbCfgPrint"

Dump Component Configuration

dccmd debug CME.1.1 "self configuration"

Dump all the datachannel configuration (looks like 4.4.1 format)

dccmd debug CMGR "self configuration"


Set log filter (till next re-start, //Warning: changes wont show when dumping component config//)

dccmd debug CME.1.1 "self logger filter: 'FEWI 1234'"

Dump the current log level of a component (will show current setting)

dccmd debug CME.1.1 "self logger filter"

Dump current memory model of sub-elements that the component knows about

dccmd debug SAMIF.2.251 "self pvModel subelementManager allItems"

print out the source code of a CME formula (use without createXMLReadableString to get the CMEs refactored version, good to watch to see how to make CME formulas more efficent)

dccmd debug CME.1.1 "(self pvModel formulaWithId: 11956) createXMLReadableString"

list all formulae loaded by CME.1.1

dccmd debug CME.1.1 "(self pvModel formulaManager allItems)" | grep cfl

To print all formulas and properties that the UBA is aware of run the following:

dccmd debug UBA.x.y "self server firstAdaptor pvModel formulaManager allFormulaNames"

dccmd debug CME.2.249 "self server pvModel formulaManager allFormulaNames"

To print out just one specific metric and the Metric ID (MID) run the following:

dccmd debug UBA.x.y "self server firstAdaptor pvModel formulaManager itemNamed:'METRICNAME'"
dccmd debug UBA.x.y "self server firstAdaptor pvModel formulaManager itemNamed:'AP~Generic~Universal~Errors~Outbound Errors (PDUs)'"

If the expected formula or property is not listed as part of output for the above commands, it means that UBA is not aware of this formula or property and in turn will not produce a data value for it. This could be the cause for the missing data in reports.


SAMIF debug (the HTTP Error thing), if Semaphore wait the SAMIF is bung.

dccmd debug SAMIF.x.y "Processor pvPrintProcessStacks"

Dump subelement and its properties (from memory) - Properties as dbIndexes

dccmd debug SAMIF.2.251 "(self pvModel subelementWithId:200007581) properties"

Dump subelement and its properties and property names(from memory) - Properties as dbIndexes

dccmd debug SAMIF.2.251 "|t1| t1 := (String new writeStream). (self pvModel subelementWithId:200007581) longPrintOn: t1. t1 contents"

samifDump CHANNEL.SUBCHANNEL - Alcatel 5620 SAM Tech Pack Inventory

dccmd -action debug -doit "(self server firstAdaptor inputSchemas at: #SAM) processFullDump" -pattern SAMIF.CHANNEL.{SUBCHANNEL]

qcifDump - Alcatel 5620 NM

dccmd -action debug -doit "self server dump5620Contents" -pattern QCIF.$1

Find out what file a UBA is waiting on

dccmd debug UBA.2.250 "(self server firstAdaptor rootOperator sources collect: each source -> each peek :each)"

There are a few things to take note of: (1) If you see NIL next to a schema, it may mean the schema has not seen (and processed) any input data. However, it may also be a transitional state during processing, so you should try the command a few minutes later to see if there has been any movement. (2) The date and time are in UTC.



This displays the timestamp and records the status of each schema. "nil" can indicate a schema has not seen any data, but it could also show “nil” while the pack is processing.

dccmd debug UBA.1.100 "(self server firstAdaptor rootOperator sources collect: each source -> each peek not Nil :each)"

Check if a Alcatel-Lucent 5620 SAM JMS connection has been broken (SAMIF)

egrep -e 'JMS''PROCESS|SAM''CONNECT|JMS communication' SAMIF.2.251.log

SAM Inventory - re-sync SAMIF with the database (used to refresh SAMIF if you have deleted objects from the db)

dccmd debug SAMIF.2.100 "self server firstAdaptor modelInterface generateFullIdMap"

UBA's miss-behaving.. make them produce a walkback file. To disable- bounce the affected component

dccmd debug UBA.X.Y "Pv ContextGrabber enable"
dccmd debug UBA.X.Y "Pv ContextGrabber default



Produces log - startDumpingWalkbacksFor: #DC12358""

Running this dccmd command should get you a list of the disabled subelements (Please note, there can be other reasons for a subelement to be disabled besides re-inventory ).

dccmd debug CME.x.y "self pvModel subelementManagers allItems select: ea is Disabled  :ea"

Print all formulas and properties that the UBA is aware of run the following (UBA)

dccmd debug UBA.x.y "self server firstAdaptor pvModel formulaManager allFormulaNames"

Investigate if a single formula is known by the component (UBA)

dccmd debug UBA.x.y "self server firstAdaptor pvModel formulaManager itemNamed:'METRICNAME'"

dccmd debug UBA.x.y "self server firstAdaptor pvModel formulaManager itemNamed:'AP~Generic~Universal~Errors~Outbound Errors (PDUs)'"

Display How long the CMEs take to pre-load every hour:

grep CME proviso.log | grep -v LDR | grep PERF_PREHOUR | awk '{ print $3,$6,$12}' | awk '{FS="-"; print $1,$3}' | sort -k 1


Loaded / unloaded patches

dccmd debug UBA.x.y	"PvIFManager default notLoadedPatches"
dccmd debug UBA.x.y	"PvIFManager default loadedPatches"

Launch the Cincom Small talk environment

./visual -noherald dc.im -headfull


Un tested from here --->


Set properties at Run Time

pvuser@dukenpas01# dccmd debug CMGR "self dbCfgPrint" | grep SNMP.1.1.LOG_FILTER
SNMP.1.1.LOG_FILTER=FEWI
pvuser@dukenpas01# dccmd debug CMGR "self dbCfgAt: 'SNMP.1.1.LOG_FILTER' put: 'FEWI 1234'"
pvuser@dukenpas01# dccmd debug CMGR "self dbCfgPrint" | grep SNMP.1.1.LOG_FILTER
SNMP.1.1.LOG_FILTER=FEWI 1234
dccmd debug CMGR "self dbCfgAt: 'CME.1.1.TRAP''IPADDRESS''FROM_ELEMENT' put: 'FALSE'"

To view HAM Configuration

 dccmd debug HAM.DUKENPAS01 "self mergedConfiguration"

Find Data Channel patches that are loaded


  dccmd debug CMGR "PvIFManager default loadedPatches"
  dccmd debug CMGR "PvIFManager default notLoadedPatches"

CME Profiling Mode

Run this command:

  dccmd debug CME.5.40 "Multi TimeProfiler startProfilingReportTo:   'multiTimeProfile.CME.5.40.txt' asFilename"


  Let this run for 2 hours, then run this to stop it:
dccmd debug CME.5.40 "Multi TimeProfiler stopProfiling"

That should produce a file in $DC_ROOT/state (or maybe bin)

Some More debug commands


  dccmd debug CME.1.1 "1+1"
  dccmd debug CME.1.1 "self"
  dccmd debug CME.1.1 "self pvModel"
  dccmd debug CME.1.1 "self pvModel propertyManager"
  dccmd debug CME.1.1 "self pvModel propertyManager itemsById"
  dccmd debug CME.1.1 "self pvModel propertyManager itemsByID"
  dccmd debug CME.1.1 "self pvModel propertyManager itemCount"
  dccmd debug CME.1.1 "self pvModel elementManager itemCount"
  dccmd debug CME.1.1 "self pvModel subelementManager itemCount"
  dccmd debug CME.1.1 "self engine"
  dccmd debug CME.1.1 "self server"
  dccmd debug CME.1.1 "self server pvModel"
  dccmd debug CME.1.1 "self server pvModel elementManager"
  dccmd debug CME.1.1 "self server sle"
  dccmd debug CME.1.1 "self server sle pvModel"
  dccmd debug CME.1.1 "self server sle pvModel elementManager"
  dccmd debug CME.1.1 "self server sle pvModel propertyManager"
  dccmd debug CME.1.1 "self server sle pvModel elementManager randomItem"
  dccmd debug CME.1.1 "self server sle pvModel elementManager randomItem properties"
  dccmd debug CME.1.1 "self server sle pvModel elementManager randomItem properties"
  dccmd debug CME.1.1 "self server sle pvModel elementManager randomItem properties"
  dccmd debug CME.1.1 "String streamContentsDo: self server sle pv Model elementManager itemsDo: [:elem | s nextPutAll: elem properties size printString; cr  :s "
  dccmd debug CME.1.1 "String streamContents: self server sle pv Model elementManager itemsDo: [:elem | s nextPutAll: elem properties size printString; cr  :s "
  dccmd debug CME.1.1 "String streamContents: self server sle pv Model elementManager itemsDo: [:elem | s nextPutAll: elem properties size printString; cr  :s " | more


Find metric classes expected by UBA

 dccmd debug UBA.4.300 "(self server firstAdaptor rootOperator sources collect:each source -> each peek :each)"
 dccmd debug UBA.4.300 "(self server firstAdaptor rootOperator sources collect:each source -> each peek not Nil :each)"