public final class SysTrace extends Object
This tracing mechanism is independent of the method tracing mechanism
offered by Debug#startMethodTracing
. In particular, it enables
tracing of events that occur across multiple processes.
All traces are written using the
APPtag.
Constructor and Description |
---|
SysTrace() |
Modifier and Type | Method and Description |
---|---|
static void |
beginSection(String sectionName)
Writes a trace message to indicate that a given section of code has begun.
|
static void |
beginSectionAsync(String methodName,
int cookie)
Writes a trace message to indicate that a given section of code has
begun.
|
static void |
endSection()
Writes a trace message to indicate that a given section of code has
ended.
|
static void |
endSectionAsync(String methodName,
int cookie)
Writes a trace message to indicate that the current method has ended.
|
static void |
traceCounter(String counterName,
int counterValue)
Writes trace message to indicate the value of a given counter.
|
public static void traceCounter(String counterName, int counterValue)
counterName
- The counter name to appear in the trace.counterValue
- The counter value.public static void beginSection(String sectionName)
endSection()
on the same thread.
At this time the vertical bar character '|', newline character '\n', and null character '\0' are used internally by the tracing mechanism. If sectionName contains these characters they will be replaced with a space character in the trace.
sectionName
- The name of the code section to appear in the trace. This may be at
most 127 Unicode code units long.public static void endSection()
This call must be preceded by a corresponding call to
beginSection(String)
. Calling this method will mark the end of
the most recently begun section of code, so care must be taken to ensure
that beginSection / endSection pairs are properly nested and called from
the same thread.
public static void beginSectionAsync(String methodName, int cookie)
Must be followed by a call to endSectionAsync(java.lang.String, int)
using the same
tag. Unlike beginSection(java.lang.String)
and endSection()
,
asynchronous events do not need to be nested. The name and cookie used to
begin an event must be used to end it.
methodName
- The method name to appear in the trace.cookie
- Unique identifier for distinguishing simultaneous eventspublic static void endSectionAsync(String methodName, int cookie)
beginSectionAsync(java.lang.String, int)
using the same tag, name and cookie.methodName
- The method name to appear in the trace.cookie
- Unique identifier for distinguishing simultaneous events