DebugTraceUtil


@UnstableApi
public final class DebugTraceUtil


A debugging tracing utility. Debug logging is disabled at compile time by default.

Summary

Nested types

@Retention(value = RetentionPolicy.SOURCE)
@StringDef(value = )
@Documented
@Target(value = TYPE_USE)
public annotation DebugTraceUtil.DebugTraceEvent

Events logged by logEvent.

Constants

static final String
EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS = "BitmapTextureManager-SignalEOS"
static final String
EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED = "COMP-OutputTextureRendered"
static final String
EVENT_DECODER_DECODED_FRAME = "Decoder-DecodedFrame"
static final String
EVENT_DECODER_RECEIVE_EOS = "Decoder-ReceiveEOS"
static final String
EVENT_DECODER_SIGNAL_EOS = "Decoder-SignalEOS"
static final String
EVENT_ENCODER_ENCODED_FRAME = "Encoder-EncodedFrame"
static final String
EVENT_ENCODER_RECEIVE_EOS = "Encoder-ReceiveEOS"
static final String
EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS = "ExternalTextureManager-SignalEOS"
static final String
EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO = "Muxer-CanWriteSample_Audio"
static final String
EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO = "Muxer-CanWriteSample_Video"
static final String
EVENT_MUXER_TRACK_ENDED_AUDIO = "Muxer-TrackEnded_Audio"
static final String
EVENT_MUXER_TRACK_ENDED_VIDEO = "Muxer-TrackEnded_Video"
static final String
EVENT_MUXER_WRITE_SAMPLE_AUDIO = "Muxer-WriteSample_Audio"
static final String
EVENT_MUXER_WRITE_SAMPLE_VIDEO = "Muxer-WriteSample_Video"
static final String
EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS = "TexIdTextureManager-SignalEOS"
static final String
EVENT_VFP_FINISH_PROCESSING_INPUT_STREAM = "VFP-FinishOneInputStream"
static final String
EVENT_VFP_OUTPUT_TEXTURE_RENDERED = "VFP-OutputTextureRendered"
static final String
EVENT_VFP_QUEUE_BITMAP = "VFP-QueueBitmap"
static final String
EVENT_VFP_QUEUE_FRAME = "VFP-QueueFrame"
static final String
EVENT_VFP_QUEUE_TEXTURE = "VFP-QueueTexture"
static final String
EVENT_VFP_RECEIVE_END_OF_INPUT = "VFP-ReceiveEndOfAllInput"
static final String
EVENT_VFP_REGISTER_NEW_INPUT_STREAM = "VFP-RegisterNewInputStream"
static final String
EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE = "VFP-RenderedToOutputSurface"
static final String
EVENT_VFP_SIGNAL_ENDED = "VFP-SignalEnded"
static final String
EVENT_VFP_SURFACE_TEXTURE_INPUT = "VFP-SurfaceTextureInput"
static final String
EVENT_VIDEO_INPUT_FORMAT = "VideoInputFormat"

Public fields

static boolean

Whether to store tracing events for debug logging.

Public constructors

Public methods

synchronized static void
dumpTsv(Writer writer)

Dumps all the logged events to a tsv file.

synchronized static String

Generate a summary of the logged events, containing the total number of times an event happened and the detailed log of a window of the oldest and newest events.

synchronized static void
logEvent(
    @DebugTraceUtil.DebugTraceEvent @DebugTraceUtil.DebugTraceEvent String eventName,
    long presentationTimeUs
)

Logs a new event, if debug logging is enabled.

synchronized static void
logEvent(
    @DebugTraceUtil.DebugTraceEvent @DebugTraceUtil.DebugTraceEvent String eventName,
    long presentationTimeUs,
    @Nullable String extraFormat,
    Object[] extraArgs
)

Logs a new event, if debug logging is enabled.

synchronized static void

Constants

EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS

public static final String EVENT_BITMAP_TEXTURE_MANAGER_SIGNAL_EOS = "BitmapTextureManager-SignalEOS"

EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED

public static final String EVENT_COMPOSITOR_OUTPUT_TEXTURE_RENDERED = "COMP-OutputTextureRendered"

EVENT_DECODER_DECODED_FRAME

public static final String EVENT_DECODER_DECODED_FRAME = "Decoder-DecodedFrame"

EVENT_DECODER_RECEIVE_EOS

public static final String EVENT_DECODER_RECEIVE_EOS = "Decoder-ReceiveEOS"

EVENT_DECODER_SIGNAL_EOS

public static final String EVENT_DECODER_SIGNAL_EOS = "Decoder-SignalEOS"

EVENT_ENCODER_ENCODED_FRAME

public static final String EVENT_ENCODER_ENCODED_FRAME = "Encoder-EncodedFrame"

EVENT_ENCODER_RECEIVE_EOS

public static final String EVENT_ENCODER_RECEIVE_EOS = "Encoder-ReceiveEOS"

EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS

