aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-05-10 07:23:24 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-05-10 07:23:24 +0000
commitf9c212582b744ae6322e09d3d37d54f86750ced0 (patch)
tree523b08ce7b8e8ac9b3a789a00e830a2d792da4b5
parentbd74f6f903cf2d15cac623ac44d57f0eb8ba33cb (diff)
parent87e30e38f9a341ef358c93e3336d2e4ae64fa6e4 (diff)
downloadtrebuchet-android13-mainline-conscrypt-release.tar.gz
Snap for 8564071 from 87e30e38f9a341ef358c93e3336d2e4ae64fa6e4 to mainline-conscrypt-releaseaml_con_331413000aml_con_331411000aml_con_331312000aml_con_331115000aml_con_331011010android13-mainline-conscrypt-release
Change-Id: Ib83d14a7501bbc4e983be65d8439b54e6ebe7d30
-rw-r--r--build.gradle2
-rw-r--r--core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt2
-rw-r--r--core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt2
-rw-r--r--core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt26
-rw-r--r--gradle/wrapper/gradle-wrapper.properties2
-rw-r--r--trebuchet/startup-common/src/StartupCommon.kt4
6 files changed, 32 insertions, 6 deletions
diff --git a/build.gradle b/build.gradle
index b9666b2..48d6f68 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,7 +15,7 @@
*/
buildscript {
- ext.kotlin_version = "1.3.21"
+ ext.kotlin_version = "1.5.10"
repositories {
mavenCentral()
diff --git a/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt b/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt
index ee207e2..7e9d141 100644
--- a/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt
+++ b/core/common/src/main/kotlin/trebuchet/importers/ftrace/events/EventParserState.kt
@@ -26,7 +26,7 @@ import trebuchet.util.StringCache
import java.util.regex.Matcher
import java.util.regex.Pattern
-const val FtraceLineRE = """^ *(.{1,16})-(\d+) +(?:\( *(\d+)?-*\) )?\[(\d+)] (?:[dX.]...)? *([\d.]*): *([^:]*): *(.*) *$"""
+const val FtraceLineRE = """^ *(.{1,16})-(\d+) +(?:\( *(\d+)?-*\) )?\[(\d+)] (?:[dX.][^\s]+)? *([\d.]*): *([^:]*): *(.*) *$"""
interface FtraceEventDetails {
fun import(event: FtraceEvent, state: FtraceImporterState)
diff --git a/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt b/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt
index 79a9183..00f9953 100644
--- a/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt
+++ b/core/common/src/main/kotlin/trebuchet/queries/SliceQueries.kt
@@ -113,7 +113,7 @@ fun ThreadModel.selectAll(predicate: (Slice) -> Boolean): List<Slice> {
* @param predicate The predicate used to test slices
*/
fun Model.selectFirst(predicate: (Slice) -> Boolean) : Slice? {
- return this.processes.values.mapNotNull { it.selectFirst(predicate) }.minBy { it.startTime }
+ return this.processes.values.mapNotNull { it.selectFirst(predicate) }.minByOrNull { it.startTime }
}
diff --git a/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt b/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
index d0cc7ea..fd616ef 100644
--- a/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
+++ b/core/common/src/test/kotlin/trebuchet/importers/ftrace/FtraceImporterTest.kt
@@ -148,6 +148,32 @@ class FtraceImporterTest {
}
+ @Test fun testKernel515Changes() {
+ val trace = """ # tracer: nop
+ > # ||| / _-=> migrate-disable
+ > # |||| / delay
+ > # TASK-PID TGID CPU# ||||| TIMESTAMP FUNCTION
+ > # | | | | ||||| | |
+ > atrace-6950 ( 6950) [001] ..... 7048.491867: tracing_mark_write: trace_event_clock_sync: parent_ts=7048.491699
+ > atrace-6950 ( 6950) [001] ..... 7048.491873: tracing_mark_write: trace_event_clock_sync: realtime_ts=1648582795693
+ > roidJUnitRunner-6981 ( 6966) [000] ..... 7048.755913: tracing_mark_write: S|6966|AtraceDeviceTest::asyncBeginEndSection|42
+ > roidJUnitRunner-6981 ( 6966) [000] ..... 7048.755920: tracing_mark_write: F|6966|AtraceDeviceTest::asyncBeginEndSection|42
+ > roidJUnitRunner-6981 ( 6966) [000] ..... 7048.755924: tracing_mark_write: S|6966|ndk::asyncBeginEndSection|4770
+ > roidJUnitRunner-6981 ( 6966) [000] ..... 7048.755926: tracing_mark_write: F|6966|ndk::asyncBeginEndSection|4770
+ """.trimMargin(">")
+
+ val importer = FtraceImporter(FatalImportFeedback)
+ val modelFragment = importer.import(trace.makeReader())
+ assertNotNull(modelFragment)
+ val model = Model(modelFragment!!)
+ assertNotNull(model)
+ val p = model.processes[6966].also {
+ assertNotNull(it)
+ }!!
+ assertEquals(6966, p.id)
+ assertEquals(1, p.threads.size)
+ }
+
fun parse(vararg lines: String): Model {
val traceData = withHeader(*lines)
val importer = FtraceImporter(FatalImportFeedback)
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f860796..534d351 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-all.zip
diff --git a/trebuchet/startup-common/src/StartupCommon.kt b/trebuchet/startup-common/src/StartupCommon.kt
index 75ed400..2cf4793 100644
--- a/trebuchet/startup-common/src/StartupCommon.kt
+++ b/trebuchet/startup-common/src/StartupCommon.kt
@@ -115,7 +115,7 @@ fun Model.findProcess(queryName: String,
map { it.slices }.
filter { it.isNotEmpty() }.
map { it.first().startTime }.
- min() ?: throw MissingProcessInfoException(process.id)
+ minOrNull() ?: throw MissingProcessInfoException(process.id)
if (firstSliceStart in lowerBound..upperBound) {
return process
@@ -142,7 +142,7 @@ fun Model.getStartupEvents() : List<StartupEvent> {
val newProc = this.findProcess(newProcName, systemServerSlice.startTime, systemServerSlice.endTime)
val startProcSlice = systemServerProc.findFirstSlice(SLICE_NAME_PROC_START, newProcName, systemServerSlice.startTime, systemServerSlice.endTime)
val rfdSlice = systemServerProc.findFirstSliceOrNull(SLICE_NAME_REPORT_FULLY_DRAWN, newProcName, systemServerSlice.startTime)
- val firstSliceTime = newProc.threads.map { it.slices.firstOrNull()?.startTime ?: Double.POSITIVE_INFINITY }.min()!!
+ val firstSliceTime = newProc.threads.map { it.slices.firstOrNull()?.startTime ?: Double.POSITIVE_INFINITY }.minOrNull()!!
val schedSliceInfo : MutableMap<SchedulingState, Double> = mutableMapOf()
newProc.threads.first().schedSlices.forEach schedLoop@ { schedSlice ->