Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eec4fd6a authored by Pablo Gamito's avatar Pablo Gamito Committed by Android (Google) Code Review
Browse files

Merge "Move proto logging to thread pool" into main

parents f83c015f d45f744e
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -70,6 +70,8 @@ import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;

import perfetto.protos.PerfettoTrace.ProtoLogViewerConfig.MessageData;
@@ -90,6 +92,8 @@ public class PerfettoProtoLogImpl implements IProtoLog {
    private final ViewerConfigInputStreamProvider mViewerConfigInputStreamProvider;
    private final TreeMap<String, IProtoLogGroup> mLogGroups;

    private final ExecutorService mBackgroundLoggingService = Executors.newCachedThreadPool();

    public PerfettoProtoLogImpl(String viewerConfigFilePath,
            TreeMap<String, IProtoLogGroup> logGroups) {
        this(() -> {
@@ -134,7 +138,8 @@ public class PerfettoProtoLogImpl implements IProtoLog {

        long tsNanos = SystemClock.elapsedRealtimeNanos();
        try {
            logToProto(level, group.name(), messageHash, paramsMask, args, tsNanos);
            mBackgroundLoggingService.submit(() ->
                    logToProto(level, group.name(), messageHash, paramsMask, args, tsNanos));
            if (group.isLogToLogcat()) {
                logToLogcat(group.getTag(), level, messageHash, messageString, args);
            }