public static final String EVENT_EXTERNAL_TEXTURE_MANAGER_SIGNAL_EOS = "ExternalTextureManager-SignalEOS"

EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO

public static final String EVENT_MUXER_CAN_WRITE_SAMPLE_AUDIO = "Muxer-CanWriteSample_Audio"

EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO

public static final String EVENT_MUXER_CAN_WRITE_SAMPLE_VIDEO = "Muxer-CanWriteSample_Video"

EVENT_MUXER_TRACK_ENDED_AUDIO

public static final String EVENT_MUXER_TRACK_ENDED_AUDIO = "Muxer-TrackEnded_Audio"

EVENT_MUXER_TRACK_ENDED_VIDEO

public static final String EVENT_MUXER_TRACK_ENDED_VIDEO = "Muxer-TrackEnded_Video"

EVENT_MUXER_WRITE_SAMPLE_AUDIO

public static final String EVENT_MUXER_WRITE_SAMPLE_AUDIO = "Muxer-WriteSample_Audio"

EVENT_MUXER_WRITE_SAMPLE_VIDEO

public static final String EVENT_MUXER_WRITE_SAMPLE_VIDEO = "Muxer-WriteSample_Video"

EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS

public static final String EVENT_TEX_ID_TEXTURE_MANAGER_SIGNAL_EOS = "TexIdTextureManager-SignalEOS"

EVENT_VFP_FINISH_PROCESSING_INPUT_STREAM

public static final String EVENT_VFP_FINISH_PROCESSING_INPUT_STREAM = "VFP-FinishOneInputStream"

EVENT_VFP_OUTPUT_TEXTURE_RENDERED

public static final String EVENT_VFP_OUTPUT_TEXTURE_RENDERED = "VFP-OutputTextureRendered"

EVENT_VFP_QUEUE_BITMAP

public static final String EVENT_VFP_QUEUE_BITMAP = "VFP-QueueBitmap"

EVENT_VFP_QUEUE_FRAME

public static final String EVENT_VFP_QUEUE_FRAME = "VFP-QueueFrame"

EVENT_VFP_QUEUE_TEXTURE

public static final String EVENT_VFP_QUEUE_TEXTURE = "VFP-QueueTexture"

EVENT_VFP_RECEIVE_END_OF_INPUT

public static final String EVENT_VFP_RECEIVE_END_OF_INPUT = "VFP-ReceiveEndOfAllInput"

EVENT_VFP_REGISTER_NEW_INPUT_STREAM

public static final String EVENT_VFP_REGISTER_NEW_INPUT_STREAM = "VFP-RegisterNewInputStream"

EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE

public static final String EVENT_VFP_RENDERED_TO_OUTPUT_SURFACE = "VFP-RenderedToOutputSurface"

EVENT_VFP_SIGNAL_ENDED

public static final String EVENT_VFP_SIGNAL_ENDED = "VFP-SignalEnded"

EVENT_VFP_SURFACE_TEXTURE_INPUT

public static final String EVENT_VFP_SURFACE_TEXTURE_INPUT = "VFP-SurfaceTextureInput"

EVENT_VIDEO_INPUT_FORMAT

public static final String EVENT_VIDEO_INPUT_FORMAT = "VideoInputFormat"

Public fields

enableTracing

public static boolean enableTracing

Whether to store tracing events for debug logging. Should be set to true for testing and debugging purposes only, before running transformer.

Public constructors

DebugTraceUtil

public DebugTraceUtil()

Public methods

dumpTsv

synchronized public static void dumpTsv(Writer writer)

Dumps all the logged events to a tsv file.

generateTraceSummary

synchronized public static String generateTraceSummary()

Generate a summary of the logged events, containing the total number of times an event happened and the detailed log of a window of the oldest and newest events.

logEvent

synchronized public static void logEvent(
    @DebugTraceUtil.DebugTraceEvent @DebugTraceUtil.DebugTraceEvent String eventName,
    long presentationTimeUs
)

Logs a new event, if debug logging is enabled.

Parameters
@DebugTraceUtil.DebugTraceEvent @DebugTraceUtil.DebugTraceEvent String eventName

The event name to log.

long presentationTimeUs

The current presentation time of the media. Use TIME_UNSET if unknown, TIME_END_OF_SOURCE if EOS.

logEvent

synchronized public static void logEvent(
    @DebugTraceUtil.DebugTraceEvent @DebugTraceUtil.DebugTraceEvent String eventName,
    long presentationTimeUs,
    @Nullable String extraFormat,
    Object[] extraArgs
)

Logs a new event, if debug logging is enabled.

Parameters
@DebugTraceUtil.DebugTraceEvent @DebugTraceUtil.DebugTraceEvent String eventName

The event name to log.

long presentationTimeUs

The current presentation time of the media. Use TIME_UNSET if unknown, TIME_END_OF_SOURCE if EOS.

@Nullable String extraFormat

Format string for optional extra information. See formatInvariant.

Object[] extraArgs

Arguments for optional extra information.

reset

synchronized public static void reset()