Add real to elapsed offset to shell transition trace
So the entries can be mapped to the respective unix timestamps for Winscope. Test: Capture trace from winscope and make sure timeline is properly synchronized Bug: 277181336 Change-Id: I2478b3ce98d2ffe639276715b3c3984a4e450152
This commit is contained in:
@@ -37,6 +37,9 @@ message WmShellTransitionTraceProto {
|
|||||||
required fixed64 magic_number = 1;
|
required fixed64 magic_number = 1;
|
||||||
repeated Transition transitions = 2;
|
repeated Transition transitions = 2;
|
||||||
repeated HandlerMapping handlerMappings = 3;
|
repeated HandlerMapping handlerMappings = 3;
|
||||||
|
/* offset between real-time clock and elapsed time clock in nanoseconds.
|
||||||
|
Calculated as: 1000000 * System.currentTimeMillis() - SystemClock.elapsedRealtimeNanos() */
|
||||||
|
optional fixed64 real_to_elapsed_time_offset_nanos = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Transition {
|
message Transition {
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ import android.os.Trace;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.internal.util.TraceBuffer;
|
import com.android.internal.util.TraceBuffer;
|
||||||
import com.android.wm.shell.nano.HandlerMapping;
|
|
||||||
import com.android.wm.shell.sysui.ShellCommandHandler;
|
import com.android.wm.shell.sysui.ShellCommandHandler;
|
||||||
|
|
||||||
import com.google.protobuf.nano.MessageNano;
|
import com.google.protobuf.nano.MessageNano;
|
||||||
@@ -41,6 +40,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Queue;
|
import java.util.Queue;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper class to collect and dump transition traces.
|
* Helper class to collect and dump transition traces.
|
||||||
@@ -241,6 +241,10 @@ public class Tracer implements ShellCommandHandler.ShellCommandActionHandler {
|
|||||||
new com.android.wm.shell.nano.WmShellTransitionTraceProto();
|
new com.android.wm.shell.nano.WmShellTransitionTraceProto();
|
||||||
proto.magicNumber = MAGIC_NUMBER_VALUE;
|
proto.magicNumber = MAGIC_NUMBER_VALUE;
|
||||||
writeHandlerMappingToProto(proto);
|
writeHandlerMappingToProto(proto);
|
||||||
|
long timeOffsetNs =
|
||||||
|
TimeUnit.MILLISECONDS.toNanos(System.currentTimeMillis())
|
||||||
|
- SystemClock.elapsedRealtimeNanos();
|
||||||
|
proto.realToElapsedTimeOffsetNanos = timeOffsetNs;
|
||||||
int pid = android.os.Process.myPid();
|
int pid = android.os.Process.myPid();
|
||||||
LogAndPrintln.i(pw, "Writing file to " + file.getAbsolutePath()
|
LogAndPrintln.i(pw, "Writing file to " + file.getAbsolutePath()
|
||||||
+ " from process " + pid);
|
+ " from process " + pid);
|
||||||
|
|||||||
Reference in New Issue
Block a user