Trace
  public
  
  final
  
  class
  Trace
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.os.Trace | 
Writes trace events to the system trace buffer. These trace events can be collected and visualized using the Systrace tool.
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.
 
For information about using the Systrace tool, read Analyzing Display and Performance with Systrace.
Summary
| Public methods | |
|---|---|
| 
        
        
        static
        
        
        void | 
      beginAsyncSection(String methodName, int cookie)
      Writes a trace message to indicate that a given section of code has begun. | 
| 
        
        
        static
        
        
        void | 
      beginSection(String sectionName)
      Writes a trace message to indicate that a given section of code has begun. | 
| 
        
        
        static
        
        
        void | 
      endAsyncSection(String methodName, int cookie)
      Writes a trace message to indicate that the current method has ended. | 
| 
        
        
        static
        
        
        void | 
      endSection()
      Writes a trace message to indicate that a given section of code has ended. | 
| 
        
        
        static
        
        
        boolean | 
      isEnabled()
      Checks whether or not tracing is currently enabled. | 
| 
        
        
        static
        
        
        void | 
      setCounter(String counterName, long counterValue)
      Writes trace message to indicate the value of a given counter. | 
| Inherited methods | |
|---|---|
Public methods
beginAsyncSection
public static void beginAsyncSection (String methodName, int cookie)
Writes a trace message to indicate that a given section of code has
 begun. Must be followed by a call to endAsyncSection(java.lang.String, int) with the same
 methodName and cookie. 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.
| Parameters | |
|---|---|
| methodName | String: The method name to appear in the trace.
 This value cannot benull. | 
| cookie | int: Unique identifier for distinguishing simultaneous events | 
beginSection
public static void beginSection (String sectionName)
Writes a trace message to indicate that a given section of code has begun. This call must
 be followed by a corresponding call to 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.
| Parameters | |
|---|---|
| sectionName | String: The name of the code section to appear in the trace.  This may be at
                    most 127 Unicode code units long.
 This value cannot benull. | 
| Throws | |
|---|---|
| IllegalArgumentException | if sectionNameis too long. | 
endAsyncSection
public static void endAsyncSection (String methodName, int cookie)
Writes a trace message to indicate that the current method has ended.
 Must be called exactly once for each call to beginAsyncSection(java.lang.String, int)
 using the same name and cookie.
| Parameters | |
|---|---|
| methodName | String: The method name to appear in the trace.
 This value cannot benull. | 
| cookie | int: Unique identifier for distinguishing simultaneous events | 
endSection
public static void endSection ()
Writes a trace message to indicate that a given section of code has ended. This call must
 be preceeded by a corresponding call to beginSection(java.lang.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.
isEnabled
public static boolean isEnabled ()
Checks whether or not tracing is currently enabled. This is useful to avoid intermediate string creation for trace sections that require formatting. It is not necessary to guard all Trace method calls as they internally already check this. However it is recommended to use this to prevent creating any temporary objects that would then be passed to those methods to reduce runtime cost when tracing isn't enabled.
| Returns | |
|---|---|
| boolean | true if tracing is currently enabled, false otherwise | 
setCounter
public static void setCounter (String counterName, long counterValue)
Writes trace message to indicate the value of a given counter.
| Parameters | |
|---|---|
| counterName | String: The counter name to appear in the trace.
 This value cannot benull. | 
| counterValue | long: The counter value. | 
