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;
|
||||
repeated Transition transitions = 2;
|
||||
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 {
|
||||
|
||||
@@ -28,7 +28,6 @@ import android.os.Trace;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.util.TraceBuffer;
|
||||
import com.android.wm.shell.nano.HandlerMapping;
|
||||
import com.android.wm.shell.sysui.ShellCommandHandler;
|
||||
|
||||
import com.google.protobuf.nano.MessageNano;
|
||||
@@ -41,6 +40,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Queue;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 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();
|
||||
proto.magicNumber = MAGIC_NUMBER_VALUE;
|
||||
writeHandlerMappingToProto(proto);
|
||||
long timeOffsetNs =
|
||||
TimeUnit.MILLISECONDS.toNanos(System.currentTimeMillis())
|
||||
- SystemClock.elapsedRealtimeNanos();
|
||||
proto.realToElapsedTimeOffsetNanos = timeOffsetNs;
|
||||
int pid = android.os.Process.myPid();
|
||||
LogAndPrintln.i(pw, "Writing file to " + file.getAbsolutePath()
|
||||
+ " from process " + pid);
|
||||
|
||||
Reference in New Issue
Block a user