Create new trace object when logging from new thread
Create new BootTimingsTraceLog object for logging when starting HIDL
services from different thread, in order to avoid exception.
Bug: 64111691
Test: Manual - device boots, metrics are logged to system/event log
Change-Id: I05834b7fe8078fbf772f9b29f0dd3aa4288f8f23
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 3c1262f..221b9b4 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -828,9 +828,11 @@
// because it need to connect to SensorManager. This have to start
// after START_SENSOR_SERVICE is done.
SystemServerInitThreadPool.get().submit(() -> {
- traceBeginAndSlog(START_HIDL_SERVICES);
+ TimingsTraceLog traceLog = new TimingsTraceLog(
+ SYSTEM_SERVER_TIMING_ASYNC_TAG, Trace.TRACE_TAG_SYSTEM_SERVER);
+ traceLog.traceBegin(START_HIDL_SERVICES);
startHidlServices();
- traceEnd();
+ traceLog.traceEnd();
}, START_HIDL_SERVICES);
if (!disableVrManager) {