18. Live Node Tracing

1.      General Descriptions:

This requirement specification describes the Application Programming Interface (API) and Command Line Interface (CLI) for improvement of tracing tool for on-lines applications. Currently, the tracing is collected at kernel level though it does not fully support the tracing of a call at customer sites where multi-processors are installed, because method calls of a single task may be allocated to different processors, i.e. running on different kernels.

2.      User Interfaces: User may collect tracing in their programs when an error occurred by using the API or issue command using CLI.

2.1  Application Programming Interface, API:

    TRACE    |  Start  |    D1 D2 D3 D4 D5   |  Stop |    d1 d2 d3 d4 d5   |   +/- No. of traces
      
·        Start is used to indicate the Classname:Method () where the tracing is initiated with its parameters specified in D1-D6
·     Similarly, Stop indicates the “terminating Classname:Method” where the collection of tracing ended if data in d1-d6 matched the trace. If the tracing mechanism could not find a match of terminating condition, it would stop automatically after a default number of traces are printed on the console.
·        If the stop field is omitted with “-“, the tracing will return a sequence of method calls within a task. The number of subsequent or preceding methods, which is started or ended with the start method respectively, is specified in the “No. of traces”. If this field was also omitted, 100 (default number) preceding method calls before the start-method would be printed.
·        Wild card, “*”, is used to indicate a “don’t care” data field
·        Ex 1: TRACE  ClassA:MethodB SNB 5147388300 B * * * - +60
The TRACE is triggered by a call of ClassA:MethodB with parameters D1=”SNB”, D2=5147388300, D3=”B” and 60 method calls followed by the ClassA:MethodB are recorded and printed on the console terminal.
·        Ex 2:  TRACE  ClassA:MethodB SNB 5147388300 A 12 * * ClassC:MethodD 5147388300 * * * *
 Return method calls between ClassA:MethodB with parameters D1=”SNB”, D2=5147388300, D3=”A”, D4=12 and ClassC:MethodD with d1=5147388300

2.2   Command Line Interface, CLI:

TRACE -start method -D1 data -D2 data -D3 data -D4 data -D5 data [-stop method -d1 data -d2 data -d3 data -d4 data -d5 data] [+/-Num]

·        User can collect tracings by entering the above command at the console. If stop-method and Num field were omitted, 100 (default number) preceding method calls before the start-method would be printed on the console.
·     Use of parameters is described in the section 2.1.
·     Ex 1: TRACE –start ClassA:MethodB –D1 8775400 –D2 * -D3 * -D4 * -D5 * +75

Start collecting 75 method calls followed the ClassA:MethodB with D1=8775400 and print the output on the console terminal.

2.3   Expected Output Data:

Output on the console consists of the Classname, Method name, and parameters associated with them. For example,

ClassA:MethodA 12, “example”, 4, 8 1234
ClassB:MethodC, MSNB, 5147388300, 12, 5, 134, 9832
ClassA:MethodB, “SNB”, 5147388300, “IMSI”, 23, 98

3. Miscelleanous Notes

Currently APY also offers live tracing. The input/output and format may be different. The notes were written back to 2000 to improve TEST SYSTEM on APZ.

Users should be able to enter a key to start tracing on live node, e.g. mobile phone number (MSNB), IP address, etc. on APY. Traces would be printed on the terminal limited to those selected keys.

Users must write special scripts with MSNB in order to trace specific calls placed by that user on APZ, otherwise system would be flooded with traces.

No comments:

Post a Comment