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