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

Commit 0fe82866 authored by Pablo Gamito's avatar Pablo Gamito
Browse files

Add support for customizing the ProtoLogDataSource name for testing

In testing environments we want to be able to test the trace without existing always on or automatically enabled tracing interfering with the test. This allows us to make sure the testing tracing happens in a unique independent datasource.

Flag: TEST_ONLY
Test: atest InternalTests:com.android.internal.protolog.PerfettoProtoLogImplTest
Change-Id: Ieb380dc9756792436beb3ff3d13ada23acf8cdd7
parent 6c829c74
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.tracing.perfetto.StopCallbackArguments;
import android.util.proto.ProtoInputStream;
import android.util.proto.WireTypeMismatchException;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.protolog.common.LogLevel;

import java.io.IOException;
@@ -48,6 +49,7 @@ import java.util.Set;
public class ProtoLogDataSource extends DataSource<ProtoLogDataSource.Instance,
        ProtoLogDataSource.TlsState,
        ProtoLogDataSource.IncrementalState> {
    private static final String DATASOURCE_NAME = "android.protolog";

    private final Instance.TracingInstanceStartCallback mOnStart;
    private final Runnable mOnFlush;
@@ -55,7 +57,13 @@ public class ProtoLogDataSource extends DataSource<ProtoLogDataSource.Instance,

    public ProtoLogDataSource(Instance.TracingInstanceStartCallback onStart, Runnable onFlush,
            Instance.TracingInstanceStopCallback onStop) {
        super("android.protolog");
        this(onStart, onFlush, onStop, DATASOURCE_NAME);
    }

    @VisibleForTesting
    public ProtoLogDataSource(Instance.TracingInstanceStartCallback onStart, Runnable onFlush,
            Instance.TracingInstanceStopCallback onStop, String dataSourceName) {
        super(dataSourceName);
        this.mOnStart = onStart;
        this.mOnFlush = onFlush;
        this.mOnStop = onStop;