{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

Tracing

class Tracing


Tracing is a singleton to interact with registered Tracer implementations.

Support for actual tracing libraries is done by implementing wrappers following the Tracer interface. The actual Tracer implementations must be registered using registerTracer.

The Tracing singleton is also an entry point used to create the root span for any tests by invoking the beginSpan method. The returned Span object must be properly closed by invoking the Span#close() method or wrapping them in a try-resource block.

Summary

Public constructors

Public functions

Tracer.Span!
beginSpan(name: String!)

Returns a new Span as a managed resource in a try{} block.

java-static Tracing!

Static getter for external access to the singleton.

Unit

Registers a new tracer.

Unit

Unregisters a tracer.

Public constructors

Tracing

Tracing()

Public functions

beginSpan

fun beginSpan(name: String!): Tracer.Span!

Returns a new Span as a managed resource in a try{} block. Span#close() is automatically called when the resource is released.

Parameters
name: String!

A non-null name describing this span.

getInstance

java-static fun getInstance(): Tracing!

Static getter for external access to the singleton. Preferred method for internal Espresso is getting this singleton via dagger injection.

registerTracer

fun registerTracer(tracer: Tracer!): Unit

Registers a new tracer.

Once a tracer is registered, it starts being invoked for new root beginSpan calls. Existing in-flight spans do not invoke the new tracer.

Parameters
tracer: Tracer!

A non-null Tracer object. A previously registered instance is ignored.

unregisterTracer

fun unregisterTracer(tracer: Tracer!): Unit

Unregisters a tracer.

Once a tracer is unregistered, it will stop being invoked for any new root beginSpan calls made or any new Span#beginChildSpan(String). However the tracer is still be called for any in-flight spans being closed.

Parameters
tracer: Tracer!

A Tracer object. A null reference or non-registered instance is ignored.