FileDocCategorySizeDatePackage
SysTrace.javaAPI DocAndroid 5.1 API4481Thu Mar 12 22:22:48 GMT 2015com.android.ex.camera2.utils

SysTrace

public final class SysTrace extends Object
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 {@link Debug#startMethodTracing}. In particular, it enables tracing of events that occur across multiple processes.

All traces are written using the

APP
tag.

Fields Summary
private static final String
TAG
private static final boolean
VERBOSE
private static int
sNestingLevel
Constructors Summary
Methods Summary
public static voidbeginSection(java.lang.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 {@link #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.

param
sectionName The name of the code section to appear in the trace. This may be at most 127 Unicode code units long.

        if (VERBOSE) {
            Log.v(TAG, String.format("beginSection[%d] %s", sNestingLevel, sectionName));
            sNestingLevel++;
        }
    
public static voidbeginSectionAsync(java.lang.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 {@link #endSectionAsync} using the same tag. Unlike {@link #beginSection} and {@link #endSection}, asynchronous events do not need to be nested. The name and cookie used to begin an event must be used to end it.

param
methodName The method name to appear in the trace.
param
cookie Unique identifier for distinguishing simultaneous events

        if (VERBOSE) {
            Log.v(TAG, "beginSectionAsync " + methodName + " " + cookie);
        }
    
public static voidendSection()
Writes a trace message to indicate that a given section of code has ended.

This call must be preceded by a corresponding call to {@link #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.

        if (VERBOSE) {
            sNestingLevel--;
            Log.v(TAG, String.format("endSection[%d]", sNestingLevel));
        }
    
public static voidendSectionAsync(java.lang.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 {@link #beginSectionAsync} using the same tag, name and cookie.

param
methodName The method name to appear in the trace.
param
cookie Unique identifier for distinguishing simultaneous events

        if (VERBOSE) {
            Log.v(TAG, "endSectionAsync " + methodName + " " + cookie);
        }
    
public static voidtraceCounter(java.lang.String counterName, int counterValue)
Writes trace message to indicate the value of a given counter.

param
counterName The counter name to appear in the trace.
param
counterValue The counter value.


                                   
           
        if (VERBOSE) {
            Log.v(TAG, "traceCounter " + counterName + " " + counterValue);
        }