Add dump_stack_traces_io_time to the duration array
Replace dumped_process_count (currently unused) with dump_stack_traces_io_time Test: Modified a unit test and tested on device Bug: 265020513 Change-Id: Ie052c507e5ebcf5e7be9a470e9a71b1711581d13
This commit is contained in:
@@ -79,11 +79,11 @@ public class AnrLatencyTracker implements AutoCloseable {
|
||||
private int mAnrType;
|
||||
private int mDumpedProcessesCount = 0;
|
||||
|
||||
private long mFirstPidsDumpingStart;
|
||||
private long mFirstPidsDumpingStartUptime;
|
||||
private long mFirstPidsDumpingDuration = 0;
|
||||
private long mNativePidsDumpingStart;
|
||||
private long mNativePidsDumpingStartUptime;
|
||||
private long mNativePidsDumpingDuration = 0;
|
||||
private long mExtraPidsDumpingStart;
|
||||
private long mExtraPidsDumpingStartUptime;
|
||||
private long mExtraPidsDumpingDuration = 0;
|
||||
|
||||
private boolean mIsPushed = false;
|
||||
@@ -223,37 +223,37 @@ public class AnrLatencyTracker implements AutoCloseable {
|
||||
|
||||
/** Records the start of pid dumping to file (subject and criticalEventSection). */
|
||||
public void dumpingFirstPidsStarted() {
|
||||
mFirstPidsDumpingStart = getUptimeMillis();
|
||||
mFirstPidsDumpingStartUptime = getUptimeMillis();
|
||||
Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "dumpingFirstPids");
|
||||
}
|
||||
|
||||
/** Records the end of pid dumping to file (subject and criticalEventSection). */
|
||||
public void dumpingFirstPidsEnded() {
|
||||
mFirstPidsDumpingDuration = getUptimeMillis() - mFirstPidsDumpingStart;
|
||||
mFirstPidsDumpingDuration = getUptimeMillis() - mFirstPidsDumpingStartUptime;
|
||||
Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
|
||||
}
|
||||
|
||||
/** Records the start of pid dumping to file (subject and criticalEventSection). */
|
||||
public void dumpingNativePidsStarted() {
|
||||
mNativePidsDumpingStart = getUptimeMillis();
|
||||
mNativePidsDumpingStartUptime = getUptimeMillis();
|
||||
Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "dumpingNativePids");
|
||||
}
|
||||
|
||||
/** Records the end of pid dumping to file (subject and criticalEventSection). */
|
||||
public void dumpingNativePidsEnded() {
|
||||
mNativePidsDumpingDuration = getUptimeMillis() - mNativePidsDumpingStart;
|
||||
mNativePidsDumpingDuration = getUptimeMillis() - mNativePidsDumpingStartUptime;
|
||||
Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
|
||||
}
|
||||
|
||||
/** Records the start of pid dumping to file (subject and criticalEventSection). */
|
||||
public void dumpingExtraPidsStarted() {
|
||||
mExtraPidsDumpingStart = getUptimeMillis();
|
||||
mExtraPidsDumpingStartUptime = getUptimeMillis();
|
||||
Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "dumpingExtraPids");
|
||||
}
|
||||
|
||||
/** Records the end of pid dumping to file (subject and criticalEventSection). */
|
||||
public void dumpingExtraPidsEnded() {
|
||||
mExtraPidsDumpingDuration = getUptimeMillis() - mExtraPidsDumpingStart;
|
||||
mExtraPidsDumpingDuration = getUptimeMillis() - mExtraPidsDumpingStartUptime;
|
||||
Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ public class AnrLatencyTracker implements AutoCloseable {
|
||||
* Returns latency data as a comma separated value string for inclusion in ANR report.
|
||||
*/
|
||||
public String dumpAsCommaSeparatedArrayWithHeader() {
|
||||
return "DurationsV1: " + mAnrTriggerUptime
|
||||
return "DurationsV2: " + mAnrTriggerUptime
|
||||
/* triggering_to_app_not_responding_duration = */
|
||||
+ "," + (mAppNotRespondingStartUptime - mAnrTriggerUptime)
|
||||
/* app_not_responding_duration = */
|
||||
@@ -369,8 +369,8 @@ public class AnrLatencyTracker implements AutoCloseable {
|
||||
|
||||
/* anr_queue_size_when_pushed = */
|
||||
+ "," + mAnrQueueSize
|
||||
/* dumped_processes_count = */
|
||||
+ "," + mDumpedProcessesCount
|
||||
/* dump_stack_traces_io_time = */
|
||||
+ "," + (mFirstPidsDumpingStartUptime - mDumpStackTracesStartUptime)
|
||||
+ "\n\n";
|
||||
|
||||
}
|
||||
@@ -422,7 +422,7 @@ public class AnrLatencyTracker implements AutoCloseable {
|
||||
|
||||
/* total_duration = */ mEndUptime - mAnrTriggerUptime,
|
||||
/* triggering_to_stack_dump_duration = */
|
||||
mFirstPidsDumpingStart - mAnrTriggerUptime,
|
||||
mFirstPidsDumpingStartUptime - mAnrTriggerUptime,
|
||||
/* triggering_to_app_not_responding_duration = */
|
||||
mAppNotRespondingStartUptime - mAnrTriggerUptime,
|
||||
/* app_not_responding_duration = */
|
||||
|
||||
3
core/java/com/android/internal/os/anr/OWNERS
Normal file
3
core/java/com/android/internal/os/anr/OWNERS
Normal file
@@ -0,0 +1,3 @@
|
||||
benmiles@google.com
|
||||
gaillard@google.com
|
||||
mohamadmahmoud@google.com
|
||||
@@ -57,7 +57,9 @@ public class AnrLatencyTrackerTests {
|
||||
.thenReturn(158L)
|
||||
.thenReturn(165L)
|
||||
.thenReturn(175L)
|
||||
.thenReturn(188L);
|
||||
.thenReturn(198L)
|
||||
.thenReturn(203L)
|
||||
.thenReturn(209L);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -109,7 +111,7 @@ public class AnrLatencyTrackerTests {
|
||||
mLatencyTracker.close();
|
||||
|
||||
assertThat(mLatencyTracker.dumpAsCommaSeparatedArrayWithHeader())
|
||||
.isEqualTo("DurationsV1: 50,5,25,8,100,2,3,7,8,15,2,7,13,10,3,4\n\n");
|
||||
.isEqualTo("DurationsV2: 50,5,25,8,115,2,3,7,8,15,2,7,23,10,3,6\n\n");
|
||||
verify(mLatencyTracker, times(1)).pushAtom();
|
||||
}
|
||||
|
||||
|
||||
1
core/tests/coretests/src/android/internal/os/anr/OWNERS
Normal file
1
core/tests/coretests/src/android/internal/os/anr/OWNERS
Normal file
@@ -0,0 +1 @@
|
||||
include /core/java/com/android/internal/os/anr/OWNERS
|
||||
Reference in New Issue
Block a user